ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
LinearShear.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2021-2022 The ESPResSo project
3
*
4
* This file is part of ESPResSo.
5
*
6
* ESPResSo is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation, either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* ESPResSo is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#pragma once
21
22
#include "
core/lees_edwards/lees_edwards.hpp
"
23
24
#include "
script_interface/ScriptInterface.hpp
"
25
#include "
script_interface/auto_parameters/AutoParameters.hpp
"
26
27
#include <memory>
28
#include <variant>
29
30
namespace
ScriptInterface
{
31
namespace
LeesEdwards
{
32
33
class
LinearShear
:
public
Protocol
{
34
using
CoreClass
=
::LeesEdwards::LinearShear
;
35
36
public
:
37
LinearShear
()
38
: m_protocol{
39
std::make_shared<::
LeesEdwards
::ActiveProtocol>(
CoreClass
())} {
40
add_parameters
(
41
{{
"initial_pos_offset"
,
42
std::get<CoreClass>(*m_protocol).m_initial_pos_offset},
43
{
"shear_velocity"
, std::get<CoreClass>(*m_protocol).m_shear_velocity},
44
{
"time_0"
, std::get<CoreClass>(*m_protocol).m_time_0}});
45
}
46
std::shared_ptr<::LeesEdwards::ActiveProtocol>
protocol
()
override
{
47
return
m_protocol;
48
}
49
50
private
:
51
std::shared_ptr<::LeesEdwards::ActiveProtocol> m_protocol;
52
};
53
54
}
// namespace LeesEdwards
55
}
// namespace ScriptInterface
AutoParameters.hpp
ScriptInterface.hpp
ScriptInterface::AutoParameters< Protocol >::add_parameters
void add_parameters(std::vector< AutoParameter > &¶ms)
Definition
AutoParameters.hpp:115
ScriptInterface::LeesEdwards::LinearShear
Definition
LinearShear.hpp:33
ScriptInterface::LeesEdwards::LinearShear::protocol
std::shared_ptr<::LeesEdwards::ActiveProtocol > protocol() override
Definition
LinearShear.hpp:46
ScriptInterface::LeesEdwards::LinearShear::LinearShear
LinearShear()
Definition
LinearShear.hpp:37
ScriptInterface::LeesEdwards::Protocol
Definition
lees_edwards/Protocol.hpp:32
lees_edwards.hpp
LeesEdwards
Definition
integrate.cpp:93
ScriptInterface
Definition
script_interface/accumulators/AccumulatorBase.hpp:33
LeesEdwards::LinearShear
Lees-Edwards protocol for linear shearing.
Definition
protocols.hpp:38
src
script_interface
lees_edwards
LinearShear.hpp
Generated on Thu Dec 19 2024 02:13:16 for ESPResSo by
1.9.8