#include <SimulationParams.h>
Public Member Functions | |
SimulationParams () | |
~SimulationParams () | |
int | validate (int sim_mode) |
int | parse_param_assignment (char *str) |
DEPRECATED! Superseeded by: extract_params + assign. More... | |
int | extract_params (vector< string > script_vector) |
int | assign (string lvalue, string rvalue) |
int | get_max_num_states () |
void | write_to_file (FILE *fout, PreComp_params &pc_params) |
Data Fields | |
scalar | dt |
time step More... | |
long long | num_steps |
Number of time steps to run simulation for. More... | |
int | check |
Every how many steps should the program 'check' the system i.e calculate energies, print snapshots etc. More... | |
int | num_blobs |
Number of blobs in the system. More... | |
int | num_rods |
Number of rods in the system. More... | |
int | num_interfaces |
Number of rod-blob or rod-rod interfaces. More... | |
int * | num_conformations |
Number of conformations for each blob. More... | |
int * | num_states |
Number of states for each blob. More... | |
int | state_array_size |
int | conformation_array_size |
int | rng_seed |
Seed for random number generator. More... | |
scalar | kT |
boltzmann's const times temperature More... | |
int | max_iterations_cg |
Max number of iterations when using conjugate gradient solver. More... | |
scalar | epsilon2 |
The tolerance threshold for CG solver (squared) More... | |
int | es_update |
Every how many steps should the electrostatic potential be recalculated. More... | |
int | es_N_x |
X dimension of the 3D lookup grid (in number of cells) More... | |
int | es_N_y |
Y dimension of the 3D lookup grid (in number of cells) More... | |
int | es_N_z |
Z dimension of the 3D lookup grid (in number of cells) More... | |
int | move_into_box |
If box is set, do we move the world to it's center at the start of a simulation? Default is yes! More... | |
int | restrict_motion [3] |
[x,y,z] array defining whether motion in the given direction should be nullified More... | |
int | num_dimensions |
scalar | es_h |
Number of active dimensions after restricted_motion is applied. More... | |
scalar | kappa |
Inverse Debye Screening length. More... | |
scalar | epsilon_0 |
Permittivity of free space. More... | |
scalar | dielec_ext |
Exterior dielectric constant. More... | |
int | restart |
Whether or not to restart the simulation from the last available time step. More... | |
int | calc_ssint |
Whether or not to simulate surface-surface interactions between surfaces. More... | |
int | inc_self_ssint |
Whether or not to include surface-surface interactions derived from faces in the same blob. More... | |
string | ssint_type |
Current possible values: "lennard-jones" (default) or "steric". More... | |
int | calc_es |
Whether or not to simulate electrostatic interactions between proteins. More... | |
int | calc_noise |
Whether or noise to simulate thermal noise for the system. Kind of the entire point of this simulation technique. More... | |
int | calc_stokes |
Whether or not to include local action of the external fluid. More... | |
int | calc_kinetics |
Whether or not to calculate kinetic switching between different equilibrium states and binding sites. More... | |
int | calc_preComp |
Whether or not use preComputed potentials and forces. More... | |
int | calc_springs |
Whether or not to include the springs interactions defined in the springs block. More... | |
int | calc_ctforces |
Whether or not to include constant forces onto nodes defined in the ctforces block. More... | |
int | force_pbc |
Whether or not to apply pbc to surface insteractions. More... | |
int | kinetics_update |
How often to check for a state change. If rates are ~ >> dt then this can clearly be quite high. More... | |
int | wall_x_1 |
int | wall_x_2 |
int | wall_y_1 |
int | wall_y_2 |
int | wall_z_1 |
int | wall_z_2 |
int | sticky_wall_xz |
scalar | stokes_visc |
int | calc_steric |
Calculate steric interactions? More... | |
scalar | steric_factor |
Proportionality factor to the Steric repulsion. More... | |
scalar | ssint_cutoff |
Cutoff distance for the surface-surface interactions. More... | |
geoscalar | steric_dr |
used to calculate the numerical derivative. More... | |
string | FFEA_script_filename |
b_fs::path | FFEA_script_path |
b_fs::path | FFEA_script_basename |
string | trajectory_out_fname |
string | kinetics_out_fname |
string | measurement_out_fname |
string | detailed_meas_out_fname |
string | ssint_in_fname |
string | bsite_in_fname |
string | icheckpoint_fname |
Input Checkpoint file name. More... | |
string | ocheckpoint_fname |
Output Checkpoint file name. More... | |
string | ctforces_fname |
Input file containing constant forces onto a list of nodes. More... | |
string | springs_fname |
Input file containing the springs details. More... | |
string | trajectory_beads_fname |
Output optional file. More... | |
int | kinetics_out_fname_set |
int | trajbeads_fname_set |
Private Member Functions | |
int | checkFileName (string oFile) |
string | RemoveFileExtension (const string &FileName) |
Private Attributes | |
int | trajectory_out_fname_set |
int | measurement_out_fname_set |
int | icheckpoint_fname_set |
int | ocheckpoint_fname_set |
int | ssint_in_fname_set |
int | bsite_in_fname_set |
SimulationParams::SimulationParams | ( | ) |
SimulationParams::~SimulationParams | ( | ) |
int SimulationParams::assign | ( | string | lvalue, |
string | rvalue | ||
) |
Expects a parameter label and value, which will be assigned if valid and rejected if not
Referenced by extract_params().
|
private |
Check if the file oFile exists, and if so rename it to "__"+oFile+"__bckp.N", where N is an integer so that the resulting file is new.
Referenced by validate().
int SimulationParams::extract_params | ( | vector< string > | script_vector | ) |
Expects a string of the form "<system>\n<>\n<>.....\n<system>" where parameter data can be extracted from.
Referenced by World::init().
int SimulationParams::get_max_num_states | ( | ) |
Returns maximum number of states on any blob
int SimulationParams::parse_param_assignment | ( | char * | str | ) |
DEPRECATED! Superseeded by: extract_params + assign.
Expects a string of the form "lvalue = rvalue" where lvalue must be a recognised parameter name.
|
private |
Referenced by assign().
int SimulationParams::validate | ( | int | sim_mode | ) |
Referenced by World::init().
void SimulationParams::write_to_file | ( | FILE * | fout, |
PreComp_params & | pc_params | ||
) |
Writes all params to fout (either a file or stdout) for user's info
Referenced by World::init(), and World::read_and_build_system().
string SimulationParams::bsite_in_fname |
Referenced by assign(), World::init(), SimulationParams(), write_to_file(), and ~SimulationParams().
|
private |
Referenced by assign(), SimulationParams(), write_to_file(), and ~SimulationParams().
int SimulationParams::calc_ctforces |
Whether or not to include constant forces onto nodes defined in the ctforces block.
Referenced by assign(), Blob::init(), World::read_and_build_system(), SimulationParams(), Blob::update_internal_forces(), validate(), write_to_file(), and ~SimulationParams().
int SimulationParams::calc_es |
Whether or not to simulate electrostatic interactions between proteins.
Referenced by assign(), World::init(), Blob::init(), Blob::pre_print(), World::run(), SimulationParams(), Blob::update_internal_forces(), validate(), Blob::write_nodes_to_file(), Blob::write_pre_print_to_file(), write_to_file(), and ~SimulationParams().
int SimulationParams::calc_kinetics |
Whether or not to calculate kinetic switching between different equilibrium states and binding sites.
Referenced by assign(), World::init(), World::print_checkpoints(), World::print_kinetic_files(), World::print_trajectory_and_measurement_files(), World::print_trajectory_conformation_changes(), World::read_and_build_system(), World::run(), SimulationParams(), validate(), World::write_pre_print_to_trajfile(), write_to_file(), ~SimulationParams(), and World::~World().
int SimulationParams::calc_noise |
Whether or noise to simulate thermal noise for the system. Kind of the entire point of this simulation technique.
Referenced by Blob::aggregate_forces_and_solve(), assign(), Blob::init(), Blob::reset_solver(), SimulationParams(), Blob::update_internal_forces(), validate(), write_to_file(), and ~SimulationParams().
int SimulationParams::calc_preComp |
Whether or not use preComputed potentials and forces.
Referenced by assign(), World::init(), Blob::init(), World::make_measurements(), World::read_and_build_system(), World::run(), SimulationParams(), validate(), World::write_measurements_to_file(), write_to_file(), and ~SimulationParams().
int SimulationParams::calc_springs |
Whether or not to include the springs interactions defined in the springs block.
Referenced by assign(), World::init(), Blob::init(), World::make_measurements(), World::read_and_build_system(), SimulationParams(), validate(), World::write_measurements_to_file(), write_to_file(), and ~SimulationParams().
int SimulationParams::calc_ssint |
Whether or not to simulate surface-surface interactions between surfaces.
Referenced by assign(), World::init(), Blob::init(), Blob::load_ssint(), World::make_measurements(), World::run(), SimulationParams(), validate(), World::write_measurements_to_file(), write_to_file(), and ~SimulationParams().
int SimulationParams::calc_steric |
Calculate steric interactions?
Referenced by assign(), World::init(), Blob::init(), World::make_measurements(), World::read_and_build_system(), World::run(), SimulationParams(), validate(), World::write_measurements_to_file(), write_to_file(), and ~SimulationParams().
int SimulationParams::calc_stokes |
Whether or not to include local action of the external fluid.
Referenced by Blob::aggregate_forces_and_solve(), assign(), Blob::build_linear_node_viscosity_matrix(), NoMassCGSolver::init(), Blob::init(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
int SimulationParams::check |
Every how many steps should the program 'check' the system i.e calculate energies, print snapshots etc.
Referenced by assign(), ffea_test::lower_sphere(), World::print_trajectory_and_measurement_files(), World::run(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
int SimulationParams::conformation_array_size |
Referenced by assign(), SimulationParams(), validate(), and ~SimulationParams().
string SimulationParams::ctforces_fname |
Input file containing constant forces onto a list of nodes.
Referenced by Blob::init(), World::read_and_build_system(), SimulationParams(), write_to_file(), and ~SimulationParams().
string SimulationParams::detailed_meas_out_fname |
Referenced by assign(), World::init(), SimulationParams(), validate(), and ~SimulationParams().
scalar SimulationParams::dielec_ext |
Exterior dielectric constant.
Referenced by assign(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
scalar SimulationParams::dt |
time step
Referenced by tetra_element_linear::add_fluctuating_stress(), Blob::aggregate_forces_and_solve(), assign(), Blob::euler_integrate(), World::load_kinetic_rates(), World::print_trajectory_and_measurement_files(), World::read_and_build_system(), SimulationParams(), World::write_measurements_to_file(), write_to_file(), and ~SimulationParams().
scalar SimulationParams::epsilon2 |
The tolerance threshold for CG solver (squared)
Referenced by assign(), ConjugateGradientSolver::init(), NoMassCGSolver::init(), World::init(), Blob::init(), SimulationParams(), write_to_file(), and ~SimulationParams().
scalar SimulationParams::epsilon_0 |
Permittivity of free space.
Referenced by assign(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
scalar SimulationParams::es_h |
Number of active dimensions after restricted_motion is applied.
Dimension of each cell in the lookup grid (in multiples of inverse kappa)
Referenced by assign(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
int SimulationParams::es_N_x |
X dimension of the 3D lookup grid (in number of cells)
Referenced by assign(), PreComp_solver::init(), World::init(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
int SimulationParams::es_N_y |
Y dimension of the 3D lookup grid (in number of cells)
Referenced by assign(), PreComp_solver::init(), World::init(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
int SimulationParams::es_N_z |
Z dimension of the 3D lookup grid (in number of cells)
Referenced by assign(), PreComp_solver::init(), World::init(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
int SimulationParams::es_update |
Every how many steps should the electrostatic potential be recalculated.
Referenced by assign(), World::run(), SimulationParams(), write_to_file(), and ~SimulationParams().
b_fs::path SimulationParams::FFEA_script_basename |
Referenced by assign(), and validate().
string SimulationParams::FFEA_script_filename |
Referenced by assign(), World::init(), and validate().
b_fs::path SimulationParams::FFEA_script_path |
Referenced by assign(), World::read_and_build_system(), and validate().
int SimulationParams::force_pbc |
Whether or not to apply pbc to surface insteractions.
Referenced by assign(), World::read_and_build_system(), World::run(), SimulationParams(), and write_to_file().
string SimulationParams::icheckpoint_fname |
Input Checkpoint file name.
Referenced by assign(), World::init(), SimulationParams(), validate(), and ~SimulationParams().
|
private |
Referenced by assign(), SimulationParams(), validate(), and ~SimulationParams().
int SimulationParams::inc_self_ssint |
Whether or not to include surface-surface interactions derived from faces in the same blob.
Referenced by assign(), World::init(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
scalar SimulationParams::kappa |
Inverse Debye Screening length.
Referenced by assign(), World::init(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
string SimulationParams::kinetics_out_fname |
Referenced by assign(), World::init(), SimulationParams(), validate(), and ~SimulationParams().
int SimulationParams::kinetics_out_fname_set |
These set parameters are not private because the World needs them!!
Referenced by assign(), World::init(), SimulationParams(), and ~SimulationParams().
int SimulationParams::kinetics_update |
How often to check for a state change. If rates are ~ >> dt then this can clearly be quite high.
Referenced by assign(), World::load_kinetic_rates(), World::print_trajectory_conformation_changes(), World::run(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
scalar SimulationParams::kT |
boltzmann's const times temperature
Referenced by tetra_element_linear::add_fluctuating_stress(), Blob::aggregate_forces_and_solve(), assign(), Blob::build_linear_node_rp_diffusion_matrix(), World::read_and_build_system(), SimulationParams(), write_to_file(), and ~SimulationParams().
int SimulationParams::max_iterations_cg |
Max number of iterations when using conjugate gradient solver.
Referenced by assign(), ConjugateGradientSolver::init(), NoMassCGSolver::init(), World::init(), Blob::init(), SimulationParams(), write_to_file(), and ~SimulationParams().
string SimulationParams::measurement_out_fname |
Referenced by assign(), World::init(), SimulationParams(), validate(), and ~SimulationParams().
|
private |
Referenced by assign(), SimulationParams(), validate(), and ~SimulationParams().
int SimulationParams::move_into_box |
If box is set, do we move the world to it's center at the start of a simulation? Default is yes!
Referenced by assign(), World::init(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
int SimulationParams::num_blobs |
Number of blobs in the system.
Referenced by assign(), World::build_kinetic_identity_maps(), World::calculate_kinetic_rates(), World::do_es(), get_max_num_states(), World::get_num_blobs(), World::get_smallest_time_constants(), World::get_spring_field_energy(), World::get_system_centroid(), World::get_system_CoM(), World::get_system_dimensions(), PreComp_solver::init(), World::init(), Face::init(), World::load_springs(), World::make_measurements(), World::print_kinetic_files(), World::print_kinetic_rates_to_screen(), World::print_trajectory_and_measurement_files(), World::print_trajectory_conformation_changes(), World::read_and_build_system(), World::run(), SimulationParams(), validate(), World::write_detailed_measurements_to_file(), World::write_pre_print_to_trajfile(), write_to_file(), ~SimulationParams(), and World::~World().
int* SimulationParams::num_conformations |
Number of conformations for each blob.
Referenced by assign(), World::build_kinetic_identity_maps(), PreComp_solver::init(), World::init(), World::load_kinetic_states(), World::load_springs(), World::read_and_build_system(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
int SimulationParams::num_dimensions |
int SimulationParams::num_interfaces |
Number of rod-blob or rod-rod interfaces.
Referenced by assign(), World::init(), World::read_and_build_system(), World::run(), SimulationParams(), and ~SimulationParams().
int SimulationParams::num_rods |
Number of rods in the system.
Referenced by assign(), World::get_system_centroid(), World::get_system_dimensions(), World::init(), World::print_trajectory_and_measurement_files(), World::read_and_build_system(), World::run(), SimulationParams(), validate(), and ~SimulationParams().
int* SimulationParams::num_states |
Number of states for each blob.
Referenced by assign(), World::calculate_kinetic_rates(), World::choose_new_kinetic_state(), get_max_num_states(), World::load_kinetic_rates(), World::load_kinetic_states(), World::print_kinetic_rates_to_screen(), World::read_and_build_system(), SimulationParams(), write_to_file(), and ~SimulationParams().
long long SimulationParams::num_steps |
Number of time steps to run simulation for.
Referenced by assign(), ffea_test::lower_sphere(), World::run(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
string SimulationParams::ocheckpoint_fname |
Output Checkpoint file name.
Referenced by assign(), World::init(), SimulationParams(), validate(), and ~SimulationParams().
|
private |
Referenced by assign(), SimulationParams(), validate(), and ~SimulationParams().
int SimulationParams::restart |
Whether or not to restart the simulation from the last available time step.
Referenced by assign(), World::init(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
int SimulationParams::restrict_motion[3] |
[x,y,z] array defining whether motion in the given direction should be nullified
int SimulationParams::rng_seed |
Seed for random number generator.
Referenced by assign(), World::init(), SimulationParams(), write_to_file(), and ~SimulationParams().
string SimulationParams::springs_fname |
Input file containing the springs details.
Referenced by World::read_and_build_system(), SimulationParams(), write_to_file(), and ~SimulationParams().
scalar SimulationParams::ssint_cutoff |
Cutoff distance for the surface-surface interactions.
Referenced by assign(), PreComp_solver::init(), World::init(), World::run(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
string SimulationParams::ssint_in_fname |
Referenced by assign(), World::init(), SimulationParams(), write_to_file(), and ~SimulationParams().
|
private |
Referenced by assign(), SimulationParams(), validate(), and ~SimulationParams().
string SimulationParams::ssint_type |
Current possible values: "lennard-jones" (default) or "steric".
Referenced by assign(), World::init(), Blob::init(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
int SimulationParams::state_array_size |
Referenced by assign(), SimulationParams(), and ~SimulationParams().
geoscalar SimulationParams::steric_dr |
used to calculate the numerical derivative.
Referenced by assign(), World::init(), SimulationParams(), validate(), and ~SimulationParams().
scalar SimulationParams::steric_factor |
Proportionality factor to the Steric repulsion.
Referenced by assign(), World::init(), SimulationParams(), validate(), write_to_file(), and ~SimulationParams().
int SimulationParams::sticky_wall_xz |
Referenced by assign(), World::run(), SimulationParams(), and ~SimulationParams().
scalar SimulationParams::stokes_visc |
int SimulationParams::trajbeads_fname_set |
string SimulationParams::trajectory_beads_fname |
Output optional file.
Referenced by assign(), World::init(), SimulationParams(), validate(), and ~SimulationParams().
string SimulationParams::trajectory_out_fname |
Referenced by assign(), World::dmm(), World::dmm_rp(), World::init(), World::lem(), SimulationParams(), validate(), World::write_eig_to_files(), and ~SimulationParams().
|
private |
Referenced by assign(), SimulationParams(), validate(), and ~SimulationParams().
int SimulationParams::wall_x_1 |
Referenced by assign(), Blob::enforce_box_boundaries(), World::run(), SimulationParams(), and ~SimulationParams().
int SimulationParams::wall_x_2 |
Referenced by assign(), Blob::enforce_box_boundaries(), World::run(), SimulationParams(), and ~SimulationParams().
int SimulationParams::wall_y_1 |
Referenced by assign(), Blob::enforce_box_boundaries(), World::run(), SimulationParams(), and ~SimulationParams().
int SimulationParams::wall_y_2 |
Referenced by assign(), Blob::enforce_box_boundaries(), World::run(), SimulationParams(), and ~SimulationParams().
int SimulationParams::wall_z_1 |
Referenced by assign(), Blob::enforce_box_boundaries(), World::run(), SimulationParams(), and ~SimulationParams().
int SimulationParams::wall_z_2 |
Referenced by assign(), Blob::enforce_box_boundaries(), World::run(), SimulationParams(), and ~SimulationParams().