![]() |
NLMech
0.1.0
|
A class for finite difference approximation of Peridynamics More...
#include <fDModel.h>


Public Member Functions | |
| FDModel (inp::Input *deck) | |
| Constructor. More... | |
Public Member Functions inherited from model::Model | |
| Model () | |
| Constructor. | |
Private Member Functions | |
| void | computeDampingForces () |
| Computes damping force in absorbing layers. | |
| std::pair< double, util::Point3 > | computeForce (const size_t &i) |
| Computes peridynamic force on node. More... | |
| void | computeForces () |
| Computes peridynamic forces. | |
| void | computePostProcFields () |
| Computes postprocessing quantities. | |
| bool | is_reaction_force (size_t i, size_t j) |
| Validates if there is a reaction force between node i and node j. More... | |
| void | restart (inp::Input *deck) |
| Restarts the simulation from previous state. More... | |
| void | run (inp::Input *deck) |
| Main driver to simulate. More... | |
Methods to initialize the data | |
| void | initHObjects () |
| Initialize high level data members. | |
| void | init () |
| Initialize remaining data members. | |
Methods to implement explicit time integration | |
| void | integrate () |
| Perform time integration. | |
| void | integrateCD () |
| Perform time integration using central-difference scheme. More... | |
| void | integrateVerlet () |
| Perform time integration using velocity-verlet scheme. More... | |
Methods to handle output and debug | |
| void | checkOutputCriteria () |
| Checks if output frequency is to be modified. More... | |
Private Attributes | |
| inp::AbsorbingCondDeck * | d_absorbingCondDeck_p |
| Absorbing condition deck. | |
| inp::ModelDeck * | d_modelDeck_p |
| Model deck. | |
| inp::OutputDeck * | d_outputDeck_p |
| Output deck. | |
| inp::RestartDeck * | d_restartDeck_p |
| Restart deck. | |
| bool | d_stop |
| flag to stop the simulation midway | |
Data: High level objects | |
| inp::Input * | d_input_p |
| Pointer to Input object. | |
| inp::Policy * | d_policy_p |
| Pointer to Policy object. | |
| loading::InitialCondition * | d_initialCondition_p |
| Pointer to InitialCondition object. | |
| T * | d_material_p |
| Pointer to Material object. | |
| geometry::DampingGeom * | d_dampingGeom_p |
| Pointer to Material object. | |
| data::DataManager * | d_dataManager_p |
| Data Manager. | |
A class for finite difference approximation of Peridynamics
We consider explicit schemes such as central difference and velocity verlet for time integration.
This class acts as a holder of lower rank classes, such as Mesh, Loading, InitialCondition, Fracture, etc, and uses the methods and data of the lower rank classes to perform calculation.
|
explicit |
Constructor.
| deck | The input deck |

|
private |
Checks if output frequency is to be modified.
max_Z criteria which checks the maximum value of damage at nodes. If maximum value exceeds the user specified value, we change the output interval to small value as specified by user . Until maximum of damage touches value given by user, the code produces output at larger interval.N=1500,dt_out_large = 150 when the criteria max_Z is not metdt_out_small = 50 when criteria is metmax_Z criteria is not met till 1200th step, then upto 1200th step, output files will be:output_0.vtu, output_3.vtu, output_6.vtu, ... output_21.vtu, output_24.vtu0, 3*dt_out_small = 150, 6*dt_out_small = 300, ..., 1050, 12001200 step onwards output files will be:output_25.vtu, output_26.vtu, output_27.vtu, ..., output_30.vtu25*dt_out_small = 1250, 26*dt_out_small = 1300, ..., 1500dt_out_small to get the tag for output file . Output intervals however depend on the criteria, and can be at dt_out_large, or it can be at the same interval as dt_out_small. 
|
private |
Computes peridynamic force on node.
| i | Id of node |
|
private |
Perform time integration using central-difference scheme.
Central difference scheme
|
private |
Perform time integration using velocity-verlet scheme.
Velocity verlet scheme


|
private |
Validates if there is a reaction force between node i and node j.
| i | id of node i |
| j | id of node j |

|
private |
Restarts the simulation from previous state.
| deck | Input deck |
Referenced by model::FDModel< T >::FDModel().


|
private |
Main driver to simulate.
| deck | Input deck |
Referenced by model::FDModel< T >::FDModel().
