ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
hat.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
* Routines to calculate the hat potential between particle pairs.
26
*
27
* Implementation in \ref hat.cpp.
28
*/
29
30
#include "
config/config.hpp
"
31
32
#ifdef ESPRESSO_HAT
33
34
#include "
nonbonded_interaction_data.hpp
"
35
36
/** Calculate hat force factor */
37
inline
double
hat_pair_force_factor
(
IA_parameters
const
&ia_params,
38
double
dist) {
39
if
(dist != 0. and dist < ia_params.
hat
.
r
) {
40
return
ia_params.
hat
.
Fmax
* (1.0 - dist / ia_params.
hat
.
r
) / dist;
41
}
42
return
0.0;
43
}
44
45
/** Calculate hat energy */
46
inline
double
hat_pair_energy
(
IA_parameters
const
&ia_params,
double
dist) {
47
if
(dist < ia_params.
hat
.
r
) {
48
auto
const
r = ia_params.
hat
.
r
;
49
return
ia_params.
hat
.
Fmax
* (dist - r) * ((dist + r) / (2.0 * r) - 1.0);
50
}
51
return
0.0;
52
}
53
54
#endif
// ESPRESSO_HAT
config.hpp
hat_pair_force_factor
double hat_pair_force_factor(IA_parameters const &ia_params, double dist)
Calculate hat force factor.
Definition
hat.hpp:37
hat_pair_energy
double hat_pair_energy(IA_parameters const &ia_params, double dist)
Calculate hat energy.
Definition
hat.hpp:46
nonbonded_interaction_data.hpp
Various procedures concerning interactions between particles.
Hat_Parameters::Fmax
double Fmax
Definition
nonbonded_interaction_data.hpp:194
Hat_Parameters::r
double r
Definition
nonbonded_interaction_data.hpp:195
IA_parameters
Parameters for non-bonded interactions.
Definition
nonbonded_interaction_data.hpp:276
IA_parameters::hat
Hat_Parameters hat
Definition
nonbonded_interaction_data.hpp:324
src
core
nonbonded_interactions
hat.hpp
Generated on Sun Jan 4 2026 02:32:22 for ESPResSo by
1.9.8