PeriDEM 0.3.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
Loading...
Searching...
No Matches
policy.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_POLICY_H
12#define CONTACT_POLICY_H
13
14#include "damping.h"
15#include "pairForce.h"
16
17#include <memory>
18#include <string>
19
20namespace contact {
21
23std::unique_ptr<PairForce> makePairForce(const std::string &friction_law);
24
26std::unique_ptr<Damping> makeDamping(const std::string &name);
27
29bool usesComDamping(const std::string &damping_law);
30
32bool usesNodeDamping(const std::string &damping_law);
33
34} // namespace contact
35
36#endif // CONTACT_POLICY_H
std::unique_ptr< Damping > makeDamping(const std::string &name)
Build COM damping object, or nullptr when the law has no COM term.
Definition policy.cpp:29
std::unique_ptr< PairForce > makePairForce(const std::string &friction_law)
Build pair-force object from friction-law name.
Definition policy.cpp:17
bool usesNodeDamping(const std::string &damping_law)
True for node / com_and_node.
Definition policy.cpp:43
bool usesComDamping(const std::string &damping_law)
True for com / com_and_node.
Definition policy.cpp:39