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 :ref:`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 :ref:`Field Updaters`. * `variable_cell` (json object) - Optional argument. If defined, then perform variable cell calculation. See :ref:`Variable Cell Formalism`. Requires the following arguments: * `lambda` (float) - Lambda relaxation coefficient for cell :math:`\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" } },