ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
script_interface/pair_criteria/EnergyCriterion.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
#ifndef ESPRESSO_SRC_SCRIPT_INTERFACE_PAIR_CRITERIA_ENERGY_CRITERION_HPP
23
#define ESPRESSO_SRC_SCRIPT_INTERFACE_PAIR_CRITERIA_ENERGY_CRITERION_HPP
24
25
#include "
script_interface/auto_parameters/AutoParameters.hpp
"
26
#include "
script_interface/get_value.hpp
"
27
#include "
script_interface/pair_criteria/PairCriterion.hpp
"
28
29
#include "
core/pair_criteria/EnergyCriterion.hpp
"
30
#include "
core/system/System.hpp
"
31
32
#include <memory>
33
#include <string>
34
35
namespace
ScriptInterface
{
36
namespace
PairCriteria
{
37
38
class
EnergyCriterion
:
public
PairCriterion
{
39
public
:
40
EnergyCriterion
()
41
: m_c(
std
::make_shared<::
PairCriteria
::
EnergyCriterion
>(
42
::
System
::get_system())) {
43
add_parameters
(
44
{{
"cut_off"
,
45
[
this
](
Variant
const
&v) { m_c->set_cut_off(
get_value<double>
(v)); },
46
[
this
]() {
return
m_c->get_cut_off(); }}});
47
}
48
49
std::shared_ptr<::PairCriteria::PairCriterion>
50
pair_criterion
()
const override
{
51
return
m_c;
52
}
53
54
private
:
55
std::shared_ptr<::PairCriteria::EnergyCriterion> m_c;
56
};
57
58
}
/* namespace PairCriteria */
59
}
/* namespace ScriptInterface */
60
61
#endif
AutoParameters.hpp
ScriptInterface::AutoParameters< PairCriterion >::add_parameters
void add_parameters(std::vector< AutoParameter > &¶ms)
Definition
AutoParameters.hpp:123
ScriptInterface::PairCriteria::EnergyCriterion
Definition
script_interface/pair_criteria/EnergyCriterion.hpp:38
ScriptInterface::PairCriteria::EnergyCriterion::EnergyCriterion
EnergyCriterion()
Definition
script_interface/pair_criteria/EnergyCriterion.hpp:40
ScriptInterface::PairCriteria::EnergyCriterion::pair_criterion
std::shared_ptr<::PairCriteria::PairCriterion > pair_criterion() const override
Definition
script_interface/pair_criteria/EnergyCriterion.hpp:50
ScriptInterface::PairCriteria::PairCriterion
Definition
script_interface/pair_criteria/PairCriterion.hpp:37
stream
cudaStream_t stream[1]
CUDA streams for parallel computing on CPU and GPU.
Definition
common_cuda.cu:34
EnergyCriterion.hpp
System.hpp
get_value.hpp
PairCriteria
Definition
core/pair_criteria/BondCriterion.hpp:26
ScriptInterface
Definition
script_interface/accumulators/AccumulatorBase.hpp:33
System
Definition
core/accumulators/AccumulatorBase.hpp:31
std
STL namespace.
PairCriterion.hpp
ScriptInterface::impl::recursive_variant
Recursive variant implementation.
Definition
Variant.hpp:84
src
script_interface
pair_criteria
EnergyCriterion.hpp
Generated on Tue Dec 9 2025 02:28:55 for ESPResSo by
1.9.8