MPM-Geomechanics
Material Point Method for simulating geo-materials under large deformation conditions
Loading...
Searching...
No Matches
Model.h
Go to the documentation of this file.
1 /*
2 * Model.h
3 *
4 * Created on: 22 de abr de 2021
5 * Author: Fabricio Fernandez <fabricio.hmf@gmail.com>
6 */
7
8#ifndef MODEL_H_
9#define MODEL_H_
10
11#include "Eigen/Core"
12using Eigen::Vector3d;
13
14#include<string>
15using std::string;
16
17#include <chrono>
18
21namespace ModelSetup {
22
26
30
34
38
42
46
50
53 void setLoadState(bool load_state_activated);
54
58
61 void setSaveState(bool save_state_activated);
62
66
69 double getTimeStep();
70
73 void setTimeStep(double time_step);
74
77 double getTime();
78
81 void setTime(double simulation_time);
82
85 unsigned getResultNum();
86
89 void setResultNum(unsigned total_results);
90
93 unsigned getResultSteps();
94
98
101 void setCriticalTimeStepMultiplier(double critical_time_step_multiplier);
102
105 unsigned getThreads();
106
109 void setThreads(unsigned n_threads);
110
114
117 void setContactActive(bool is_contact_activated);
118
122
125 void setGravityActive(bool is_gravity_activated);
126
130 const Vector3d& getGravity();
131
135 void setGravity(const Vector3d& gravity);
136
140
143 void setAxisymetricActive(bool if_axysimentric_active);
144
148
151 void setJanumannActive(bool if_jaumann_active);
152
155 string getInputFile();
156
159 void setInputFile(string file_name);
160
165
170
174
178
181 void setDampingLocalValue(double alpha);
182
186
190
195
200
203 void setNumThreads(unsigned nThreads);
204
208
211 void setSeismicAnalysis(bool seismic_analysis_active);
212
216
219 void setTwoPhaseActive(bool two_phase_calculation_active);
220
223 void setInitialSimulationTime( std::chrono::system_clock::time_point initialTime);
224
227 std::chrono::system_clock::time_point getInitialSimulationTime( );
228
229 std::string getSeismicFileName();
230
234
237 void setCurrentTime(double currentTime);
238};
239
240#endif /* MODEL_H_ */
Contain the configuration variables that defines an specific simulation.
DampingType
Defines the type of damping.
Definition Model.h:29
@ UNDAMPED
Definition Model.h:29
@ KINETIC_DYNAMIC_RELAXATION
Definition Model.h:29
@ LOCAL
Definition Model.h:29
bool getJanumannActive()
Return if Jaumann rate is active.
void setAxisymetricActive(bool if_axysimentric_active)
Configure if axisymetric analisys is active.
ModelSetup::DampingType getDampingType()
Return the damping type.
double getDampingLocal()
Return the local damping value.
ModelSetup::StressUpdateScheme getUpdateStressScheme()
Return the scheme for updating the stress.
ModelSetup::DampingType getDamping()
Return the damping type.
bool getAxisymetricActive()
Return if axisymetric analisys is active.
bool getTwoPhaseActive()
Return if two-phase calculation is active.
unsigned getResultNum()
Return the total results to be written.
void setUpdateStressScheme(ModelSetup::StressUpdateScheme stress_sheme_update)
Configure the scheme for updating the stress.
double getTimeStep()
Return the time step.
bool getLinuxSystem()
Return true is the system is Linux.
std::chrono::system_clock::time_point getInitialSimulationTime()
Get initial simulation time.
unsigned getContributionNodesNum()
Return the number of nodes that a particle contributes.
std::string getSeismicFileName()
void setTwoPhaseActive(bool two_phase_calculation_active)
Configure if two-phase calculation is active.
bool getSaveState()
Return true is save state is activated.
void setTime(double simulation_time)
Configure the simulation time.
void setNumThreads(unsigned nThreads)
Configure the number of threads in the model.
void setSaveState(bool save_state_activated)
Set save state activated.
void setThreads(unsigned n_threads)
Configures the number of threads.
bool getContactActive()
Return if contact method is activated.
bool getSeismicAnalysis()
Return true if seismic analysis is active.
unsigned getThreads()
Return the number of threads in the simulation.
bool getWindowsSystem()
Return true is the system is Windows.
unsigned getResultSteps()
Return the every how many steps the results will be written.
InterpolationFunctionType
Defines the type of interpolation function.
Definition Model.h:37
@ GIMP
Definition Model.h:37
@ LINEAR
Definition Model.h:37
void setInputFile(string file_name)
Configure the input file name.
void setCurrentTime(double currentTime)
Set current simulation time.
OperationalSystem
Defines the current operational system.
Definition Model.h:33
@ LINUX
Definition Model.h:33
@ WINDOWS
Definition Model.h:33
void setDampingType(ModelSetup::DampingType dampingType)
Configure the damping type.
StressUpdateScheme
Defines the type of scheme used to update the stress.
Definition Model.h:25
@ USL
Definition Model.h:25
@ MUSL
Definition Model.h:25
@ USF
Definition Model.h:25
void setTimeStep(double time_step)
Configure the time step.
double getTime()
Return the simulation time.
void setInitialSimulationTime(std::chrono::system_clock::time_point initialTime)
Set initial simulation time.
void setInterpolationFunction(ModelSetup::InterpolationFunctionType interpolation_functions_type)
Configure the interpolation functions type.
void setGravity(const Vector3d &gravity)
Configure the gravity vector.
double getCriticalTimeStepMultiplier()
Return the critical sime step multiplier.
bool getGravityActive()
Return if gravity is active.
double getCurrentTime()
Get current simulation time.
void setGravityActive(bool is_gravity_activated)
Configure if gravity is active.
ModelSetup::InterpolationFunctionType getInterpolationFunction()
Return the interpolation functions type.
void setContactActive(bool is_contact_activated)
Configure if contact method is activated.
void setResultNum(unsigned total_results)
Configure the total results to be written.
void setCriticalTimeStepMultiplier(double critical_time_step_multiplier)
Configures the fraction of critical time step.
void setJanumannActive(bool if_jaumann_active)
Configure if Jaumann rate is active.
void setDampingLocalValue(double alpha)
Configure the local damping value.
void setLoadState(bool load_state_activated)
Set load state activated.
const Vector3d & getGravity()
Return the gravity vector.
void setSeismicAnalysis(bool seismic_analysis_active)
Configure if seismic analysis is active.
string getInputFile()
Return the input file name.
bool getLoadState()
Return true is load state is activated.