ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
NptIsoParameters Struct Reference

Parameters of the isotropic NpT-integration scheme. More...

#include <npt.hpp>

+ Collaboration diagram for NptIsoParameters:

Public Member Functions

 NptIsoParameters ()=default
 
 NptIsoParameters (double ext_pressure, double piston, Utils::Vector< bool, 3 > const &rescale, bool cubic_box)
 
void coulomb_dipole_sanity_checks (System::System const &system) const
 
Utils::Vector< bool, 3 > get_direction () const
 

Public Attributes

double piston = 0.
 mass of a virtual piston representing the shaken box
 
double inv_piston = 0.
 inverse of piston
 
double volume = 0.
 isotropic volume.
 
std::vector< double > mass_list
 list of particle mass
 
std::size_t particle_number = 0ul
 number of particles
 
double p_ext = 0.
 desired pressure to which the algorithm strives to
 
double p_epsilon = 0.
 conjugate momentum of volume
 
double half_dt_inv_piston = 0.
 the coefficient of propagater of position for MTK equation
 
double half_dt_inv_piston_and_Nf = 0.
 the coefficient of propagater of momentum for MTK equation
 
int geometry = 0
 geometry information for the NpT integrator.
 
int dimension = 0
 The number of dimensions in which NpT boxlength motion is coupled to particles.
 
bool cubic_box = false
 Set this flag if you want all box dimensions to be identical.
 
int non_const_dim = -1
 An index to one of the non-constant dimensions.
 

Static Public Attributes

static constexpr std::array< int, 3 > nptgeom_dir = {1, 2, 4}
 

Detailed Description

Parameters of the isotropic NpT-integration scheme.

Definition at line 42 of file npt.hpp.

Constructor & Destructor Documentation

◆ NptIsoParameters() [1/2]

NptIsoParameters::NptIsoParameters ( )
default

◆ NptIsoParameters() [2/2]

NptIsoParameters::NptIsoParameters ( double  ext_pressure,
double  piston,
Utils::Vector< bool, 3 > const &  rescale,
bool  cubic_box 
)

Definition at line 65 of file npt.cpp.

References dimension, geometry, non_const_dim, nptgeom_dir, and piston.

Member Function Documentation

◆ coulomb_dipole_sanity_checks()

void NptIsoParameters::coulomb_dipole_sanity_checks ( System::System const &  system) const

Definition at line 49 of file npt.cpp.

◆ get_direction()

Utils::Vector< bool, 3 > NptIsoParameters::get_direction ( ) const

Member Data Documentation

◆ cubic_box

bool NptIsoParameters::cubic_box = false

Set this flag if you want all box dimensions to be identical.

Needed for electrostatics and magnetostatics. If the value of dimension is less than 3, then box length motion in one or more directions will be decoupled from the particle motion

Definition at line 81 of file npt.hpp.

Referenced by ScriptInterface::Integrators::VelocityVerletIsoNPT::VelocityVerletIsoNPT().

◆ dimension

int NptIsoParameters::dimension = 0

The number of dimensions in which NpT boxlength motion is coupled to particles.

Definition at line 75 of file npt.hpp.

Referenced by NptIsoParameters(), velocity_verlet_npt_finalize_p_inst(), and velocity_verlet_npt_propagate_p_eps().

◆ geometry

int NptIsoParameters::geometry = 0

geometry information for the NpT integrator.

Holds the vector < dir, dir, dir > where a positive value for dir indicates that box movement is allowed in that direction. To check whether a given direction is turned on, use bitwise comparison with nptgeom_dir

Definition at line 72 of file npt.hpp.

Referenced by get_direction(), NptIsoParameters(), velocity_verlet_npt_finalize_p_inst(), velocity_verlet_npt_propagate_p_eps(), velocity_verlet_npt_propagate_pos_MTK(), velocity_verlet_npt_propagate_vel(), velocity_verlet_npt_propagate_vel_final(), and velocity_verlet_npt_propagate_vel_MTK().

◆ half_dt_inv_piston

double NptIsoParameters::half_dt_inv_piston = 0.

the coefficient of propagater of position for MTK equation

Definition at line 63 of file npt.hpp.

Referenced by velocity_verlet_npt_propagate_pos_MTK().

◆ half_dt_inv_piston_and_Nf

double NptIsoParameters::half_dt_inv_piston_and_Nf = 0.

the coefficient of propagater of momentum for MTK equation

Definition at line 65 of file npt.hpp.

Referenced by velocity_verlet_npt_propagate_vel_MTK().

◆ inv_piston

double NptIsoParameters::inv_piston = 0.

inverse of piston

Definition at line 49 of file npt.hpp.

◆ mass_list

std::vector<double> NptIsoParameters::mass_list

list of particle mass

Definition at line 55 of file npt.hpp.

◆ non_const_dim

int NptIsoParameters::non_const_dim = -1

An index to one of the non-constant dimensions.

Handy if you just want the variable box_l

Definition at line 85 of file npt.hpp.

Referenced by NptIsoParameters().

◆ nptgeom_dir

◆ p_epsilon

double NptIsoParameters::p_epsilon = 0.

◆ p_ext

double NptIsoParameters::p_ext = 0.

desired pressure to which the algorithm strives to

Definition at line 59 of file npt.hpp.

Referenced by velocity_verlet_npt_finalize_p_inst(), velocity_verlet_npt_propagate_p_eps(), and ScriptInterface::Integrators::VelocityVerletIsoNPT::VelocityVerletIsoNPT().

◆ particle_number

std::size_t NptIsoParameters::particle_number = 0ul

number of particles

Definition at line 57 of file npt.hpp.

Referenced by velocity_verlet_npt_propagate_p_eps().

◆ piston

double NptIsoParameters::piston = 0.

mass of a virtual piston representing the shaken box

Definition at line 47 of file npt.hpp.

Referenced by NptIsoParameters(), and ScriptInterface::Integrators::VelocityVerletIsoNPT::VelocityVerletIsoNPT().

◆ volume

double NptIsoParameters::volume = 0.

isotropic volume.

Note that we use the term volume throughout, although for a 2d or 1d system we mean Area and Length respectively

Definition at line 53 of file npt.hpp.

Referenced by velocity_verlet_npt_finalize_p_inst(), and velocity_verlet_npt_propagate_p_eps().


The documentation for this struct was generated from the following files: