MRMD 0.4.0
Multi Resolution Molecular Dynamics
Loading...
Searching...
No Matches
mrmd::action::ThermodynamicForce Class Reference

#include <action/ThermodynamicForce.hpp>

Public Member Functions

auto getForce () const
 
auto getForce (const idx_t &typeId) const
 
void setForce (const MultiView &forces) const
 
auto getDensityProfile () const
 
auto getDensityProfile (const idx_t &typeId) const
 
const auto & getNumberOfDensityProfileSamples () const
 
void sample (data::Atoms &atoms)
 
void update (const real_t &smoothingSigma, const real_t &smoothingIntensity)
 
void apply (const data::Atoms &atoms) const
 
template<OnePositionPredicate Pred>
void apply_if (const data::Atoms &atoms, const Pred &pred) const
 
template<OneCoordinatePredicate Pred>
void update_if (const real_t &smoothingSigma, const real_t &smoothingIntensity, const Pred &pred)
 
template<OnePositionPredicate Pred>
void applyInterpolated_if (const data::Atoms &atoms, const Pred &pred) const
 
std::vector< real_t > getMuLeft () const
 
std::vector< real_t > getMuRight () const
 
 ThermodynamicForce (const std::vector< real_t > &targetDensity, const data::Subdomain &subdomain, const real_t &requestedDensityBinWidth, const std::vector< real_t > &thermodynamicForceModulation, const bool enforceSymmetry=false, const bool usePeriodicity=false)
 
 ThermodynamicForce (const real_t targetDensity, const data::Subdomain &subdomain, const real_t &requestedDensityBinWidth, const real_t thermodynamicForceModulation, const bool enforceSymmetry=false, const bool usePeriodicity=false)
 

Constructor & Destructor Documentation

◆ ThermodynamicForce() [1/2]

mrmd::action::ThermodynamicForce::ThermodynamicForce ( const std::vector< real_t > &  targetDensity,
const data::Subdomain &  subdomain,
const real_t &  requestedDensityBinWidth,
const std::vector< real_t > &  thermodynamicForceModulation,
const bool  enforceSymmetry = false,
const bool  usePeriodicity = false 
)

◆ ThermodynamicForce() [2/2]

mrmd::action::ThermodynamicForce::ThermodynamicForce ( const real_t  targetDensity,
const data::Subdomain &  subdomain,
const real_t &  requestedDensityBinWidth,
const real_t  thermodynamicForceModulation,
const bool  enforceSymmetry = false,
const bool  usePeriodicity = false 
)

Member Function Documentation

◆ apply()

void mrmd::action::ThermodynamicForce::apply ( const data::Atoms &  atoms) const

◆ apply_if()

template<OnePositionPredicate Pred>
void mrmd::action::ThermodynamicForce::apply_if ( const data::Atoms &  atoms,
const Pred &  pred 
) const

◆ applyInterpolated_if()

template<OnePositionPredicate Pred>
void mrmd::action::ThermodynamicForce::applyInterpolated_if ( const data::Atoms &  atoms,
const Pred &  pred 
) const

◆ getDensityProfile() [1/2]

auto mrmd::action::ThermodynamicForce::getDensityProfile ( ) const
inline

◆ getDensityProfile() [2/2]

auto mrmd::action::ThermodynamicForce::getDensityProfile ( const idx_t &  typeId) const
inline

◆ getForce() [1/2]

auto mrmd::action::ThermodynamicForce::getForce ( ) const
inline

◆ getForce() [2/2]

auto mrmd::action::ThermodynamicForce::getForce ( const idx_t &  typeId) const
inline

◆ getMuLeft()

std::vector< real_t > mrmd::action::ThermodynamicForce::getMuLeft ( ) const

◆ getMuRight()

std::vector< real_t > mrmd::action::ThermodynamicForce::getMuRight ( ) const

◆ getNumberOfDensityProfileSamples()

const auto & mrmd::action::ThermodynamicForce::getNumberOfDensityProfileSamples ( ) const
inline

◆ sample()

void mrmd::action::ThermodynamicForce::sample ( data::Atoms &  atoms)

◆ setForce()

void mrmd::action::ThermodynamicForce::setForce ( const MultiView &  forces) const
inline

◆ update()

void mrmd::action::ThermodynamicForce::update ( const real_t &  smoothingSigma,
const real_t &  smoothingIntensity 
)

◆ update_if()

template<OneCoordinatePredicate Pred>
void mrmd::action::ThermodynamicForce::update_if ( const real_t &  smoothingSigma,
const real_t &  smoothingIntensity,
const Pred &  pred 
)

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