ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
statistics_chain.cpp File Reference

Implementation of statistics_chain.hpp. More...

#include "analysis/statistics_chain.hpp"
#include "BoxGeometry.hpp"
#include "Particle.hpp"
#include "cell_system/CellStructure.hpp"
#include "communication.hpp"
#include "system/System.hpp"
#include <utils/Vector.hpp>
#include <utils/math/sqr.hpp>
#include <utils/mpi/gather_buffer.hpp>
#include <boost/mpi/collectives/all_reduce.hpp>
#include <array>
#include <cmath>
#include <functional>
#include <stdexcept>
#include <unordered_map>
#include <vector>
+ Include dependency graph for statistics_chain.cpp:

Go to the source code of this file.

Classes

struct  GatherParticleTraits< T >
 Gather particle properties (or any derived quantities) on MPI rank 0. More...
 
struct  GatherPos
 
struct  GatherCom
 
struct  GatherMass
 

Functions

std::array< double, 4 > calc_re (System::System const &system, int chain_start, int chain_length, int n_chains)
 Calculate the end-to-end-distance.
 
std::array< double, 4 > calc_rg (System::System const &system, int chain_start, int chain_length, int n_chains)
 Calculate the radius of gyration.
 
std::array< double, 2 > calc_rh (System::System const &system, int chain_start, int chain_length, int n_chains)
 Calculate the hydrodynamic radius (ref.
 

Detailed Description

Implementation of statistics_chain.hpp.

Definition in file statistics_chain.cpp.

Function Documentation

◆ calc_re()

std::array< double, 4 > calc_re ( System::System const &  system,
int  chain_start,
int  chain_length,
int  n_chains 
)

Calculate the end-to-end-distance.

Calculates the average end-to-end-distance of a range of monodisperse polymers with continuous ids.

Parameters
systemThe system to analyze.
chain_startThe id of the first monomer of the first chain.
n_chainsNumber of chains contained in the range.
chain_lengthThe length of every chain.

Definition at line 101 of file statistics_chain.cpp.

References System::System::box_geo, System::System::cell_structure, comm_cart, and Utils::sqr().

Referenced by ScriptInterface::Analysis::Analysis::do_call_method().

◆ calc_rg()

std::array< double, 4 > calc_rg ( System::System const &  system,
int  chain_start,
int  chain_length,
int  n_chains 
)

Calculate the radius of gyration.

Calculates the average radius of gyration of a range of monodisperse polymers with continuous ids.

Parameters
systemThe system to analyze.
chain_startThe id of the first monomer of the first chain.
n_chainsNumber of chains contained in the range.
chain_lengthThe length of every chain.

Definition at line 133 of file statistics_chain.cpp.

References Utils::Array< T, N >::at(), System::System::box_geo, System::System::cell_structure, comm_cart, and Utils::sqr().

Referenced by ScriptInterface::Analysis::Analysis::do_call_method().

◆ calc_rh()

std::array< double, 2 > calc_rh ( System::System const &  system,
int  chain_start,
int  chain_length,
int  n_chains 
)

Calculate the hydrodynamic radius (ref.

Kirkwood-Zimm theory).

Calculates the average hydrodynamic radius of a range of monodisperse polymers with continuous ids.

Parameters
systemThe system to analyze.
chain_startThe id of the first monomer of the first chain.
n_chainsNumber of chains contained in the range.
chain_lengthThe length of every chain.

Definition at line 197 of file statistics_chain.cpp.

References System::System::box_geo, System::System::cell_structure, comm_cart, and Utils::sqr().

Referenced by ScriptInterface::Analysis::Analysis::do_call_method().