SPHinXsys
alpha version
|
Exerts spring force force on the surface in normal direction in the form of acceleration to each particle. The input stiffness should be defined in Pa/m. The stiffness is scaled by the surface area of the particle to get N/m The force is applied to all the surface particles that can be seen (outer_surface = false) or cannot be seen (outer_surface = true) from the source point. Can be used for outer or inner surface of a shell structure ofr example. The spring force is calculated based on the difference from the particle's initial position. Only for 3D applications Only for uniform surface particle size. More...
#include <loading_dynamics.h>
Inherits SPH::PartSimpleDynamicsByParticle, and SPH::DataDelegateSimple< BodyType, ParticlesType, MaterialType >.
Public Member Functions | |
SpringNormalOnSurfaceParticles (SolidBody &solid_body, BodyPartByParticle &body_part, bool outer_surface, Vecd source_point, Real stiffness, Real damping_ratio=0.05) | |
StdLargeVec< bool > & | GetApplySpringForceToParticle () |
Public Member Functions inherited from SPH::PartSimpleDynamicsByParticle | |
PartSimpleDynamicsByParticle (SPHBody &sph_body, BodyPartByParticle &body_part) | |
virtual void | exec (Real dt=0.0) override |
virtual void | parallel_exec (Real dt=0.0) override |
Public Member Functions inherited from SPH::PartDynamicsByParticle | |
PartDynamicsByParticle (SPHBody &sph_body, BodyPartByParticle &body_part) | |
Public Member Functions inherited from SPH::ParticleDynamics< void > | |
ParticleDynamics (SPHBody &sph_body) | |
SPHBody * | getSPHBody () |
Public Member Functions inherited from SPH::DataDelegateSimple< BodyType, ParticlesType, MaterialType > | |
DataDelegateSimple (SPHBody &sph_body) | |
BodyType * | getBody () |
ParticlesType * | getParticles () |
MaterialType * | getMaterial () |
Protected Member Functions | |
virtual Vecd | getSpringForce (size_t index_i, Vecd disp) |
virtual Vecd | getDampingForce (size_t index_i) |
virtual void | Update (size_t index_i, Real dt=0.0) override |
Protected Member Functions inherited from SPH::ParticleDynamics< void > | |
void | setBodyUpdated () |
virtual void | setupDynamics (Real dt=0.0) |
Protected Attributes | |
StdLargeVec< Vecd > & | pos_ |
StdLargeVec< Vecd > & | pos0_ |
StdLargeVec< Vecd > & | n_ |
StdLargeVec< Vecd > & | n0_ |
StdLargeVec< Vecd > & | vel_ |
StdLargeVec< Vecd > & | acc_prior_ |
StdLargeVec< Real > & | mass_ |
Real | stiffness_ |
Real | damping_coeff_ |
StdLargeVec< bool > | apply_spring_force_to_particle_ |
Protected Attributes inherited from SPH::PartSimpleDynamicsByParticle | |
ParticleFunctor | functor_update_ |
Protected Attributes inherited from SPH::PartDynamicsByParticle | |
IndexVector & | body_part_particles_ |
Protected Attributes inherited from SPH::ParticleDynamics< void > | |
SPHBody * | sph_body_ |
SPHAdaptation * | sph_adaptation_ |
BaseParticles * | base_particles_ |
Protected Attributes inherited from SPH::DataDelegateSimple< BodyType, ParticlesType, MaterialType > | |
BodyType * | body_ |
ParticlesType * | particles_ |
MaterialType * | material_ |
StdLargeVec< size_t > & | sorted_id_ |
StdLargeVec< size_t > & | unsorted_id_ |
Additional Inherited Members | |
Static Public Attributes inherited from SPH::GlobalStaticVariables | |
static Real | physical_time_ = 0.0 |
Exerts spring force force on the surface in normal direction in the form of acceleration to each particle. The input stiffness should be defined in Pa/m. The stiffness is scaled by the surface area of the particle to get N/m The force is applied to all the surface particles that can be seen (outer_surface = false) or cannot be seen (outer_surface = true) from the source point. Can be used for outer or inner surface of a shell structure ofr example. The spring force is calculated based on the difference from the particle's initial position. Only for 3D applications Only for uniform surface particle size.