computing stress relaxation process by verlet time stepping This is the first step
More...
#include <thin_structure_dynamics.h>
Inherits SPH::thin_structure_dynamics::BaseShellRelaxation.
|
Real | rho0_ |
|
Real | inv_rho0_ |
|
StdLargeVec< Matd > & | global_stress_ |
|
StdLargeVec< Matd > & | global_moment_ |
|
StdLargeVec< Vecd > & | global_shear_stress_ |
|
StdLargeVec< Vecd > & | n_ |
|
Real | smoothing_length_ |
|
Real | E0_ |
|
Real | G0_ |
|
Real | nu_ |
|
Real | hourglass_control_factor_ |
|
bool | hourglass_control_ |
|
const Real | inv_W0_ = 1.0 / body_->sph_adaptation_->getKernel()->W0(Vecd(0)) |
|
const Real | shear_correction_factor_ = 5.0 / 6.0 |
|
const StdVec< Real > | three_gaussian_points_ = { 0.0, 0.7745966692414834, -0.7745966692414834 } |
|
const StdVec< Real > | three_gaussian_weights_ = { 0.8888888888888889, 0.5555555555555556, 0.5555555555555556 } |
|
const StdVec< Real > | five_gaussian_points_ = { 0.0, 0.5384693101056831, -0.5384693101056831, 0.9061798459386640, -0.9061798459386640 } |
|
const StdVec< Real > | five_gaussian_weights_ = { 0.5688888888888889, 0.4786286704993665, 0.4786286704993665, 0.2369268850561891, 0.2369268850561891 } |
|
int | number_of_gaussian_points_ |
|
StdVec< Real > | gaussian_point_ |
|
StdVec< Real > | gaussian_weight_ |
|
StdLargeVec< Real > & | Vol_ |
|
StdLargeVec< Real > & | rho_ |
|
StdLargeVec< Real > & | mass_ |
|
StdLargeVec< Real > & | thickness_ |
|
StdLargeVec< Vecd > & | pos_ |
|
StdLargeVec< Vecd > & | vel_ |
|
StdLargeVec< Vecd > & | acc_ |
|
StdLargeVec< Vecd > & | acc_prior_ |
|
StdLargeVec< Vecd > & | n0_ |
|
StdLargeVec< Vecd > & | pseudo_n_ |
|
StdLargeVec< Vecd > & | dpseudo_n_dt_ |
|
StdLargeVec< Vecd > & | dpseudo_n_d2t_ |
|
StdLargeVec< Vecd > & | rotation_ |
|
StdLargeVec< Vecd > & | angular_vel_ |
|
StdLargeVec< Vecd > | dangular_vel_dt_ |
|
StdLargeVec< Matd > & | B_ |
|
StdLargeVec< Matd > & | F_ |
|
StdLargeVec< Matd > & | dF_dt_ |
|
StdLargeVec< Matd > & | F_bending_ |
|
StdLargeVec< Matd > & | dF_bending_dt_ |
|
StdLargeVec< Matd > & | transformation_matrix_ |
|
Protected Attributes inherited from SPH::ParticleDynamics1Level |
ParticleFunctor | functor_initialization_ |
|
ParticleFunctor | functor_update_ |
|
ParticleFunctor | functor_interaction_ |
|
Protected Attributes inherited from SPH::ParticleDynamics< void > |
SPHBody * | sph_body_ |
|
SPHAdaptation * | sph_adaptation_ |
|
BaseParticles * | base_particles_ |
|
ParticleConfiguration & | inner_configuration_ |
|
computing stress relaxation process by verlet time stepping This is the first step
◆ ShellStressRelaxationFirstHalf()
SPH::thin_structure_dynamics::ShellStressRelaxationFirstHalf::ShellStressRelaxationFirstHalf |
( |
BaseBodyRelationInner & |
inner_relation, |
|
|
int |
number_of_gaussian_points = 3 , |
|
|
bool |
hourglass_control = false |
|
) |
| |
|
explicit |
Note that, only three-point and five-point Gaussian quadrature rules are defined.
Define the factor of hourglass control algorithm according to the dimension.
◆ Initialization()
void SPH::thin_structure_dynamics::ShellStressRelaxationFirstHalf::Initialization |
( |
size_t |
index_i, |
|
|
Real |
dt = 0.0 |
|
) |
| |
|
overrideprotectedvirtual |
Calculate the current normal direction of mid-surface.
Get transformation matrix from global coordinates to current local coordinates.
Initialize the local stress to 0.
correct Almansi strain tensor according to plane stress problem.
Impose modeling assumptions.
Only one (for 2D) or two (for 3D) angular momentum equations left.
stress and moment in global coordinates for pair interaction
Implements SPH::ParticleDynamics1Level.
◆ Interaction()
void SPH::thin_structure_dynamics::ShellStressRelaxationFirstHalf::Interaction |
( |
size_t |
index_i, |
|
|
Real |
dt = 0.0 |
|
) |
| |
|
overrideprotectedvirtual |
Whether or not to use hourglass control algorithm.
including external force (body force) and force from fluid
the relation between pseudo-normal and rotations
Implements SPH::InteractionDynamics.
The documentation for this class was generated from the following files: