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/*
2 * Input.h
3 *
4 * Created on: 13 de abr de 2021
5 * Author: Fabricio Fernandez <fabricio.hmf@gmail.com>
6 */
7
8#ifndef INPUT_H_
9#define INPUT_H_
10
11#include <string>
12using std::string;
13
14#include "Json/json.hpp"
15using json = nlohmann::json;
16
17#include "Eigen/Core"
18using Eigen::Vector3i;
19using Eigen::Vector3d;
20
21#include "Solver/Solver.h"
22#include "Materials/Material.h"
23#include "Model.h"
24#include "Boundary.h"
25#include "Loads.h"
26
42
51
60
83
90
109
118
141
147
169
191
205
214
224
229
235
243
249
261
266
272
278
284
292
298
317
338
350
357
366
384
398
408
473
491
492namespace Input {
493
496 void readInputFile(string file_name);
497
500 const json& getJson();
501
504 string getFileName();
505
509
513
517
520 double getTimeStep();
521
524 double getTimeStep();
525
529
535
539
542 Vector3i getCellsNum();
543
547
550 Vector3d getOrigin();
551
554 vector<Material*> getMaterialList();
555
558 vector<Body*> getBodyList();
559
562 Vector3d getGravity();
563
567
570 vector<string> getResultFields();
571
575
579
583 vector<Boundary::BoundaryType> getMeshBoundaryConditions();
584
588 vector<Boundary::BoundaryType> getMeshBoundaryConditionsFluid();
589
592 unsigned getNumThreads();
593
596 unsigned getNumberPhases();
597
600 vector<Loads::LoadDistributedBox> getLoadDistributedBox();
601
607
610 vector<Loads::PressureBox> getPrescribedPressureBox();
611
614 vector<Loads::PressureBox> getInitialPressureBox();
615
618 vector<Loads::PressureMaterial> getInitialPressureMaterial();
619
622 vector<Loads::PressureBoundaryForceBox> getPressureBoundaryForceBox();
623
624 Loads::SeismicData readSeismicData(const std::string& filename, bool hasHeader);
625};
626
627#endif /* INPUT_H_ */
nlohmann::json json
Definition Input.h:15
Represents the operations to solve the equations in time.
Definition Solver.h:19
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.
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 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.
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)
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:29
InterpolationFunctionType
Defines the type of interpolation function.
Definition Model.h:37
Definition Loads.h:36
Seismic data structure to manage acceleration and velocity of an earthquake record.
Definition Loads.h:97