NLMech  0.1.0
Explicit

Data Structures

class  model::FDModel< T >
 A class for finite difference approximation of Peridynamics More...
 
class  model::QuasiStaticModel< T >
 A class for finite difference approximation of Peridynamics More...
 

Functions

void model::QuasiStaticModel< T >::assembly_jacobian_matrix ()
 Assembles the Jacobian matrix.
 
void model::QuasiStaticModel< T >::assembly_jacobian_matrix_part (size_t begin, size_t end, size_t thread)
 Assembles the Jacobian matrix. More...
 
void model::QuasiStaticModel< T >::computeForces (bool full=false)
 Computes the forces of all nodes. More...
 
void model::QuasiStaticModel< T >::computePertubatedForces (size_t thread)
 Computes the forces of all nodes using the perturbed displacement. More...
 
util::VectorXi model::QuasiStaticModel< T >::computeResidual ()
 Computes the residual for the Newton step. More...
 
void model::QuasiStaticModel< T >::initHObjects ()
 Initialize all data members.
 
util::VectorXi model::QuasiStaticModel< T >::newton_step (util::VectorXi &res)
 Computes the new displacement of Newton step. More...
 
 model::QuasiStaticModel< T >::QuasiStaticModel (inp::Input *deck)
 Constructor. More...
 
void model::QuasiStaticModel< T >::solver ()
 Starts the simulation and controls the solver.
 
 model::QuasiStaticModel< T >::~QuasiStaticModel ()
 Destructor.
 

Variables

data::DataManagermodel::QuasiStaticModel< T >::d_dataManager_p
 Data Manager.
 
std::vector< data::DataManager * > model::QuasiStaticModel< T >::d_dataManagers
 Data manager objects for the assembly of the stiffness matrix.
 
inp::Inputmodel::QuasiStaticModel< T >::d_input_p
 Pointer to Input object.
 
material::pd::BaseMaterialmodel::QuasiStaticModel< T >::d_material_p
 Pointer to Material object.
 
inp::ModelDeckmodel::QuasiStaticModel< T >::d_modelDeck_p
 Model deck.
 
std::string model::QuasiStaticModel< T >::d_name
 Name of the model.
 
size_t model::QuasiStaticModel< T >::d_nnodes
 Number of nodes.
 
size_t model::QuasiStaticModel< T >::d_osThreads
 Number of available os threads.
 
inp::OutputDeckmodel::QuasiStaticModel< T >::d_outputDeck_p
 Output deck.
 
double model::QuasiStaticModel< T >::d_time
 Current simulation time.
 
util::Matrixij model::QuasiStaticModel< T >::jacobian
 

Functions to manipulate the tangent stiffness matrix

void model::QuasiStaticModel< T >::removeRow (util::Matrixij &matrix, size_t rowToRemove)
 Removes the i-th row of a matrix. More...
 
void model::QuasiStaticModel< T >::removeCol (util::Matrixij &matrix, size_t colToRemove)
 Removes the i-th column of a matrix. More...
 
void model::QuasiStaticModel< T >::removeRow (util::VectorXi &vector, size_t rowToRemove)
 Removes the i-th row of a vector. More...
 

Detailed Description

Function Documentation

◆ assembly_jacobian_matrix_part()

template<class T >
void model::QuasiStaticModel< T >::assembly_jacobian_matrix_part ( size_t  begin,
size_t  end,
size_t  thread 
)
inlineprivate

Assembles the Jacobian matrix.

Parameters
beginFirst node of the chunk
endLast node of the chunk
threadId of the thread handling this chunk

◆ computeForces()

template<class T >
void model::QuasiStaticModel< T >::computeForces ( bool  full = false)
private

Computes the forces of all nodes.

Parameters
fullIf true the Strain and Stress tensors are computed

◆ computePertubatedForces()

template<class T >
void model::QuasiStaticModel< T >::computePertubatedForces ( size_t  thread)
inlineprivate

Computes the forces of all nodes using the perturbed displacement.

Parameters
threadThe thread which is doing the actual computation
Here is the call graph for this function:

◆ computeResidual()

template<class T >
util::VectorXi model::QuasiStaticModel< T >::computeResidual
private

Computes the residual for the Newton step.

Returns
The residual vector

◆ newton_step()

template<class T >
util::VectorXi model::QuasiStaticModel< T >::newton_step ( util::VectorXi res)
private

Computes the new displacement of Newton step.

Parameters
resResidual vector
Returns
The updated displacement

◆ QuasiStaticModel()

template<class T >
model::QuasiStaticModel< T >::QuasiStaticModel ( inp::Input deck)

Constructor.

Parameters
deckPointer to the input deck
Here is the call graph for this function:

◆ removeCol()

template<class T >
void model::QuasiStaticModel< T >::removeCol ( util::Matrixij matrix,
size_t  colToRemove 
)
private

Removes the i-th column of a matrix.

Parameters
matrixThe matrix
colToRemoveId of the column to remove

◆ removeRow() [1/2]

template<class T >
void model::QuasiStaticModel< T >::removeRow ( util::Matrixij matrix,
size_t  rowToRemove 
)
private

Removes the i-th row of a matrix.

Parameters
matrixThe matrix
rowToRemoveId of the row to remove

◆ removeRow() [2/2]

template<class T >
void model::QuasiStaticModel< T >::removeRow ( util::VectorXi vector,
size_t  rowToRemove 
)
private

Removes the i-th row of a vector.

Parameters
vectorThe vector
rowToRemoveId of the row to remove

Variable Documentation

◆ jacobian

template<class T >
util::Matrixij model::QuasiStaticModel< T >::jacobian
private

Jacobian matrix