RASPA3 3.0.12
A molecular simulation code for computing adsorption and diffusion in nanoporous materials
Loading...
Searching...
No Matches
InversionBendPotential Struct Referenceexport

Represents a inversion_bend potential between two particles. More...

Collaboration diagram for InversionBendPotential:

Public Member Functions

 InversionBendPotential ()
 Default constructor for InversionBendPotential.
 
 InversionBendPotential (std::array< std::size_t, 4 > identifiers, InversionBendType type, std::vector< double > vector_parameters)
 
 InversionBendPotential (std::array< std::size_t, 4 > identifiers, const InversionBendType type)
 Constructs a InversionBendPotential with specified type and inversion_bend IDs.
 
bool operator== (InversionBendPotential const &) const =default
 
std::string print () const
 Generates a string representation of the inversion_bend potential.
 
double calculateEnergy (const double3 &posA, const double3 &posB, const double3 &posc, const double3 &posD) const
 

Public Attributes

std::uint64_t versionNumber {1}
 Version number for serialization.
 
std::array< std::size_t, 4 > identifiers
 Identifiers of the two particles forming the inversion_bend.
 
InversionBendType type
 The type of inversion_bend potential.
 
std::array< double, maximumNumberOfInversionBendParameters > parameters
 Parameters associated with the inversion_bend potential.
 

Static Public Attributes

static std::array< std::size_t, 7 > numberOfInversionBendParameters {2, 2, 1, 2, 2, 1, 2}
 Number of parameters required for each inversion_bend type.
 
static std::map< std::string, InversionBendType, caseInsensitiveComparator > definitionForString
 Mapping of inversion_bend type strings to InversionBendType enums.
 

Friends

Archive< std::ofstream > & operator<< (Archive< std::ofstream > &archive, const InversionBendPotential &b)
 
Archive< std::ifstream > & operator>> (Archive< std::ifstream > &archive, InversionBendPotential &b)
 

Detailed Description

Represents a inversion_bend potential between two particles.

The InversionBendPotential struct encapsulates the type of inversion_bend and associated parameters between two particles. It includes versioning for serialization, inversion_bend type, identifiers of inversion_bended particles, and inversion_bend parameters.

Constructor & Destructor Documentation

◆ InversionBendPotential() [1/2]

InversionBendPotential::InversionBendPotential ( )
inline

Default constructor for InversionBendPotential.

Initializes a InversionBendPotential object with Undefined inversion_bend type and zeroed inversion_bend IDs.

◆ InversionBendPotential() [2/2]

InversionBendPotential::InversionBendPotential ( std::array< std::size_t, 4 >  identifiers,
const InversionBendType  type 
)
inline

Constructs a InversionBendPotential with specified type and inversion_bend IDs.

Parameters
typeThe type of inversion_bend potential.
identifiersA pair of particle identifiers forming the inversion_bend.

Member Function Documentation

◆ print()

std::string InversionBendPotential::print ( ) const

Generates a string representation of the inversion_bend potential.

Provides a formatted string containing inversion_bend type, particle IDs, and parameters.

Returns
A string describing the inversion_bend potential.

Member Data Documentation

◆ definitionForString

std::map<std::string, InversionBendType, caseInsensitiveComparator> InversionBendPotential::definitionForString
inlinestatic
Initial value:
{
{"HARMONIC", InversionBendType::Harmonic},
{"HARMONIC_COSINE", InversionBendType::HarmonicCosine},
{"PLANAR", InversionBendType::Planar},
{"HARMONIC2", InversionBendType::Harmonic2},
{"HARMONIC_COSINE2", InversionBendType::HarmonicCosine2},
{"PLANAR2", InversionBendType::Planar2},
{"MM3", InversionBendType::MM3}}

Mapping of inversion_bend type strings to InversionBendType enums.

A static map that associates inversion_bend type names with their corresponding InversionBendType enumeration values.

◆ numberOfInversionBendParameters

std::array<std::size_t, 7> InversionBendPotential::numberOfInversionBendParameters {2, 2, 1, 2, 2, 1, 2}
inlinestatic

Number of parameters required for each inversion_bend type.

A static vector indicating the number of parameters needed for each inversion_bend type.


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