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"
  }
},