PeriDEM
0.3.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
Loading...
Searching...
No Matches
wallContact.h
Go to the documentation of this file.
1
/*
2
* -------------------------------------------
3
* Copyright (c) 2021 - 2026 Prashant K. Jha
4
* -------------------------------------------
5
* PeriDEM https://github.com/prashjha/PeriDEM
6
*
7
* Distributed under the Boost Software License, Version 1.0. (See accompanying
8
* file LICENSE)
9
*/
10
11
#ifndef CONTACT_WALLCONTACT_H
12
#define CONTACT_WALLCONTACT_H
13
14
#include "
pairForce.h
"
15
16
#include <memory>
17
#include <string>
18
19
namespace
data
{
20
class
ModelData;
21
}
22
23
namespace
contact
{
24
32
class
WallContact
{
33
public
:
34
virtual
~WallContact
() =
default
;
35
36
virtual
void
apply
(
data::ModelData
&
data
,
PairForce
*pair,
37
bool
use_node_damping)
const
= 0;
38
40
virtual
bool
skipsMeshedGrainWall
()
const
{
return
false
; }
41
};
42
43
class
MeshedWallContact
:
public
WallContact
{
44
public
:
45
void
apply
(
data::ModelData
&
data
,
PairForce
*pair,
bool
use_node_damping)
46
const override
;
47
};
48
49
class
AnalyticalPlaneWallContact
:
public
WallContact
{
50
public
:
51
void
apply
(
data::ModelData
&
data
,
PairForce
*pair,
bool
use_node_damping)
52
const override
;
53
bool
skipsMeshedGrainWall
()
const override
{
return
true
; }
54
};
55
56
std::unique_ptr<WallContact>
makeWallContact
(
const
std::string &name);
57
58
}
// namespace contact
59
60
#endif
// CONTACT_WALLCONTACT_H
contact::AnalyticalPlaneWallContact
Definition
wallContact.h:49
contact::AnalyticalPlaneWallContact::skipsMeshedGrainWall
bool skipsMeshedGrainWall() const override
Definition
wallContact.h:53
contact::AnalyticalPlaneWallContact::apply
void apply(data::ModelData &data, PairForce *pair, bool use_node_damping) const override
Definition
wallContact.cpp:29
contact::MeshedWallContact
Definition
wallContact.h:43
contact::MeshedWallContact::apply
void apply(data::ModelData &data, PairForce *pair, bool use_node_damping) const override
Definition
wallContact.cpp:27
contact::PairForce
Definition
pairForce.h:57
contact::WallContact
Optional analytical wall-contact path (Model.Wall_Contact).
Definition
wallContact.h:32
contact::WallContact::~WallContact
virtual ~WallContact()=default
contact::WallContact::apply
virtual void apply(data::ModelData &data, PairForce *pair, bool use_node_damping) const =0
contact::WallContact::skipsMeshedGrainWall
virtual bool skipsMeshedGrainWall() const
Definition
wallContact.h:40
data::ModelData
A class to store model data.
Definition
modelData.h:50
contact
Definition
contact.h:24
contact::makeWallContact
std::unique_ptr< WallContact > makeWallContact(const std::string &name)
Definition
wallContact.cpp:113
data
Definition
contact.h:20
pairForce.h
src
contact
wallContact.h
Generated by
1.9.8