faunus
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Faunus::Energy::SASAEnergyReference Class Reference

class for calculating SASA energies calculating SASA of each particle every step More...

#include <energy.h>

Inheritance diagram for Faunus::Energy::SASAEnergyReference:
Inheritance graph
[legend]
Collaboration diagram for Faunus::Energy::SASAEnergyReference:
Collaboration graph
[legend]

Public Member Functions

 SASAEnergyReference (const Space &spc, double cosolute_molarity, double probe_radius, int slices_per_atom=25, bool dense_container=true)
 
 SASAEnergyReference (const json &j, const Space &spc)
 
const std::vector< double > & getAreas () const
 
double energy (const Change &change) override
 energy due to change
 
- Public Member Functions inherited from Faunus::Energy::EnergyTerm
virtual void updateState (const Change &change)
 Update internal state to reflect change in e.g. Space. More...
 
virtual void force (PointVector &forces)
 update forces on all particles
 

Protected Types

using index_type = size_t
 

Protected Member Functions

void init () override
 reset and initialize
 
auto indexOf (const Particle &particle) const
 absolute index of particle in space particle vector
 

Protected Attributes

const Spacespc
 Space to operate on.
 
std::vector< double > areas
 Target buffer for calculated surface areas.
 
double cosolute_molarity = 0.0
 co-solute concentration (mol/l)
 
std::unique_ptr< SASA::SASABasesasa
 performs neighbour searching and subsequent sasa calculation
 

Additional Inherited Members

- Public Types inherited from Faunus::Energy::EnergyTerm
enum  MonteCarloState { ACCEPTED, TRIAL, NONE }
 
- Public Attributes inherited from Faunus::Energy::EnergyTerm
MonteCarloState state = MonteCarloState::NONE
 
std::string name
 Meaningful name.
 
std::string citation_information
 Possible reference; may be left empty.
 
TimeRelativeOfTotal< std::chrono::microseconds > timer
 Timer for measuring speed.
 

Detailed Description

class for calculating SASA energies calculating SASA of each particle every step

This calculates SASA for all particles, i.e. the Change object is ignored and a full (and slow) system update is performed on each call to energy(). This class is used as a reference and base class for more clever implementations.

Constructor & Destructor Documentation

◆ SASAEnergyReference()

Faunus::Energy::SASAEnergyReference::SASAEnergyReference ( const Space spc,
double  cosolute_molarity,
double  probe_radius,
int  slices_per_atom = 25,
bool  dense_container = true 
)
Parameters
spc
cosolute_molarityin particles per angstrom cubed
probe_radiusin angstrom
slices_per_atomnumber of slices of spheres in SASA calculation
dense_containerflag specifying if a fast memory heavy version of cell_list container is used

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