Hi, Serban,
I would like to know how the hysteresis loops in Figure 6 of your paper titled "Micromagnetic Monte Carlo method with variable magnetization length based on the Landau–Lifshitz–Bloch equation for computation of large-scale thermodynamic equilibrium states " were generated. I mean, I have tried using the micromagnetic parameters mentioned in your paper, but I haven't been able to achieve such a well-defined curve. Could you briefly explain the code or steps required to reproduce that figure?
Thank you in advance for your help!

First, I think i shold create a maze domain at 0 field, here's my code:
FM = ns.Material('Co/Pt', [100e-9, 100e-9, 1e-9], [2e-9, 2e-9, 1e-9])
FM.modules(['Zeeman', 'demag', 'iDMexchange', 'aniuni'])
deg_ip = 89
deg_op = 1
FM.setangle(deg_op, 0)
FM.param.Ms = 6e5
FM.param.K1 = 3e5
FM.param.D = 2e-3
FM.param.A = 10e-12
FM.param.ea1 = (0, 0, 1)
FM.temperature(300)
FM.curietemperature(600)
FM.pbc('x', 10)
FM.pbc('y', 10)
ns.setsavedata('OP_hys.txt',['Ha', FM],['<M>', FM])
for data in ['Ha', '<M>']:
FM.addpinneddata(data)
ns.setode('LLGStatic', 'SDesc')
ns.cuda(1)
ns.skyrmion(FM, 1, 1, 100e-9, [50e-9, 50e-9])
ns.Relax(['mxh', 1e-6, 'none'])
Then, sweep field from 0 to max:
ns.setode('LLG', 'RKF45')
ns.Hpolar_seq([FM, [0, deg_op, 0, 1e6, deg_op, 0, 20], 'dmdt', 1e-5, 'time', 100e-12])
Best regards,
Zhiyu