9 #ifndef MODEL_QSMODEL_H
10 #define MODEL_QSMODEL_H
12 #include <hpx/config.hpp>
13 #include "model/model.h"
14 #include "inp/decks/modelDeck.h"
27 class VolumeCorrection;
40 class InitialCondition;
53 class StateBasedHelperFunctions;
Data manager to collect the global simulation data.
Definition: DataManager.h:58
A base class providing methods to compute energy density and force.
Definition: baseMaterial.h:26
A base class for different model implementation.
Definition: model.h:37
A class for finite difference approximation of Peridynamics
Definition: QuasiStaticModel.h:92
A interface class writing data.
Definition: writer.h:41
void initHObjects()
Initialize all data members.
Definition: QuasiStaticModel.cpp:77
QuasiStaticModel(inp::Input *deck)
Constructor.
Definition: QuasiStaticModel.cpp:26
inp::ModelDeck * d_modelDeck_p
Model deck.
Definition: QuasiStaticModel.h:199
data::DataManager * d_dataManager_p
Data Manager.
Definition: QuasiStaticModel.h:211
util::VectorXi newton_step(util::VectorXi &res)
Computes the new displacement of Newton step.
Definition: QuasiStaticModel.cpp:457
void computeForces(bool full=false)
Computes the forces of all nodes.
Definition: QuasiStaticModel.cpp:169
std::vector< data::DataManager * > d_dataManagers
Data manager objects for the assembly of the stiffness matrix.
Definition: QuasiStaticModel.h:196
inp::OutputDeck * d_outputDeck_p
Output deck.
Definition: QuasiStaticModel.h:202
void solver()
Starts the simulation and controls the solver.
Definition: QuasiStaticModel.cpp:527
void removeRow(util::Matrixij &matrix, size_t rowToRemove)
Removes the i-th row of a matrix.
Definition: QuasiStaticModel.cpp:294
size_t d_nnodes
Number of nodes.
Definition: QuasiStaticModel.h:181
double d_time
Current simulation time.
Definition: QuasiStaticModel.h:184
void removeCol(util::Matrixij &matrix, size_t colToRemove)
Removes the i-th column of a matrix.
Definition: QuasiStaticModel.cpp:307
inp::Input * d_input_p
Pointer to Input object.
Definition: QuasiStaticModel.h:205
util::Matrixij jacobian
Definition: QuasiStaticModel.h:193
void assembly_jacobian_matrix_part(size_t begin, size_t end, size_t thread)
Assembles the Jacobian matrix.
Definition: QuasiStaticModel.cpp:362
std::string d_name
Name of the model.
Definition: QuasiStaticModel.h:187
size_t d_osThreads
Number of available os threads.
Definition: QuasiStaticModel.h:190
material::pd::BaseMaterial * d_material_p
Pointer to Material object.
Definition: QuasiStaticModel.h:208
void computePertubatedForces(size_t thread)
Computes the forces of all nodes using the perturbed displacement.
Definition: QuasiStaticModel.cpp:242
util::VectorXi computeResidual()
Computes the residual for the Newton step.
Definition: QuasiStaticModel.cpp:597
void assembly_jacobian_matrix()
Assembles the Jacobian matrix.
Definition: QuasiStaticModel.cpp:331
~QuasiStaticModel()
Destructor.
Definition: QuasiStaticModel.cpp:60
Data mamanger to share the global simulation data between the classes.
Definition: DataManager.h:55
Collection of methods and data related to finite element and mesh.
Definition: baseElem.h:15
Collection of methods and data related to geometry.
Definition: DataManager.h:23
Collection of methods and database related to input.
Definition: main.cpp:21
Collection of methods and database related to loading.
Definition: DataManager.h:38
Collection of Peridynamic models.
Definition: fDModel.h:56
Collection of methods and database related to reading and writing.
Definition: QuasiStaticModel.h:60
Collection of methods useful in simulation.
Definition: DataManager.h:50
blaze::DynamicMatrix< double > Matrixij
Blaze: Definition of n x m matrix.
Definition: matrixBlaze.h:19
blaze::DynamicVector< double, blaze::columnVector > VectorXi
Blaze: Definition of vector.
Definition: matrixBlaze.h:17
Structure to read and store model related input data.
Definition: modelDeck.h:23
Structure to read input data for performing simulation output.
Definition: outputDeck.h:24