Skip to content

Commit

Permalink
Merge pull request #4864 from camelto2/fix_spin_mass
Browse files Browse the repository at this point in the history
nxs: fix nexus spin mass for batched drivers
  • Loading branch information
prckent committed Dec 8, 2023
2 parents 25ea06c + c867de5 commit 7cf0aa9
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 26 deletions.
52 changes: 26 additions & 26 deletions nexus/lib/qmcpack_input.py
Original file line number Diff line number Diff line change
Expand Up @@ -2502,7 +2502,7 @@ class linear(QIxml):
'tries','min_walkers','samplesperthread',
'shift_i','shift_s','max_relative_change','max_param_change',
'chase_lowest','chase_closest','block_lm','nblocks','nolds',
'nkept','max_seconds', 'spinmass'
'nkept','max_seconds', 'spin_mass'
]
costs = ['energy','unreweightedvariance','reweightedvariance','variance','difference']
write_types = obj(gpu=yesno,usedrift=yesno,nonlocalpp=yesno,usebuffer=yesno,use_nonlocalpp_deriv=yesno,chase_lowest=yesno,chase_closest=yesno,block_lm=yesno)
Expand Down Expand Up @@ -2536,7 +2536,7 @@ class vmc(QIxml):
'blocks','steps','substeps','timestep','maxcpusecs','rewind',
'storeconfigs','checkproperties','recordconfigs','current',
'stepsbetweensamples','samplesperthread','samples','usedrift',
'spinmass',
'spin_mass',
'walkers','nonlocalpp','tau','walkersperthread','reconfiguration', # legacy - batched
'dmcwalkersperthread','current','ratio','firststep',
'minimumtargetwalkers','max_seconds']
Expand All @@ -2559,7 +2559,7 @@ class dmc(QIxml):
'stepsbetweensamples','samplesperthread','samples','reconfiguration',
'nonlocalmoves','maxage','alpha','gamma','reserve','use_nonblocking',
'branching_cutoff_scheme','feedback','sigmabound',
'spinmass',
'spin_mass',
'walkers','nonlocalmove','pop_control','targetwalkers', # legacy - batched
'minimumtargetwalkers','energybound','feedback','recordwalkers',
'fastgrad','popcontrol','branchinterval','usedrift','storeconfigs',
Expand Down Expand Up @@ -2814,7 +2814,7 @@ class gen(QIxml):
l2_diffusion = 'L2_diffusion',
maxage = 'MaxAge',
sigmabound = 'sigmaBound',
spinmass = 'spinMass',
spin_mass = 'spin_mass',
)
# afqmc names
Names.set_afqmc_expanded_names(
Expand Down Expand Up @@ -6399,7 +6399,7 @@ def generate_opts(opt_reqs,**kwargs):
timestep = 0.3,
usedrift = False,
max_seconds = None,
spinmass = None,
spin_mass = None,
)

linear_quartic_legacy_defaults = obj(
Expand Down Expand Up @@ -6456,7 +6456,7 @@ def generate_opts(opt_reqs,**kwargs):
checkpoint = -1,
usedrift = None,
max_seconds = None,
spinmass = None,
spin_mass = None,
)
vmc_test_legacy_defaults = obj(
warmupsteps = 10,
Expand Down Expand Up @@ -6485,7 +6485,7 @@ def generate_opts(opt_reqs,**kwargs):
vmc_timestep = 0.3,
vmc_usedrift = None,
vmc_checkpoint = -1,
vmc_spinmass = None,
vmc_spin_mass = None,
eq_dmc = False,
eq_warmupsteps = 20,
eq_blocks = 20,
Expand All @@ -6500,7 +6500,7 @@ def generate_opts(opt_reqs,**kwargs):
feedback = None,
sigmabound = None,
max_seconds = None,
spinmass = None,
spin_mass = None,
)
dmc_test_legacy_defaults = obj(
vmc_warmupsteps = 10,
Expand Down Expand Up @@ -6544,7 +6544,7 @@ def generate_opts(opt_reqs,**kwargs):
substeps = 10,
timestep = 0.3,
usedrift = False,
spinmass = None,
spin_mass = None,
)

linear_quartic_batched_defaults = obj(
Expand Down Expand Up @@ -6603,7 +6603,7 @@ def generate_opts(opt_reqs,**kwargs):
checkpoint = None,
maxcpusecs = None,
crowds = None,
spinmass = None,
spin_mass = None,
)
vmc_test_batched_defaults = obj(
warmupsteps = 10,
Expand Down Expand Up @@ -6632,7 +6632,7 @@ def generate_opts(opt_reqs,**kwargs):
vmc_timestep = 0.3,
vmc_usedrift = False,
vmc_checkpoint = None,
vmc_spinmass = None,
vmc_spin_mass = None,
eq_dmc = False,
eq_warmupsteps = 20,
eq_blocks = 20,
Expand All @@ -6649,7 +6649,7 @@ def generate_opts(opt_reqs,**kwargs):
maxage = None,
feedback = None,
sigmabound = None,
spinmass = None,
spin_mass = None,
)
dmc_test_batched_defaults = obj(
vmc_warmupsteps = 10,
Expand Down Expand Up @@ -6852,7 +6852,7 @@ def generate_legacy_vmc_calculations(
checkpoint ,
usedrift ,
max_seconds,
spinmass,
spin_mass,
loc = 'generate_vmc_calculations',
):

Expand All @@ -6872,8 +6872,8 @@ def generate_legacy_vmc_calculations(
if max_seconds is not None:
vmc_calc.max_seconds = max_seconds
#end if
if spinmass is not None:
vmc_calc.spinmass = spinmass
if spin_mass is not None:
vmc_calc.spin_mass = spin_mass
#end if

vmc_calcs = [vmc_calc]
Expand All @@ -6899,7 +6899,7 @@ def generate_legacy_dmc_calculations(
vmc_timestep ,
vmc_usedrift ,
vmc_checkpoint ,
vmc_spinmass ,
vmc_spin_mass ,
eq_dmc ,
eq_warmupsteps ,
eq_blocks ,
Expand All @@ -6914,7 +6914,7 @@ def generate_legacy_dmc_calculations(
feedback ,
sigmabound ,
max_seconds ,
spinmass ,
spin_mass ,
loc = 'generate_dmc_calculations',
):

Expand Down Expand Up @@ -6945,8 +6945,8 @@ def generate_legacy_dmc_calculations(
if max_seconds is not None:
vmc_calc.max_seconds = max_seconds
#end if
if vmc_spinmass is not None:
vmc_calc.spinmass = vmc_spinmass
if vmc_spin_mass is not None:
vmc_calc.spin_mass = vmc_spin_mass
#end if

dmc_calcs = [vmc_calc]
Expand Down Expand Up @@ -6983,7 +6983,7 @@ def generate_legacy_dmc_calculations(
feedback = feedback ,
sigmabound = sigmabound,
max_seconds = max_seconds,
spinmass = spinmass,
spin_mass = spin_mass,
)
for calc in dmc_calcs:
if isinstance(calc,dmc):
Expand Down Expand Up @@ -7099,7 +7099,7 @@ def generate_batched_vmc_calculations(
checkpoint ,
maxcpusecs ,
crowds ,
spinmass ,
spin_mass ,
loc = 'generate_vmc_calculations',
):

Expand All @@ -7121,7 +7121,7 @@ def generate_batched_vmc_calculations(
#checkpoint = checkpoint, # no checkpointing support yet
maxcpusecs = maxcpusecs,
crowds = crowds,
spinmass = spinmass,
spin_mass = spin_mass,
)
for name,value in optional_vmc_inputs.items():
if value is not None:
Expand Down Expand Up @@ -7152,7 +7152,7 @@ def generate_batched_dmc_calculations(
vmc_timestep ,
vmc_usedrift ,
vmc_checkpoint ,
vmc_spinmass ,
vmc_spin_mass ,
eq_dmc ,
eq_warmupsteps ,
eq_blocks ,
Expand All @@ -7169,7 +7169,7 @@ def generate_batched_dmc_calculations(
maxage ,
feedback ,
sigmabound ,
spinmass ,
spin_mass ,
loc = 'generate_dmc_calculations',
):

Expand All @@ -7191,7 +7191,7 @@ def generate_batched_dmc_calculations(
total_walkers = total_walkers,
walkers_per_rank = walkers_per_rank,
crowds = crowds,
spinmass = vmc_spinmass,
spin_mass = vmc_spin_mass,
#checkpoint = vmc_checkpoint, # not supported yet
)
for name,value in optional_vmc_inputs.items():
Expand Down Expand Up @@ -7241,7 +7241,7 @@ def generate_batched_dmc_calculations(
maxage = maxage,
feedback = feedback,
sigmabound = sigmabound,
spinmass = spinmass,
spin_mass = spin_mass,
)
for calc in dmc_calcs:
if isinstance(calc,dmc):
Expand Down
1 change: 1 addition & 0 deletions src/QMCDrivers/QMCDriver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ QMCDriver::QMCDriver(const ProjectData& project_data,

SpinMass = 1.0;
m_param.add(SpinMass, "SpinMass");
m_param.add(SpinMass, "spin_mass");

Tau = 0.1;
//m_param.add(Tau,"timeStep");
Expand Down

0 comments on commit 7cf0aa9

Please sign in to comment.