ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
statistics_chain.hpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2010-2022 The ESPResSo project
3 * Copyright (C) 2002,2003,2004,2005,2006,2007,2008,2009,2010
4 * Max-Planck-Institute for Polymer Research, Theory Group
5 *
6 * This file is part of ESPResSo.
7 *
8 * ESPResSo is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * ESPResSo is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 */
21
22#pragma once
23
24/** \file
25 *
26 * This file contains the code for statistics on chains.
27 */
28
29#include "system/System.hpp"
30
31#include <array>
32
33/**
34 * @brief Calculate the end-to-end-distance.
35 *
36 * Calculates the average end-to-end-distance of a range
37 * of monodisperse polymers with continuous ids.
38 *
39 * @param system The system to analyze.
40 * @param chain_start The id of the first monomer of the first chain.
41 * @param n_chains Number of chains contained in the range.
42 * @param chain_length The length of every chain.
43 */
44std::array<double, 4> calc_re(System::System const &system, int chain_start,
45 int chain_length, int n_chains);
46
47/**
48 * @brief Calculate the radius of gyration.
49 *
50 * Calculates the average radius of gyration of a range
51 * of monodisperse polymers with continuous ids.
52 *
53 * @param system The system to analyze.
54 * @param chain_start The id of the first monomer of the first chain.
55 * @param n_chains Number of chains contained in the range.
56 * @param chain_length The length of every chain.
57 */
58std::array<double, 4> calc_rg(System::System const &system, int chain_start,
59 int chain_length, int n_chains);
60
61/**
62 * @brief Calculate the hydrodynamic radius (ref. Kirkwood-Zimm theory).
63 *
64 * Calculates the average hydrodynamic radius of a range
65 * of monodisperse polymers with continuous ids.
66 *
67 * @param system The system to analyze.
68 * @param chain_start The id of the first monomer of the first chain.
69 * @param n_chains Number of chains contained in the range.
70 * @param chain_length The length of every chain.
71 */
72std::array<double, 2> calc_rh(System::System const &system, int chain_start,
73 int chain_length, int n_chains);
Main system class.
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.
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.