# ForceBalance input file generated by MakeInputFile.py
# The octothorpe '#' is a comment symbol
# Note: If the specified value is 'None' then the option will truly be set to None - not the string 'None'
# Note: 'Section' option types are more complicated and may require you to read the documentation
# Note: Boolean option types require no value, the key being present implies 'True'

$options
# (string) Directory containing force fields, relative to project directory
ffdir forcefield

# (string) Type of the penalty, L2 or L1 in the optimizer
penalty_type L2

# (allcap) The job type, defaults to a single-point evaluation of objective function
jobtype optimize

# (list) The names of force fields, corresponding to directory forcefields/file_name.(itp|gen)
forcefield openff-1.0.0-tagged.offxml

# (int) Maximum number of steps in an optimization
maxstep 4

# (float) Convergence criterion of step size (just needs to fall below this threshold)
convergence_step 0.1

# (float) Convergence criterion of objective function (in MainOptimizer this is the stdev of x2 over 10 steps)
convergence_objective 0.1

# (float) Convergence criterion of gradient norm
convergence_gradient 0.1

# (float) Minimum eigenvalue for applying steepest descent correction in the MainOptimizer
eig_lowerbound 0.01

# (float) Step size for finite difference derivatives in many functions (get_(G/H) in fitsim, FDCheckG)
finite_difference_h 0.001

# (float) Factor for multiplicative penalty function in objective function
penalty_additive 1.0

trust0 0.25
mintrust 0.05
error_tolerance 1.0
adaptive_factor 0.2
adaptive_damping 1.0
normalize_weights no
print_hessian

# Charge constraints are taken care of using "evals".
constrain_charge false

priors
   vdW/Atom/epsilon                     : 0.1
   vdW/Atom/rmin_half                   : 1.0
/priors      

$end

$target
name pure_data
type Evaluator_SMIRNOFF
weight 1.0
evaluator_input options.json
$end