@@ -17,7 +17,7 @@ def __init__(self, mesh, name='unnamed'):
1717 self .n_nonzero = self .n
1818
1919
20- self .ngs = mesh .neighbours
20+ self .ngbs = mesh .neighbours
2121
2222 self ._mu_s = np .zeros (self .n , dtype = np .float )
2323 self .spin = np .ones (3 * self .n , dtype = np .float )
@@ -51,12 +51,19 @@ def set_options(self, J=50.0, D=0, H=None, seed=100, T=10.0):
5151
5252 def create_tablewriter (self ):
5353
54- self .saver = DataSaver (self , self .name + '.txt' )
54+ entities = {
55+ 'step' : {'unit' : '<>' ,
56+ 'get' : lambda sim : sim .step ,
57+ 'header' : 'step' },
58+ 'm' : {'unit' : '<>' ,
59+ 'get' : lambda sim : sim .compute_average (),
60+ 'header' : ('m_x' , 'm_y' , 'm_z' )},
61+ 'skx_num' :{'unit' : '<>' ,
62+ 'get' : lambda sim : sim .skyrmion_number (),
63+ 'header' : 'skx_num' }
64+ }
5565
56- self .saver .entities ['skx_num' ] = {
57- 'unit' : '<>' ,
58- 'get' : lambda sim : sim .skyrmion_number (),
59- 'header' : 'skx_num' }
66+ self .saver = DataSaver (self , self .name + '.txt' , entities = entities )
6067
6168 self .saver .update_entity_order ()
6269
@@ -130,7 +137,8 @@ def run(self, steps=1000, save_m_steps=100, save_vtk_steps=100):
130137
131138 for step in range (1 , steps + 1 ):
132139 self .step = step
133-
140+ clib .run_mc_step (self .spin , self .random_spin , self .ngbs ,
141+ self .J , self .D , self ._H , self .n , self .T )
134142
135143 self .saver .save ()
136144
@@ -141,7 +149,7 @@ def run(self, steps=1000, save_m_steps=100, save_vtk_steps=100):
141149 if step % save_m_steps == 0 :
142150 self .save_m ()
143151
144- print (step )
152+ print (" step=%d, skyrmion number=%0.4g" % ( self . step , self . skyrmion_number ()) )
145153
146154
147155
0 commit comments