18#ifndef VOTCA_CSG_CSG_STAT_IMC_H
19#define VOTCA_CSG_CSG_STAT_IMC_H
118 std::map<std::string, std::unique_ptr<group_t> >
groups_;
129 void WriteDist(
const std::string &suffix =
"");
134 Eigen::VectorBlock<Eigen::VectorXd> &dS);
158 std::unique_ptr<CsgApplication::Worker>
ForkWorker();
Worker, derived from Thread, does the work.
std::vector< tools::Histogram > current_hists_force_
void EvalConfiguration(Topology *top, Topology *top_atom) override
evaluate current conformation
void DoNonbonded(Topology *top)
process non-bonded interactions for given frame
std::vector< tools::Histogram > current_hists_
void DoBonded(Topology *top)
process bonded interactions for given frame
class to calculate distribution functions and cross correlations for inverse monte carlo
Eigen::MatrixXd group_matrix
void BlockLength(votca::Index length)
interaction_t * AddInteraction(tools::Property *p, bool is_bonded)
create a new interaction entry based on given options
votca::Index block_length_
std::unique_ptr< CsgApplication::Worker > ForkWorker()
void WriteIMCData(const std::string &suffix="")
void EndEvaluate()
end coarse graining a trajectory
tools::Average< double > avg_vol_
tools::Property options_
the options parsed from cg definition file
void Extension(std::string ext)
void InitializeGroups()
initializes the group structs after interactions were added
std::map< std::string, std::unique_ptr< group_t > > groups_
map group-name to group
void IncludeIntra(bool include_intra)
std::vector< tools::Property * > nonbonded_
list of non-bonded interactions
std::map< std::string, std::unique_ptr< interaction_t > > interactions_
map interaction-name to interaction
void MergeWorker(CsgApplication::Worker *worker_)
void DoCorrelations(Imc::Worker *worker)
update the correlations after interations were processed
bool processed_some_frames_
std::vector< tools::Property * > bonded_
list of bonded interactions
void WriteDist(const std::string &suffix="")
void BeginEvaluate(Topology *top, Topology *top_atom)
begin coarse graining a trajectory
void CalcDeltaS(interaction_t *interaction, Eigen::VectorBlock< Eigen::VectorXd > &dS)
void WriteIMCBlock(const std::string &suffix)
void LoadOptions(const std::string &file)
load cg definitions file
Eigen::Block< group_matrix > pair_matrix
group_t * getGroup(const std::string &name)
get group by name, creates one if it doesn't exist
topology of the whole system
Provides a means for comparing floating point numbers.
struct to store collected information for groups (e.g. crosscorrelations)
std::vector< pair_t > pairs_
std::vector< interaction_t * > interactions_
struct to store collected information for interactions
tools::Histogram average_
tools::Histogram average_force_
pair_t(interaction_t *i1, interaction_t *i2, votca::Index offset_i, votca::Index offset_j, const pair_matrix &corr)