PeriDyno
1.0.0
Loading...
Searching...
No Matches
D:
Peridyno
peridyno
src
Dynamics
Cuda
Multiphysics
VolumeBoundary.h
Go to the documentation of this file.
1
#pragma once
2
#include "
Volume/Volume.h
"
3
4
#include "ParticleSystem/ParticleSystem.h"
5
#include "
Peridynamics/TriangularSystem.h
"
6
#include "
Peridynamics/TetrahedralSystem.h
"
7
8
namespace
dyno
9
{
10
template
<
typename
TDataType>
class
BoundaryConstraint
;
11
12
template
<
typename
TDataType>
13
class
VolumeBoundary
:
public
Node
14
{
15
DECLARE_TCLASS
(
VolumeBoundary
, TDataType)
16
public
:
17
typedef
typename
TDataType::Real
Real
;
18
typedef
typename
TDataType::Coord
Coord
;
19
20
VolumeBoundary
();
21
~VolumeBoundary
()
override
;
22
23
std::string
getNodeType
()
override
{
return
"Multiphysics"
; }
24
25
public
:
26
DEF_VAR
(
Real
, NormalFriction,
Real
(0.95),
"Normal friction"
);
27
DEF_VAR
(
Real
, TangentialFriction,
Real
(0),
"Tangential friction"
);
28
29
public
:
30
DEF_NODE_PORTS
(
Volume<TDataType>
,
Volume
,
"Level sets used as boundary"
);
31
32
DEF_NODE_PORTS
(
ParticleSystem<TDataType>
,
ParticleSystem
,
"Particle Systems"
);
33
34
DEF_NODE_PORTS
(
TriangularSystem<TDataType>
,
TriangularSystem
,
"Triangular Systems"
);
35
36
DEF_NODE_PORTS
(
TetrahedralSystem<TDataType>
,
TetrahedralSystem
,
"Tetrahedral Systems"
);
37
38
DEF_INSTANCE_STATE
(
TopologyModule
, Topology,
""
);
39
40
protected
:
41
void
updateStates
()
override
;
42
43
private
:
44
void
updateVolume
();
45
46
std::shared_ptr <BoundaryConstraint<TDataType>>
mBoundaryConstraint
;
47
};
48
49
IMPLEMENT_TCLASS
(
VolumeBoundary
, TDataType)
50
}
DECLARE_TCLASS
#define DECLARE_TCLASS(name, T1)
Definition
Object.h:87
IMPLEMENT_TCLASS
#define IMPLEMENT_TCLASS(name, T1)
Definition
Object.h:103
TetrahedralSystem.h
TriangularSystem.h
Volume.h
dyno::BoundaryConstraint
Definition
BoundaryConstraint.h:10
dyno::Node::Node
Node()
Definition
Node.cpp:8
dyno::ParticleSystem
This class represents the base class for more advanced particle-based nodes.
Definition
ParticleSystem.h:14
dyno::TetrahedralSystem
Definition
TetrahedralSystem.h:14
dyno::TopologyModule
Definition
TopologyModule.h:25
dyno::TriangularSystem
Definition
TriangularSystem.h:14
dyno::VolumeBoundary
Definition
VolumeBoundary.h:14
dyno::VolumeBoundary::updateVolume
void updateVolume()
Definition
VolumeBoundary.cpp:35
dyno::VolumeBoundary::DEF_NODE_PORTS
DEF_NODE_PORTS(ParticleSystem< TDataType >, ParticleSystem, "Particle Systems")
dyno::VolumeBoundary::~VolumeBoundary
~VolumeBoundary() override
Definition
VolumeBoundary.cpp:30
dyno::VolumeBoundary::DEF_NODE_PORTS
DEF_NODE_PORTS(TriangularSystem< TDataType >, TriangularSystem, "Triangular Systems")
dyno::VolumeBoundary::DEF_VAR
DEF_VAR(Real, NormalFriction, Real(0.95), "Normal friction")
dyno::VolumeBoundary::DEF_NODE_PORTS
DEF_NODE_PORTS(TetrahedralSystem< TDataType >, TetrahedralSystem, "Tetrahedral Systems")
dyno::VolumeBoundary::DEF_INSTANCE_STATE
DEF_INSTANCE_STATE(TopologyModule, Topology, "")
dyno::VolumeBoundary::VolumeBoundary
VolumeBoundary()
Definition
VolumeBoundary.cpp:8
dyno::VolumeBoundary::DEF_NODE_PORTS
DEF_NODE_PORTS(Volume< TDataType >, Volume, "Level sets used as boundary")
dyno::VolumeBoundary::DEF_VAR
DEF_VAR(Real, TangentialFriction, Real(0), "Tangential friction")
dyno::VolumeBoundary::Real
TDataType::Real Real
Definition
VolumeBoundary.h:17
dyno::VolumeBoundary::updateStates
void updateStates() override
Definition
VolumeBoundary.cpp:79
dyno::VolumeBoundary::Coord
TDataType::Coord Coord
Definition
VolumeBoundary.h:18
dyno::VolumeBoundary::mBoundaryConstraint
std::shared_ptr< BoundaryConstraint< TDataType > > mBoundaryConstraint
Definition
VolumeBoundary.h:46
dyno::VolumeBoundary::getNodeType
std::string getNodeType() override
Definition
VolumeBoundary.h:23
dyno::Volume
Definition
Volume.h:10
Volume
Definition
initializeVolume.h:24
dyno
This is an implementation of AdditiveCCD based on peridyno.
Definition
Array.h:25
Generated by
1.13.2