MPM-Geomechanics
Material Point Method for simulating geo-materials under large deformation conditions
Loading...
Searching...
No Matches
Input.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 INPUT_H_
5#define INPUT_H_
6
7#include <string>
8using std::string;
9
10#include "Json/json.hpp"
11using json = nlohmann::json;
12
13#include "Eigen/Core"
14using Eigen::Vector3i;
15using Eigen::Vector3d;
16
17#include "Solver/Solver.h"
18#include "Materials/Material.h"
19#include "Model.h"
20#include "Boundary.h"
21#include "Loads.h"
22
38
47
56
79
86
105
114
137
143
165
187
201
210
220
225
231
239
245
257
262
268
274
280
288
294
313
334
346
353
362
380
394
404
469
487
488namespace Input {
489
492 void readInputFile(string file_name);
493
496 const json& getJson();
497
500 string getFileName();
501
505
509
513
516 double getTimeStep();
517
520 double getTimeStep();
521
525
531
535
538 Vector3i getCellsNum();
539
543
546 Vector3d getOrigin();
547
550 vector<Material*> getMaterialList();
551
554 vector<Body*> getBodyList();
555
558 Vector3d getGravity();
559
563
566 vector<string> getResultFields();
567
571
575
579 vector<Boundary::BoundaryType> getMeshBoundaryConditions();
580
582 std::string getSTLMeshFile();
583
587 vector<Boundary::BoundaryType> getMeshBoundaryConditionsFluid();
588
591 unsigned getNumThreads();
592
595 unsigned getNumberPhases();
596
599 vector<Loads::LoadDistributedBox> getLoadDistributedBox();
600
606
609 vector<Loads::PressureBox> getPrescribedPressureBox();
610
613 vector<Loads::PressureBox> getInitialPressureBox();
614
617 vector<Loads::PressureMaterial> getInitialPressureMaterial();
618
621 vector<Loads::PressureBoundaryForceBox> getPressureBoundaryForceBox();
622
625 Loads::SeismicData readSeismicData(const std::string& filename, bool hasHeader);
626
630
633};
634
635#endif /* INPUT_H_ */
nlohmann::json json
Definition Input.h:11
Represents the operations to solve the equations in time.
Definition Solver.h:18
Operations to read the input file.
vector< Material * > getMaterialList()
Return the material list.
unsigned getNumberPhases()
Return the number of phases in the simulation.
Solver * getSolver()
Return the solver to be used in the model.
bool getLoadState()
Return load state activated.
vector< Loads::PressureBox > getPrescribedPressureBox()
Return prescribed pressure in particles inside a box.
double getCriticalTimeStepMultiplier()
Return critical time step multiplier.
vector< Boundary::BoundaryType > getMeshBoundaryConditionsFluid()
Return the mesh boundary conditions of fluid.
vector< Loads::LoadDistributedBox > getLoadDistributedBox()
Return loads distributed in particles inside a box.
bool getTerrainContactActive()
Return the terrain contact active.
const json & getJson()
Return the data file structure.
Vector3d getGravity()
Return the gravity force.
Loads::NodalPointLoadData readNodalPointLoads()
read nodal point loads This function reads a points from input file in the following format: "nodal_p...
vector< Boundary::BoundaryType > getMeshBoundaryConditions()
Return the mesh boundary conditions.
Vector3i getCellsNum()
Return the number of cells in each direction.
vector< string > getResultFields()
Return the fields to be written.
double getFrictionCoefficient()
Return the friction coefficient.
double getTimeStep()
Return the time step.
Vector3d getOrigin()
Return the origin of coordinates.
double getSimulationTime()
Return the simulation time.
unsigned getNumThreads()
Return number of threads defined in the input file.
double getDampingValue()
Read the damping value.
std::string getSTLMeshFile()
Return the name of the SLT mesh for terrain contact.
vector< Loads::PressureBoundaryForceBox > getPressureBoundaryForceBox()
Return pore pressure force in particles inside a box.
vector< Loads::PressureBox > getInitialPressureBox()
Return initial pore pressure in particles inside a box.
ModelSetup::InterpolationFunctionType getInterpolationFunction()
Return the interpolation functions type.
Vector3d getCellDimension()
Return the cell dimension.
Loads::SeismicData readSeismicData(const std::string &filename, bool hasHeader)
Return the seismic data.
void readInputFile(string file_name)
Read the input file.
int getResultNum()
Return the number of results.
ModelSetup::DampingType getDampingType()
Read the damping definition in the input file.
vector< Loads::PressureMaterial > getInitialPressureMaterial()
Return initial pore pressure in particles by material id.
vector< Body * > getBodyList()
Return the body list.
string getFileName()
Return the file name.
bool getSaveState()
Return save state activated.
DampingType
Defines the type of damping.
Definition Model.h:25
InterpolationFunctionType
Defines the type of interpolation function.
Definition Model.h:33
Definition Loads.h:32
Seismic data structure to manage acceleration and velocity of an earthquake record.
Definition Loads.h:93