@@ -33,6 +33,7 @@ def __init__(self, mesh, name='unnamed'):
3333 self .vtk = SaveVTK (self .mesh , name = name )
3434
3535 self .step = 0
36+ self .skx_num = 0
3637 self .set_options ()
3738
3839 def set_options (self , J = 50.0 , D = 0 , H = None , seed = 100 , T = 10.0 ):
@@ -104,6 +105,7 @@ def skyrmion_number(self):
104105 nz = self .mesh .nz
105106 number = clib .compute_skyrmion_number (
106107 self .spin , self ._skx_number , nx , ny , nz , self .mesh .neighbours )
108+ self .skx_num = number
107109 return number
108110
109111
@@ -127,7 +129,7 @@ def save_m(self):
127129 np .save (name , self .spin )
128130
129131
130- def run (self , steps = 1000 , save_m_steps = 100 , save_vtk_steps = 100 ):
132+ def run (self , steps = 1000 , save_m_steps = 100 , save_vtk_steps = 100 , save_data_steps = 1 ):
131133
132134 if save_m_steps is not None :
133135 self .save_m ()
@@ -139,8 +141,9 @@ def run(self, steps=1000, save_m_steps=100, save_vtk_steps=100):
139141 self .step = step
140142 clib .run_mc_step (self .spin , self .random_spin , self .ngbs ,
141143 self .J , self .D , self ._H , self .n , self .T )
142-
143- self .saver .save ()
144+ if save_data_steps is not None :
145+ if step % save_data_steps == 0 :
146+ self .saver .save ()
144147
145148 if save_vtk_steps is not None :
146149 if step % save_vtk_steps == 0 :
@@ -149,7 +152,7 @@ def run(self, steps=1000, save_m_steps=100, save_vtk_steps=100):
149152 if step % save_m_steps == 0 :
150153 self .save_m ()
151154
152- print ("step=%d, skyrmion number=%0.4g " % (self .step , self .skyrmion_number () ))
155+ print ("step=%d, skyrmion number=%0.9g " % (self .step , self .skx_num ))
153156
154157
155158
0 commit comments