|
Continuum Membrane 719025a62b1e384a6ff80e2f2a223ef4012153dc
|
Contains simulation parameters and physical constants. More...
#include <Parameters.hpp>
Public Attributes | |
| bool | VERBOSE_MODE = true |
| Whether to print verbose output during simulation. | |
| int | maxIterations = 1E5 |
| Max number of iteration. | |
| std::string | restartInputFile = "" |
| Optional checkpoint file to restart from. | |
| std::string | checkpointOutputFile = "slimed_restart.chk" |
| Checkpoint file written during minimization. | |
| int | checkpointOutputInterval = 1000 |
| Iteration interval for checkpoint writes; <=0 disables checkpointing. | |
| double | kCurv = 83.4 |
| Bending modulus i.e. curvature constant (kc) | |
| double | uSurf = 250.0 |
| Surface area constraint i.e. surface constant (us) | |
| double | uVol = 0.0 |
| Volume constraint i.e. volume constant (uv) | |
| double | kReg = 83.4 |
| Coefficient of the regularization constraint (k) | |
| double | kSpring |
| Spring constant for insertion zones (K) | |
| bool | setRelaxAreaToDefault = false |
| true to set area0 equal to area of starting config | |
| double | area0 |
| Target area for membrane (S0) | |
| double | area |
| Total area of the membrane (S) | |
| double | vol0 |
| Target volume for membrane (V0) | |
| double | vol |
| Total volume of the membrane (V) | |
| double | insertCurv |
| Spontaneous curvature of insertions (C0) | |
| double | spontCurv |
| Spontaneous curvature of membrane (c0) | |
| double | sideX = 100.0 |
| X-axis length for flat membrane. | |
| double | sideY = 100.0 |
| Y-axis length for flat membrane. | |
| double | radius = 25.0 |
| Radius for spherical membrane. | |
| double | lFace = 5.0 |
| lFace | |
| int | nFaceX = -1 |
| Number of faces (edges) along X axis for flat membrane. | |
| int | nFaceY = -1 |
| Number of faces (edges) along Y axis for flat membrane. | |
| double | dFaceX |
| Initial actual face side length along X axis for flat membrane. | |
| double | dFaceY |
| Initial actual face side length along Y axis for flat membrane. | |
| double | meanL |
| Mean length of edges after subdivision. | |
| double | sigma = 0.0 |
| Noise level for vertex positions. | |
| int | subDivideTimes |
| Number of times to subdivide each edge. | |
| bool | isInsertionAreaConstraint = false |
| Whether to apply area constraint to insertions. | |
| bool | isAdditiveScheme = false |
| Whether to use additive scheme for constraints. | |
| bool | isGlobalConstraint = true |
| Whether to apply global constraint across entire membrane. | |
| double | elementTriangleArea0 |
| Target area for individual triangles. | |
| int | gaussQuadratureN = 2 |
| Number of Gaussian quadrature points to use. | |
| Matrix | VWU |
| (N,3) matrix of vertex coordinates and weights | |
| Matrix | gaussQuadratureCoeff |
| (N,1) matrix of Gaussian quadrature coefficients | |
| std::vector< Matrix > | shapeFunctions |
| List of shape functions for each triangle. | |
| SubdivisionMatrix | subMatrix |
| Subdivision matrix for irregular patches. | |
| BoundaryType | boundaryCondition = BoundaryType::Periodic |
| Type of boundary condition ("Fixed", "Periodic", "Free") | |
| bool | usingNCG = true |
| Whether to use nonlinear conjugate gradient method. | |
| bool | isNCGstuck = false |
| Whether NCG method has gotten stuck. | |
| double | deltaEnergyConverge = 1e-5 |
| Convergence criteria for total energy. | |
| double | deltaForceScaleConverge = 1e-5 |
| Convergence criteria for max force scale. | |
| double | gamaShape = 0.2 |
| Shape deformation coefficient. | |
| double | gamaArea = 0.2 |
| Area deformation coefficient. | |
| bool | usingRpi = true |
| Whether to use R-pi adaptive method for regularization energy;. | |
| bool | xyzOutput = true |
| Whether to output XYZ coordinates of vertices. | |
| bool | meshpointOutput = true |
| Whether to output meshpoints. | |
| bool | isEnergyHarmonicBondIncluded = false |
| Whether to include energy of spline points. | |
| std::vector< Matrix > | scaffoldingPoints |
| List of spline points. | |
| std::vector< int > | scaffoldingPoints_correspondingVertexIndex |
| Corresponding vertex indices for spline points. | |
| double | scaffoldingSphereRaidus = 50.0 |
| spherical radius of the scaffolding lattice cap | |
| double | springConst = 4.5 |
| Spring constant for harmonic bond potential. | |
| double | springConstScaler = 1.31607401 |
| Spring constant scaler per iteration interval. | |
| int | springConstScalingInterv = 200 |
| Iteration interval for spring constant scaling. | |
| int | springConstUpperBound = 1000.0 |
| Max spring constant to stop scaling of spring constant. | |
| int | propagateScaffoldingInterv = 7 |
| Iteration interval for repositioning scaffolding based on energy and force. | |
| int | propagateScaffoldingNstep = 100 |
| Number of steps every time propagating scaffolding. | |
| double | splinePointsZcoordScaling = 0.0 |
| double | lbond = 9.0 |
| Harminc bond length in nm. | |
| double | relaxLengthRatioApproximation = 1.0 |
| ratio of relax length to cap length approximation | |
| double | scaffoldingZeroPlaneZ = 0.0 |
| Height of the flat membrane plane around the Gag cap. | |
| std::string | scaffoldingFileName = "" |
| bool | isGagScaffoldingEnergyIncluded = false |
| Whether to include Gag-specific internal scaffold energy. | |
| std::string | gagReferenceStateFileName = "" |
| Extracted selected/json/*.dat file used as Gag reference geometry. | |
| std::string | gagReactionFileName = "" |
| NERDSS .inp file used to identify Gag reaction blocks. | |
| bool | isIdealizedProteinLatticeEnergyIncluded = false |
| Whether to include idealized per-instance protein lattice energy. | |
| std::string | idealizedProteinLatticeFileName = "" |
| JSON / .dat file containing the initialized idealized lattice state. | |
| double | gagKsigma = 0.0 |
| Spring constant for COM-COM bond length term. | |
| double | gagKtheta = 0.0 |
| Spring constant for COM-COM bond angle term. | |
| double | gagKphi = 0.0 |
| Spring constant for COM-graph torsion term mapped from phi. | |
| double | gagKomega = 0.0 |
| Spring constant for COM-graph torsion term mapped from omega. | |
| double | gagFiniteDifferenceStep = 1.0e-4 |
| Step size used for scaffold finite-difference gradients. | |
| double | gagPropagationStepSize = 1.0e-6 |
| Step size used when propagating the scaffold with Gag forces. | |
| int | gagPreRelaxSteps = 200 |
| Number of Gag-only pre-relaxation steps before membrane coupling. | |
| double | timeStep = 0.1 |
| double | diffConst = 0.01 |
| double | KBT = 4.17 |
| unsigned int | randomSeed = 42 |
| random seed used in normal distribution | |
| bool | surfacepointOutput = true |
| whether to output surface point file | |
| bool | thermalFluctuationEnabled = false |
| Enable Metropolis thermal trial moves during minimization. | |
| bool | thermalFluctuationPureMMC = false |
| Run pure Metropolis Monte Carlo trial moves without NCG. | |
| int | thermalFluctuationInterval = 50 |
| Iteration interval between thermal trial moves. | |
| double | thermalFluctuationTemperatureKelvin = 298.0 |
| Effective thermodynamic temperature in Kelvin. | |
| double | thermalFluctuationMinTemperatureKelvin = 298.0 |
| Lower bound for annealed temperature in Kelvin. | |
| double | thermalFluctuationCoolingRate = 1.0 |
| Multiplicative cooling rate after each thermal trial. | |
| double | thermalFluctuationStepScale = 0.02 |
| Gaussian displacement std. dev. as a fraction of lFace. | |
| bool | isInsertionIncluded = false |
| std::vector< std::vector< int > > | insertionPatch |
| Energy | energy |
| Energy | energyPrev |
| DeformationCount | deformationCount |
Contains simulation parameters and physical constants.
The Param struct stores a variety of parameters and physical constants that are used to initialize and run a membrane simulation. This includes properties like the membrane size, shape, and subdivision, as well as boundary conditions, time step, and diffusion constant. Many of these variables have default values but can be customized by changing the corresponding member variables in a Param object.
Note that some variables in this struct are deprecated or unused and should not be relied upon for correct behavior of the simulation. These variables may be removed or modified in future versions of the code.
| double Param::area |
Total area of the membrane (S)
| double Param::area0 |
Target area for membrane (S0)
| BoundaryType Param::boundaryCondition = BoundaryType::Periodic |
Type of boundary condition ("Fixed", "Periodic", "Free")
| std::string Param::checkpointOutputFile = "slimed_restart.chk" |
Checkpoint file written during minimization.
| int Param::checkpointOutputInterval = 1000 |
Iteration interval for checkpoint writes; <=0 disables checkpointing.
| DeformationCount Param::deformationCount |
| double Param::deltaEnergyConverge = 1e-5 |
Convergence criteria for total energy.
| double Param::deltaForceScaleConverge = 1e-5 |
Convergence criteria for max force scale.
| double Param::dFaceX |
Initial actual face side length along X axis for flat membrane.
| double Param::dFaceY |
Initial actual face side length along Y axis for flat membrane.
| double Param::diffConst = 0.01 |
| double Param::elementTriangleArea0 |
Target area for individual triangles.
| Energy Param::energy |
| Energy Param::energyPrev |
| double Param::gagFiniteDifferenceStep = 1.0e-4 |
Step size used for scaffold finite-difference gradients.
| double Param::gagKomega = 0.0 |
Spring constant for COM-graph torsion term mapped from omega.
| double Param::gagKphi = 0.0 |
Spring constant for COM-graph torsion term mapped from phi.
| double Param::gagKsigma = 0.0 |
Spring constant for COM-COM bond length term.
| double Param::gagKtheta = 0.0 |
Spring constant for COM-COM bond angle term.
| int Param::gagPreRelaxSteps = 200 |
Number of Gag-only pre-relaxation steps before membrane coupling.
| double Param::gagPropagationStepSize = 1.0e-6 |
Step size used when propagating the scaffold with Gag forces.
| std::string Param::gagReactionFileName = "" |
NERDSS .inp file used to identify Gag reaction blocks.
| std::string Param::gagReferenceStateFileName = "" |
Extracted selected/json/*.dat file used as Gag reference geometry.
| double Param::gamaArea = 0.2 |
Area deformation coefficient.
| double Param::gamaShape = 0.2 |
Shape deformation coefficient.
| Matrix Param::gaussQuadratureCoeff |
(N,1) matrix of Gaussian quadrature coefficients
| int Param::gaussQuadratureN = 2 |
Number of Gaussian quadrature points to use.
| std::string Param::idealizedProteinLatticeFileName = "" |
JSON / .dat file containing the initialized idealized lattice state.
| double Param::insertCurv |
Spontaneous curvature of insertions (C0)
| std::vector<std::vector<int> > Param::insertionPatch |
| bool Param::isAdditiveScheme = false |
Whether to use additive scheme for constraints.
| bool Param::isEnergyHarmonicBondIncluded = false |
Whether to include energy of spline points.
| bool Param::isGagScaffoldingEnergyIncluded = false |
Whether to include Gag-specific internal scaffold energy.
| bool Param::isGlobalConstraint = true |
Whether to apply global constraint across entire membrane.
| bool Param::isIdealizedProteinLatticeEnergyIncluded = false |
Whether to include idealized per-instance protein lattice energy.
| bool Param::isInsertionAreaConstraint = false |
Whether to apply area constraint to insertions.
| bool Param::isInsertionIncluded = false |
| bool Param::isNCGstuck = false |
Whether NCG method has gotten stuck.
| double Param::KBT = 4.17 |
| double Param::kCurv = 83.4 |
Bending modulus i.e. curvature constant (kc)
| double Param::kReg = 83.4 |
Coefficient of the regularization constraint (k)
| double Param::kSpring |
Spring constant for insertion zones (K)
| double Param::lbond = 9.0 |
Harminc bond length in nm.
| double Param::lFace = 5.0 |
lFace
| int Param::maxIterations = 1E5 |
Max number of iteration.
| double Param::meanL |
Mean length of edges after subdivision.
| bool Param::meshpointOutput = true |
Whether to output meshpoints.
| int Param::nFaceX = -1 |
Number of faces (edges) along X axis for flat membrane.
| int Param::nFaceY = -1 |
Number of faces (edges) along Y axis for flat membrane.
| int Param::propagateScaffoldingInterv = 7 |
Iteration interval for repositioning scaffolding based on energy and force.
| int Param::propagateScaffoldingNstep = 100 |
Number of steps every time propagating scaffolding.
| double Param::radius = 25.0 |
Radius for spherical membrane.
| unsigned int Param::randomSeed = 42 |
random seed used in normal distribution
| double Param::relaxLengthRatioApproximation = 1.0 |
ratio of relax length to cap length approximation
| std::string Param::restartInputFile = "" |
Optional checkpoint file to restart from.
| std::string Param::scaffoldingFileName = "" |
| std::vector<Matrix> Param::scaffoldingPoints |
List of spline points.
| std::vector<int> Param::scaffoldingPoints_correspondingVertexIndex |
Corresponding vertex indices for spline points.
| double Param::scaffoldingSphereRaidus = 50.0 |
spherical radius of the scaffolding lattice cap
| double Param::scaffoldingZeroPlaneZ = 0.0 |
Height of the flat membrane plane around the Gag cap.
| bool Param::setRelaxAreaToDefault = false |
true to set area0 equal to area of starting config
| std::vector<Matrix> Param::shapeFunctions |
List of shape functions for each triangle.
| double Param::sideX = 100.0 |
X-axis length for flat membrane.
| double Param::sideY = 100.0 |
Y-axis length for flat membrane.
| double Param::sigma = 0.0 |
Noise level for vertex positions.
| double Param::splinePointsZcoordScaling = 0.0 |
| double Param::spontCurv |
Spontaneous curvature of membrane (c0)
| double Param::springConst = 4.5 |
Spring constant for harmonic bond potential.
| double Param::springConstScaler = 1.31607401 |
Spring constant scaler per iteration interval.
| int Param::springConstScalingInterv = 200 |
Iteration interval for spring constant scaling.
| int Param::springConstUpperBound = 1000.0 |
Max spring constant to stop scaling of spring constant.
| int Param::subDivideTimes |
Number of times to subdivide each edge.
| SubdivisionMatrix Param::subMatrix |
Subdivision matrix for irregular patches.
| bool Param::surfacepointOutput = true |
whether to output surface point file
| double Param::thermalFluctuationCoolingRate = 1.0 |
Multiplicative cooling rate after each thermal trial.
| bool Param::thermalFluctuationEnabled = false |
Enable Metropolis thermal trial moves during minimization.
| int Param::thermalFluctuationInterval = 50 |
Iteration interval between thermal trial moves.
| double Param::thermalFluctuationMinTemperatureKelvin = 298.0 |
Lower bound for annealed temperature in Kelvin.
| bool Param::thermalFluctuationPureMMC = false |
Run pure Metropolis Monte Carlo trial moves without NCG.
| double Param::thermalFluctuationStepScale = 0.02 |
Gaussian displacement std. dev. as a fraction of lFace.
| double Param::thermalFluctuationTemperatureKelvin = 298.0 |
Effective thermodynamic temperature in Kelvin.
| double Param::timeStep = 0.1 |
| bool Param::usingNCG = true |
Whether to use nonlinear conjugate gradient method.
| bool Param::usingRpi = true |
Whether to use R-pi adaptive method for regularization energy;.
| double Param::uSurf = 250.0 |
Surface area constraint i.e. surface constant (us)
| double Param::uVol = 0.0 |
Volume constraint i.e. volume constant (uv)
| bool Param::VERBOSE_MODE = true |
Whether to print verbose output during simulation.
| double Param::vol |
Total volume of the membrane (V)
| double Param::vol0 |
Target volume for membrane (V0)
| Matrix Param::VWU |
(N,3) matrix of vertex coordinates and weights
| bool Param::xyzOutput = true |
Whether to output XYZ coordinates of vertices.