diff --git a/src/shared/materials/general_continuum.cpp b/src/shared/materials/general_continuum.cpp index d728d54b81..92c94430d8 100644 --- a/src/shared/materials/general_continuum.cpp +++ b/src/shared/materials/general_continuum.cpp @@ -114,9 +114,7 @@ Real J2Plasticity::ScalePenaltyForce(Matd &shear_stress, Real &hardening_factor) Real r = 1.0; Real f = sqrt(2.0 * stress_tensor_J2) - sqrt_2_over_3_ * (hardening_modulus_ * hardening_factor + yield_stress_); if (f > TinyReal) - { r = (sqrt_2_over_3_ * (hardening_modulus_ * hardening_factor + yield_stress_)) / (sqrt(2.0 * stress_tensor_J2) + TinyReal); - } return r; } //=================================================================================================// diff --git a/src/shared/materials/general_continuum.h b/src/shared/materials/general_continuum.h index dcf59e260d..e809ef7f5a 100644 --- a/src/shared/materials/general_continuum.h +++ b/src/shared/materials/general_continuum.h @@ -43,7 +43,7 @@ class GeneralContinuum : public WeaklyCompressibleFluid Real contact_stiffness_; /* contact-force stiffness related to bulk modulus*/ public: explicit GeneralContinuum(Real rho0, Real c0, Real youngs_modulus, Real poisson_ratio) - : WeaklyCompressibleFluid(rho0, c0), E_(0.0), G_(0.0), K_(0.0), nu_(0.0), contact_stiffness_(c0 * c0) + : WeaklyCompressibleFluid(rho0, c0), E_(0.0), G_(0.0), K_(0.0), nu_(0.0), contact_stiffness_(rho0_ * c0 * c0) { material_type_name_ = "GeneralContinuum"; E_ = youngs_modulus; diff --git a/src/shared/particle_dynamics/continuum_dynamics/continuum_integration.cpp b/src/shared/particle_dynamics/continuum_dynamics/continuum_integration.cpp index 65c07d5236..f9b0888e01 100644 --- a/src/shared/particle_dynamics/continuum_dynamics/continuum_integration.cpp +++ b/src/shared/particle_dynamics/continuum_dynamics/continuum_integration.cpp @@ -116,7 +116,7 @@ void ShearStressRelaxation::update(size_t index_i, Real dt) //====================================================================================// StressDiffusion::StressDiffusion(BaseInnerRelation &inner_relation) : BasePlasticIntegration(inner_relation), - fai_(DynamicCast(this, plastic_continuum_).getFrictionAngle()), + phi_(DynamicCast(this, plastic_continuum_).getFrictionAngle()), smoothing_length_(sph_body_.sph_adaptation_->ReferenceSmoothingLength()), sound_speed_(plastic_continuum_.ReferenceSoundSpeed()) {} //====================================================================================// @@ -135,17 +135,17 @@ void StressDiffusion::interaction(size_t index_i, Real dt) Real dW_ijV_j = inner_neighborhood.dW_ij_[n] * Vol_[index_j]; Real y_ij = pos_[index_i](1, 0) - pos_[index_j](1, 0); diffusion_stress_ = stress_tensor_3D_[index_i] - stress_tensor_3D_[index_j]; - diffusion_stress_(0, 0) -= (1 - sin(fai_)) * density * gravity * y_ij; + diffusion_stress_(0, 0) -= (1 - sin(phi_)) * density * gravity * y_ij; diffusion_stress_(1, 1) -= density * gravity * y_ij; - diffusion_stress_(2, 2) -= (1 - sin(fai_)) * density * gravity * y_ij; + diffusion_stress_(2, 2) -= (1 - sin(phi_)) * density * gravity * y_ij; diffusion_stress_rate_ += 2 * zeta_ * smoothing_length_ * sound_speed_ * diffusion_stress_ * r_ij * dW_ijV_j / (r_ij * r_ij + 0.01 * smoothing_length_); } stress_rate_3D_[index_i] = diffusion_stress_rate_; } //====================================================================================// -ShearAccelerationRelaxationHourglassControl :: - ShearAccelerationRelaxationHourglassControl(BaseInnerRelation &inner_relation, Real xi) +ShearStressRelaxationHourglassControl :: + ShearStressRelaxationHourglassControl(BaseInnerRelation &inner_relation, Real xi) : fluid_dynamics::BaseIntegration(inner_relation), continuum_(DynamicCast(this, particles_->getBaseMaterial())), shear_stress_(*particles_->registerSharedVariable("ShearStress")), @@ -173,7 +173,7 @@ ShearAccelerationRelaxationHourglassControl :: particles_->addVariableToSort("AccelerationHourglass"); } //====================================================================================// -void ShearAccelerationRelaxationHourglassControl::initialization(size_t index_i, Real dt) +void ShearStressRelaxationHourglassControl::initialization(size_t index_i, Real dt) { Matd velocity_gradient = Matd::Zero(); Neighborhood &inner_neighborhood = inner_configuration_[index_i]; @@ -190,7 +190,7 @@ void ShearAccelerationRelaxationHourglassControl::initialization(size_t index_i, velocity_gradient_[index_i] = velocity_gradient; } //====================================================================================// -void ShearAccelerationRelaxationHourglassControl::interaction(size_t index_i, Real dt) +void ShearStressRelaxationHourglassControl::interaction(size_t index_i, Real dt) { shear_stress_rate_[index_i] = continuum_.ConstitutiveRelationShearStress(velocity_gradient_[index_i], shear_stress_[index_i]); shear_stress_[index_i] += shear_stress_rate_[index_i] * dt; @@ -201,7 +201,7 @@ void ShearAccelerationRelaxationHourglassControl::interaction(size_t index_i, Re von_mises_strain_[index_i] = getVonMisesStressFromMatrix(strain_tensor_[index_i]); } //====================================================================================// -void ShearAccelerationRelaxationHourglassControl::update(size_t index_i, Real dt) +void ShearStressRelaxationHourglassControl::update(size_t index_i, Real dt) { Real rho_i = rho_[index_i]; Matd shear_stress_i = shear_stress_[index_i]; @@ -225,7 +225,7 @@ void ShearAccelerationRelaxationHourglassControl::update(size_t index_i, Real dt //====================================================================================// ShearStressRelaxationHourglassControlJ2Plasticity :: ShearStressRelaxationHourglassControlJ2Plasticity(BaseInnerRelation &inner_relation, Real xi) - : ShearAccelerationRelaxationHourglassControl(inner_relation, xi), + : ShearStressRelaxationHourglassControl(inner_relation, xi), J2_plasticity_(DynamicCast(this, particles_->getBaseMaterial())), hardening_factor_(*particles_->registerSharedVariable("HardeningFactor")) { diff --git a/src/shared/particle_dynamics/continuum_dynamics/continuum_integration.h b/src/shared/particle_dynamics/continuum_dynamics/continuum_integration.h index 6ae13dcc23..d33bc04289 100644 --- a/src/shared/particle_dynamics/continuum_dynamics/continuum_integration.h +++ b/src/shared/particle_dynamics/continuum_dynamics/continuum_integration.h @@ -216,15 +216,15 @@ class StressDiffusion : public BasePlasticIntegration void interaction(size_t index_i, Real dt = 0.0); protected: - Real zeta_ = 0.1, fai_; /*diffusion coefficient*/ + Real zeta_ = 0.1, phi_; /*diffusion coefficient*/ Real smoothing_length_, sound_speed_; }; -class ShearAccelerationRelaxationHourglassControl : public fluid_dynamics::BaseIntegration +class ShearStressRelaxationHourglassControl : public fluid_dynamics::BaseIntegration { public: - explicit ShearAccelerationRelaxationHourglassControl(BaseInnerRelation &inner_relation, Real xi_ = 4.0); - virtual ~ShearAccelerationRelaxationHourglassControl(){}; + explicit ShearStressRelaxationHourglassControl(BaseInnerRelation &inner_relation, Real xi_ = 4.0); + virtual ~ShearStressRelaxationHourglassControl(){}; void initialization(size_t index_i, Real dt = 0.0); void interaction(size_t index_i, Real dt = 0.0); void update(size_t index_i, Real dt = 0.0); @@ -237,7 +237,7 @@ class ShearAccelerationRelaxationHourglassControl : public fluid_dynamics::BaseI Real G_, xi_; }; -class ShearStressRelaxationHourglassControlJ2Plasticity : public ShearAccelerationRelaxationHourglassControl +class ShearStressRelaxationHourglassControlJ2Plasticity : public ShearStressRelaxationHourglassControl { public: explicit ShearStressRelaxationHourglassControlJ2Plasticity(BaseInnerRelation &inner_relation, Real xi_ = 0.2); diff --git a/tests/2d_examples/test_2d_oscillating_beam_ULGNOG/oscillating_beam_ULGNOG.cpp b/tests/2d_examples/test_2d_oscillating_beam_ULGNOG/oscillating_beam_ULGNOG.cpp index dc5dbc03ea..64cd3460bd 100644 --- a/tests/2d_examples/test_2d_oscillating_beam_ULGNOG/oscillating_beam_ULGNOG.cpp +++ b/tests/2d_examples/test_2d_oscillating_beam_ULGNOG/oscillating_beam_ULGNOG.cpp @@ -131,7 +131,7 @@ int main(int ac, char *av[]) /** initial condition */ InteractionWithUpdate correction_matrix(beam_body_inner); SimpleDynamics beam_initial_velocity(beam_body); - Dynamics1Level + Dynamics1Level beam_shear_acceleration_relaxation(beam_body_inner); Dynamics1Level beam_pressure_relaxation(beam_body_inner); Dynamics1Level beam_density_relaxation(beam_body_inner);