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>

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 () 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.
 
double p_ext = 0.
 desired pressure to which the algorithm strives to
 
double p_inst = 0.
 instantaneous pressure the system currently has
 
double p_diff = 0.
 difference between p_ext and p_inst
 
Utils::Vector3d p_vir = {0., 0., 0.}
 virial (short-range) components of p_inst
 
Utils::Vector3d p_vel = {0., 0., 0.}
 ideal gas components of p_inst, derived from the velocities
 
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.
 

Detailed Description

Parameters of the isotropic NpT-integration scheme.

Definition at line 34 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 
)

Member Function Documentation

◆ coulomb_dipole_sanity_checks()

void NptIsoParameters::coulomb_dipole_sanity_checks ( ) const

Definition at line 50 of file npt.cpp.

References System::get_system().

Referenced by integrator_npt_sanity_checks(), and NptIsoParameters().

◆ 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 71 of file npt.hpp.

Referenced by velocity_verlet_npt_propagate_pos(), and 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 65 of file npt.hpp.

Referenced by npt_ensemble_init(), NptIsoParameters(), velocity_verlet_npt_finalize_p_inst(), and velocity_verlet_npt_propagate_pos().

◆ 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 62 of file npt.hpp.

Referenced by get_direction(), NptIsoParameters(), velocity_verlet_npt_finalize_p_inst(), velocity_verlet_npt_propagate_pos(), velocity_verlet_npt_propagate_vel(), and velocity_verlet_npt_propagate_vel_final().

◆ inv_piston

double NptIsoParameters::inv_piston = 0.

inverse of piston

Definition at line 41 of file npt.hpp.

Referenced by npt_ensemble_init(), NptIsoParameters(), and velocity_verlet_npt_propagate_pos().

◆ 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 75 of file npt.hpp.

Referenced by npt_ensemble_init(), NptIsoParameters(), and velocity_verlet_npt_propagate_pos().

◆ p_diff

double NptIsoParameters::p_diff = 0.

◆ p_ext

double NptIsoParameters::p_ext = 0.

desired pressure to which the algorithm strives to

Definition at line 47 of file npt.hpp.

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

◆ p_inst

double NptIsoParameters::p_inst = 0.

instantaneous pressure the system currently has

Definition at line 49 of file npt.hpp.

Referenced by npt_ensemble_init(), NptIsoParameters(), synchronize_npt_state(), and velocity_verlet_npt_finalize_p_inst().

◆ p_vel

Utils::Vector3d NptIsoParameters::p_vel = {0., 0., 0.}

ideal gas components of p_inst, derived from the velocities

Definition at line 55 of file npt.hpp.

Referenced by npt_ensemble_init(), NptIsoParameters(), velocity_verlet_npt_finalize_p_inst(), velocity_verlet_npt_propagate_vel(), and velocity_verlet_npt_propagate_vel_final().

◆ p_vir

Utils::Vector3d NptIsoParameters::p_vir = {0., 0., 0.}

◆ piston

double NptIsoParameters::piston = 0.

◆ 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 45 of file npt.hpp.

Referenced by npt_ensemble_init(), NptIsoParameters(), synchronize_npt_state(), velocity_verlet_npt_finalize_p_inst(), and velocity_verlet_npt_propagate_pos().


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