Driver SCFTCL¶
Arguments:
type (string) - Type of simulation to perform. Here “SCFT” or “ComplexLangevin”.
dt (float) - Timestep used for field relaxations relaxation
nsteps (int) - Number of steps to run for
output_freq (int) - Frequency of outputs to stdout and to scalar files
output_fields_freq (int) - Frequency of outputs of field files (Default: equal to output_freq). Note that writing field files is fairly slow, so less frequent field output will result in better performance.
block_size (int) - How many timesteps are averaged into a block. See Block Averaging section in Operators documentation.
stop_tolerance (float) - Error tolerance for SCFT convergence. Run stops when this error is reached (assuming other stopping criteria are met).
field_updater (string) - Algorithm used to update fields. See Field Updaters.
variable_cell (json object) - Optional argument. If defined, then perform variable cell calculation. See Variable Cell Formalism. Requires the following arguments:
lambda (float) - Lambda relaxation coefficient for cell \(\lambda_h\).
stop_tolerance (float) - Error tolerance for cell shape convergence. Run stops when this error is reached (if all other stopping criteria are met).
update_freq (int) - Frequency to perform cell updates. Cell is updated every update_freq steps.
shape_constraint (string) - Constraints to apply to the cell shape evolution. Options:
none - no constraints are placed on cell shape evolution
orthogonal - only the diagonal of the cell shape tensor is updated. This can be used to force a simulation cell to remain orthogonal during a simulation.
resume (bool) - Whether to resume run from existing operator/field files in the current directory. Useful for restarting/continuing simulations. Default: False.
Example (python)
# for SCFT with variable cell
fts.driver(dt=5.0,nsteps=5000,output_freq=100,stop_tolerance=1e-05,type='SCFT')
fts.variable_cell(lambda_=0.1,stop_tolerance=1e-4,update_freq=10,shape_constraint='none')
fts.field_updater( ... see Field Updaters ... )
# for Complex Langevin
fts.driver(type='ComplexLangevin',dt=0.1,nsteps=3000,block_size=100,output_freq=100)
Example (json)
"driver": {
"dt": 5.0,
"field_updater": {
... see Field Updaters ...
},
"nsteps": 4000,
"output_freq": 100,
"type": "SCFT",
"stop_tolerance": 1e-5,
"variable_cell" :{
"lambda": 0.1,
"stop_tolerance": 1e-4,
"update_freq": 10,
"shape_constraint": "none"
}
},