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
19namespace data {
20class ModelData;
21}
22
23namespace contact {
24
33public:
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
44public:
45 void apply(data::ModelData &data, PairForce *pair, bool use_node_damping)
46 const override;
47};
48
50public:
51 void apply(data::ModelData &data, PairForce *pair, bool use_node_damping)
52 const override;
53 bool skipsMeshedGrainWall() const override { return true; }
54};
55
56std::unique_ptr<WallContact> makeWallContact(const std::string &name);
57
58} // namespace contact
59
60#endif // CONTACT_WALLCONTACT_H
bool skipsMeshedGrainWall() const override
Definition wallContact.h:53
void apply(data::ModelData &data, PairForce *pair, bool use_node_damping) const override
void apply(data::ModelData &data, PairForce *pair, bool use_node_damping) const override
Optional analytical wall-contact path (Model.Wall_Contact).
Definition wallContact.h:32
virtual ~WallContact()=default
virtual void apply(data::ModelData &data, PairForce *pair, bool use_node_damping) const =0
virtual bool skipsMeshedGrainWall() const
Definition wallContact.h:40
A class to store model data.
Definition modelData.h:50
std::unique_ptr< WallContact > makeWallContact(const std::string &name)
Definition contact.h:20