PeriDEM 0.2.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
Loading...
Searching...
No Matches
particleULoading.h
Go to the documentation of this file.
1/*
2 * -------------------------------------------
3 * Copyright (c) 2021 - 2024 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 LOADING_PARTILCE_ULOADING_H
12#define LOADING_PARTILCE_ULOADING_H
13
14#include "particleLoading.h" // base class Loading
15#include "util/point.h" // definition of Point
16
17// forward declaration
18namespace fe {
19class Mesh;
20}
21
22namespace particle {
23class BaseParticle;
24}
25
26namespace model {
27class ModelData;
28}
29
30namespace loading {
31
36
37public:
42 ParticleULoading(std::vector<inp::PBCData> &bc_data);
43
51 bool needToProcessParticle(size_t id,
52 const inp::PBCData &bc);
53
61 bool needToComputeDof(const util::Point &x,
62 size_t id,
63 const inp::PBCData &bc);
64
70
76 void apply(const double &time, particle::BaseParticle *particle);
77
79 std::vector<bool> d_pZeroDisplacementApplied;
80};
81
82} // namespace loading
83
84#endif // LOADING_PARTILCE_ULOADING_H
A base class to apply displacement and force boundary condition.
A class to apply displacement boundary condition.
bool needToProcessParticle(size_t id, const inp::PBCData &bc)
Function that checks if given particle with id = id needs to be processed within boundary condition d...
bool needToComputeDof(const util::Point &x, size_t id, const inp::PBCData &bc)
Function that checks if we need to do computation at a given point x within a particle with id = id.
void apply(const double &time, particle::BaseParticle *particle)
Applies displacement boundary condition.
void setFixity(particle::BaseParticle *particle)
Sets fixity mask.
std::vector< bool > d_pZeroDisplacementApplied
Flag to indicate whether particles are fixed.
A class to store model data.
Definition modelData.h:47
A class to store particle geometry, nodal discretization, and methods.
Collection of methods and data related to finite element and mesh.
Definition baseElem.h:17
Collection of methods and database related to loading.
Collection of methods and data related to particle object.
User-input data for particle neighbor search.
Definition pBCData.h:24
A structure to represent 3d vectors.
Definition point.h:30