MPM-Geomechanics
Material Point Method for simulating geo-materials under large deformation conditions
Loading...
Searching...
No Matches
Solver.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
// Copyright (c) 2021-2025 MPM-Geomechanics Development Team
3
4
#ifndef SOLVER_H_
5
#define SOLVER_H_
6
7
#include <vector>
8
using
std::vector;
9
10
#include "
TerrainContact.h
"
11
12
class
Body
;
13
class
Mesh
;
14
class
Particle
;
15
18
class
Solver
{
19
20
public
:
21
24
Solver
();
25
28
virtual
~Solver
();
29
32
virtual
void
Solve
()=0;
33
36
inline
void
registerMesh
(
Mesh
*
mesh
){ this->mesh=
mesh
; }
37
40
inline
void
registerBodies
(vector<Body*>*
bodies
){ this->bodies=
bodies
; }
41
43
inline
void
registerParticles
(vector<Particle*>* p){ this->
particles
=p; }
44
46
inline
void
registerTerrainContact
(
TerrainContact
*
terrainContact
){ this->terrainContact=
terrainContact
; }
47
48
protected
:
49
50
Mesh
*
mesh
;
51
vector<Body*>*
bodies
;
52
vector<Particle*>*
particles
;
53
TerrainContact
*
terrainContact
;
54
};
55
56
inline
Solver::Solver
():mesh(0),bodies(0),particles(0),terrainContact(0) { }
57
inline
Solver::~Solver
() { }
58
59
#endif
/* SOLVER_H_ */
TerrainContact.h
Body
Represents a body in the space forming by a group of materials points and identified by a number.
Definition
Body.h:15
Mesh
Class representing a rectangular grid mesh.
Definition
Mesh.h:26
Particle
Represents a Lagrangian material point This class contain all Lagrangian variables that represents th...
Definition
Particle.h:25
Solver
Represents the operations to solve the equations in time.
Definition
Solver.h:18
Solver::registerBodies
void registerBodies(vector< Body * > *bodies)
Register the bodies in the solver.
Definition
Solver.h:40
Solver::registerParticles
void registerParticles(vector< Particle * > *p)
Register the particles in the solver.
Definition
Solver.h:43
Solver::Solve
virtual void Solve()=0
Solve the problem in time.
Solver::terrainContact
TerrainContact * terrainContact
pointer to terrain contact
Definition
Solver.h:53
Solver::registerMesh
void registerMesh(Mesh *mesh)
Register the mesh in the solver.
Definition
Solver.h:36
Solver::mesh
Mesh * mesh
pointer to mesh
Definition
Solver.h:50
Solver::Solver
Solver()
Default constructor.
Definition
Solver.h:56
Solver::registerTerrainContact
void registerTerrainContact(TerrainContact *terrainContact)
Register the terrain contact in the solver.
Definition
Solver.h:46
Solver::~Solver
virtual ~Solver()
Default destructor.
Definition
Solver.h:57
Solver::particles
vector< Particle * > * particles
pointer to particles
Definition
Solver.h:52
Solver::bodies
vector< Body * > * bodies
pointer to bodies
Definition
Solver.h:51
TerrainContact
Class to compute terrain contact.
Definition
TerrainContact.h:11
inc
Solver
Solver.h
Generated by
1.12.0