Free Electron
ext
solve
ExplicitInertial.h
Go to the documentation of this file.
1
/* Copyright (C) 2003-2021 Free Electron Organization
2
Any use of this software requires a license. If a valid license
3
was not distributed with this file, visit freeelectron.org. */
4
5
/** @file */
6
7
#ifndef __solve_ExplicitInertial_h__
8
#define __solve_ExplicitInertial_h__
9
10
#include "
signal/signal.h
"
11
#include "
datatool/datatool.h
"
12
#include "
shape/shape.h
"
13
14
namespace
fe
15
{
16
namespace
ext
17
{
18
19
/** Euler time integration
20
21
@copydoc ExplicitInertial_info
22
*/
23
class
FE_DL_EXPORT
ExplicitInertial
:
24
virtual
public
HandlerI
,
25
virtual
public
Config
,
26
public
Initialize
<ExplicitInertial>
27
{
28
public
:
29
ExplicitInertial
(
void
);
30
virtual
~
ExplicitInertial
(
void
);
31
virtual
void
initialize(
void
);
32
33
// AS HandlerI
34
virtual
void
handleBind(
sp<SignalerI>
spSignaler,
35
sp<Layout>
l_sig);
36
virtual
void
handle(
Record
&r_sig);
37
38
private
:
39
AsParticle
m_asParticle;
40
AsForcePoint
m_asForcePoint;
41
AsTemporal
m_asTemporal;
42
AsRK2 m_asRK2;
43
AsAccumulate
m_asAccumulate;
44
AsClear
m_asClear;
45
AsUpdate
m_asUpdate;
46
hp<SignalerI>
m_hpSignaler;
47
sp<Scope>
m_spScope;
48
Record
r_clear;
49
Record
r_accum;
50
Record
r_update;
51
//std::vector<SpatialVector> m_forceTemp;
52
//std::vector<SpatialVector> m_velTemp;
53
54
enum
55
{
56
e_foreback = 0,
57
e_rk2 = 1,
58
e_euler = 2,
59
e_verlet = 3
60
};
61
FE_UWORD m_mode;
62
63
void
accumulate(
sp<RecordGroup>
rg_input, Real a_timestep);
64
};
65
66
}
/* namespace ext */
67
}
/* namespace fe */
68
69
#endif
/* __solve_ExplicitInertial_h__ */
70
fe::ext::Config
Convienience base class for specification and use of path accessors.
Definition:
Config.h:19
fe::ext::ExplicitInertial
Euler time integration.
Definition:
ExplicitInertial.h:23
fe
kernel
Definition:
namespace.dox:3
fe::ext::AsForcePoint
force application point
Definition:
shapeAS.h:42
fe::Initialize
Per-class participation in the Initialized <> mechanism.
Definition:
Initialized.h:117
fe::ext::AsClear
clear signal
Definition:
solveAS.h:38
signal.h
fe::ext::HandlerI
Interface to handle signals from an SignalerI.
Definition:
HandlerI.h:22
fe::ext::AsParticle
particle in physical space
Definition:
shapeAS.h:58
fe::hp< SignalerI >
fe::ext::AsTemporal
Time-based Operator.
Definition:
datatoolAS.h:73
fe::ext::AsUpdate
update state signal
Definition:
solveAS.h:97
fe::RecordSB
Reference to an instance of a Layout.
Definition:
RecordSB.h:35
fe::sp< SignalerI >
shape.h
fe::ext::AsAccumulate
accumulate signal
Definition:
solveAS.h:59
datatool.h
Generated by
1.8.13