Skip to content

Commit

Permalink
compiled
Browse files Browse the repository at this point in the history
  • Loading branch information
Xiangyu-Hu committed Aug 3, 2024
1 parent a3c750b commit f08540a
Show file tree
Hide file tree
Showing 104 changed files with 429 additions and 438 deletions.
2 changes: 1 addition & 1 deletion modules/opencascade/opencascade/relax_dynamics_surface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ SurfaceNormalDirection::SurfaceNormalDirection(SPHBody &sph_body)
: LocalDynamics(sph_body),
surface_shape_(DynamicCast<SurfaceShape>(this, &sph_body.getInitialShape())),
pos_(particles_->getVariableDataByName<Vecd>("Position")),
n_(particles_->registerSharedVariable<Vecd>("NormalDirection")) {}
n_(particles_->registerStateVariable<Vecd>("NormalDirection")) {}

//=================================================================================================//
void SurfaceNormalDirection::update(size_t index_i, Real dt)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -951,7 +951,7 @@ Real StructuralSimulation::getMaxDisplacement(int body_index)
{
BaseParticles *base_particles = solid_body_list_[body_index].get()->getElasticSolidParticles();
Vecd *pos = base_particles->ParticlePositions();
Vecd *pos0 = base_particles->registerSharedVariableFrom<Vecd>("InitialPosition", "Position");
Vecd *pos0 = base_particles->registerStateVariableFrom<Vecd>("InitialPosition", "Position");
Real displ_max = 0;
for (size_t i = 0; i < base_particles->TotalRealParticles(); i++)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,55 +44,55 @@ BarCorrectConfiguration::
BarCorrectConfiguration(BaseInnerRelation &inner_relation)
: LocalDynamics(inner_relation.getSPHBody()), DataDelegateInner(inner_relation),
Vol_(particles_->getVariableDataByName<Real>("VolumetricMeasure")),
B_(particles_->registerSharedVariable<Matd>("LinearGradientCorrectionMatrix", IdentityMatrix<Matd>::value)),
n0_(particles_->registerSharedVariableFrom<Vecd>("InitialNormalDirection", "NormalDirection")),
B_(particles_->registerStateVariable<Matd>("LinearGradientCorrectionMatrix", IdentityMatrix<Matd>::value)),
n0_(particles_->registerStateVariableFrom<Vecd>("InitialNormalDirection", "NormalDirection")),
transformation_matrix0_(particles_->getVariableDataByName<Matd>("TransformationMatrix")) {}
//=================================================================================================//
BarDeformationGradientTensor::
BarDeformationGradientTensor(BaseInnerRelation &inner_relation)
: LocalDynamics(inner_relation.getSPHBody()), DataDelegateInner(inner_relation),
Vol_(particles_->getVariableDataByName<Real>("VolumetricMeasure")),
pos_(particles_->getVariableDataByName<Vecd>("Position")),
pseudo_n_(particles_->registerSharedVariableFrom<Vecd>("PseudoNormal", "NormalDirection")),
n0_(particles_->registerSharedVariableFrom<Vecd>("InitialNormalDirection", "NormalDirection")),
pseudo_n_(particles_->registerStateVariableFrom<Vecd>("PseudoNormal", "NormalDirection")),
n0_(particles_->registerStateVariableFrom<Vecd>("InitialNormalDirection", "NormalDirection")),
B_(particles_->getVariableDataByName<Matd>("LinearGradientCorrectionMatrix")),
F_(particles_->registerSharedVariable<Matd>("DeformationGradient", IdentityMatrix<Matd>::value)),
F_bending_(particles_->registerSharedVariable<Matd>("BendingDeformationGradient")),
F_(particles_->registerStateVariable<Matd>("DeformationGradient", IdentityMatrix<Matd>::value)),
F_bending_(particles_->registerStateVariable<Matd>("BendingDeformationGradient")),
transformation_matrix0_(particles_->getVariableDataByName<Matd>("TransformationMatrix")),
pseudo_b_n_(particles_->registerSharedVariableFrom<Vecd>("PseudoBinormal", "BinormalDirection")),
b_n0_(particles_->registerSharedVariableFrom<Vecd>("InitialBinormalDirection", "BinormalDirection")),
F_b_bending_(particles_->registerSharedVariable<Matd>("BinormalBending")) {}
pseudo_b_n_(particles_->registerStateVariableFrom<Vecd>("PseudoBinormal", "BinormalDirection")),
b_n0_(particles_->registerStateVariableFrom<Vecd>("InitialBinormalDirection", "BinormalDirection")),
F_b_bending_(particles_->registerStateVariable<Matd>("BinormalBending")) {}
//=================================================================================================//
BaseBarRelaxation::BaseBarRelaxation(BaseInnerRelation &inner_relation)
: LocalDynamics(inner_relation.getSPHBody()), DataDelegateInner(inner_relation),
Vol_(particles_->getVariableDataByName<Real>("VolumetricMeasure")),
thickness_(particles_->getVariableDataByName<Real>("Thickness")),
width_(particles_->getVariableDataByName<Real>("Width")),
pos_(particles_->getVariableDataByName<Vecd>("Position")),
vel_(particles_->registerSharedVariable<Vecd>("Velocity")),
force_(particles_->registerSharedVariable<Vecd>("Force")),
force_prior_(particles_->registerSharedVariable<Vecd>("ForcePrior")),
n0_(particles_->registerSharedVariableFrom<Vecd>("InitialNormalDirection", "NormalDirection")),
pseudo_n_(particles_->registerSharedVariableFrom<Vecd>("PseudoNormal", "NormalDirection")),
dpseudo_n_dt_(particles_->registerSharedVariable<Vecd>("PseudoNormalChangeRate")),
dpseudo_n_d2t_(particles_->registerSharedVariable<Vecd>("PseudoNormal2ndOrderTimeDerivative")),
rotation_(particles_->registerSharedVariable<Vecd>("Rotation")),
angular_vel_(particles_->registerSharedVariable<Vecd>("AngularVelocity")),
dangular_vel_dt_(particles_->registerSharedVariable<Vecd>("AngularAcceleration")),
vel_(particles_->registerStateVariable<Vecd>("Velocity")),
force_(particles_->registerStateVariable<Vecd>("Force")),
force_prior_(particles_->registerStateVariable<Vecd>("ForcePrior")),
n0_(particles_->registerStateVariableFrom<Vecd>("InitialNormalDirection", "NormalDirection")),
pseudo_n_(particles_->registerStateVariableFrom<Vecd>("PseudoNormal", "NormalDirection")),
dpseudo_n_dt_(particles_->registerStateVariable<Vecd>("PseudoNormalChangeRate")),
dpseudo_n_d2t_(particles_->registerStateVariable<Vecd>("PseudoNormal2ndOrderTimeDerivative")),
rotation_(particles_->registerStateVariable<Vecd>("Rotation")),
angular_vel_(particles_->registerStateVariable<Vecd>("AngularVelocity")),
dangular_vel_dt_(particles_->registerStateVariable<Vecd>("AngularAcceleration")),
B_(particles_->getVariableDataByName<Matd>("LinearGradientCorrectionMatrix")),
F_(particles_->registerSharedVariable<Matd>("DeformationGradient", IdentityMatrix<Matd>::value)),
dF_dt_(particles_->registerSharedVariable<Matd>("DeformationRate")),
F_bending_(particles_->registerSharedVariable<Matd>("BendingDeformationGradient")),
dF_bending_dt_(particles_->registerSharedVariable<Matd>("BendingDeformationRate")),
pseudo_b_n_(particles_->registerSharedVariableFrom<Vecd>("PseudoBinormal", "BinormalDirection")),
dpseudo_b_n_dt_(particles_->registerSharedVariable<Vecd>("PseudoBinormalChangeRate")),
dpseudo_b_n_d2t_(particles_->registerSharedVariable<Vecd>("PseudoBinormal2ndOrderTimeDerivative")),
rotation_b_(particles_->registerSharedVariable<Vecd>("BinormalRotation")),
angular_b_vel_(particles_->registerSharedVariable<Vecd>("BinormalAngularVelocity")),
dangular_b_vel_dt_(particles_->registerSharedVariable<Vecd>("BinormalAngularAcceleration")),
F_(particles_->registerStateVariable<Matd>("DeformationGradient", IdentityMatrix<Matd>::value)),
dF_dt_(particles_->registerStateVariable<Matd>("DeformationRate")),
F_bending_(particles_->registerStateVariable<Matd>("BendingDeformationGradient")),
dF_bending_dt_(particles_->registerStateVariable<Matd>("BendingDeformationRate")),
pseudo_b_n_(particles_->registerStateVariableFrom<Vecd>("PseudoBinormal", "BinormalDirection")),
dpseudo_b_n_dt_(particles_->registerStateVariable<Vecd>("PseudoBinormalChangeRate")),
dpseudo_b_n_d2t_(particles_->registerStateVariable<Vecd>("PseudoBinormal2ndOrderTimeDerivative")),
rotation_b_(particles_->registerStateVariable<Vecd>("BinormalRotation")),
angular_b_vel_(particles_->registerStateVariable<Vecd>("BinormalAngularVelocity")),
dangular_b_vel_dt_(particles_->registerStateVariable<Vecd>("BinormalAngularAcceleration")),
transformation_matrix0_(particles_->getVariableDataByName<Matd>("TransformationMatrix")),
F_b_bending_(particles_->registerSharedVariable<Matd>("BinormalBending")),
dF_b_bending_dt_(particles_->registerSharedVariable<Matd>("BinormalBendingRate")) {}
F_b_bending_(particles_->registerStateVariable<Matd>("BinormalBending")),
dF_b_bending_dt_(particles_->registerStateVariable<Matd>("BinormalBendingRate")) {}
//=================================================================================================//
BarStressRelaxationFirstHalf::
BarStressRelaxationFirstHalf(BaseInnerRelation &inner_relation,
Expand All @@ -104,19 +104,19 @@ BarStressRelaxationFirstHalf::
numerical_damping_scaling_matrix_(Matd::Identity() * smoothing_length_),
rho_(particles_->getVariableDataByName<Real>("Density")),
mass_(particles_->getVariableDataByName<Real>("Mass")),
global_stress_(particles_->registerSharedVariable<Matd>("GlobalStress")),
global_moment_(particles_->registerSharedVariable<Matd>("GlobalMoment")),
mid_surface_cauchy_stress_(particles_->registerSharedVariable<Matd>("MidSurfaceCauchyStress")),
global_shear_stress_(particles_->registerSharedVariable<Vecd>("GlobalShearStress")),
global_stress_(particles_->registerStateVariable<Matd>("GlobalStress")),
global_moment_(particles_->registerStateVariable<Matd>("GlobalMoment")),
mid_surface_cauchy_stress_(particles_->registerStateVariable<Matd>("MidSurfaceCauchyStress")),
global_shear_stress_(particles_->registerStateVariable<Vecd>("GlobalShearStress")),
n_(particles_->getVariableDataByName<Vecd>("NormalDirection")),
E0_(elastic_solid_.YoungsModulus()),
G0_(elastic_solid_.ShearModulus()),
nu_(elastic_solid_.PoissonRatio()),
hourglass_control_(hourglass_control),
number_of_gaussian_points_(number_of_gaussian_points),
global_b_stress_(particles_->registerSharedVariable<Matd>("GlobalBinormalStress")),
global_b_moment_(particles_->registerSharedVariable<Matd>("GlobalBinormalMoment")),
global_b_shear_stress_(particles_->registerSharedVariable<Vecd>("GlobalBinormalShearStress")),
global_b_stress_(particles_->registerStateVariable<Matd>("GlobalBinormalStress")),
global_b_moment_(particles_->registerStateVariable<Matd>("GlobalBinormalMoment")),
global_b_shear_stress_(particles_->registerStateVariable<Vecd>("GlobalBinormalShearStress")),
b_n_(particles_->getVariableDataByName<Vecd>("BinormalDirection"))
{
/** Note that, only three-point and five-point Gaussian quadrature rules are defined. */
Expand Down Expand Up @@ -304,7 +304,7 @@ void ConstrainBarBodyRegion::update(size_t index_i, Real dt)
ConstrainBarBodyRegionAlongAxis::ConstrainBarBodyRegionAlongAxis(BodyPartByParticle &body_part, int axis)
: BaseLocalDynamics<BodyPartByParticle>(body_part),
axis_(axis), pos_(particles_->getVariableDataByName<Vecd>("Position")),
pos0_(particles_->registerSharedVariableFrom<Vecd>("InitialPosition", "Position")),
pos0_(particles_->registerStateVariableFrom<Vecd>("InitialPosition", "Position")),
vel_(particles_->getVariableDataByName<Vecd>("Velocity")),
force_(particles_->getVariableDataByName<Vecd>("Force")),
rotation_(particles_->getVariableDataByName<Vecd>("Rotation")),
Expand Down
10 changes: 5 additions & 5 deletions src/for_3D_build/particles/linear_particles.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,22 @@ LinearParticles::LinearParticles(SPHBody &sph_body, BaseMaterial *base_material)
//=================================================================================================//
void LinearParticles::registerLineProperties(StdLargeVec<Vecd> &b_n, StdLargeVec<Real> &width)
{
b_n_ = registerSharedVariableFrom<Vecd>("BinormalDirection", b_n);
width_ = registerSharedVariableFrom<Real>("Width", width);
b_n_ = registerStateVariableFrom<Vecd>("BinormalDirection", b_n);
width_ = registerStateVariableFrom<Real>("Width", width);
addVariableToReload<Vecd>("BinormalDirection");
addVariableToReload<Real>("Width");
addVariableToWrite<Vecd>("BinormalDirection");
}
//=================================================================================================//
void LinearParticles::registerLinePropertiesFromReload()
{
b_n_ = registerSharedVariableFromReload<Vecd>("NormalDirection");
width_ = registerSharedVariableFromReload<Real>("Thickness");
b_n_ = registerStateVariableFromReload<Vecd>("NormalDirection");
width_ = registerStateVariableFromReload<Real>("Thickness");
}
//=================================================================================================//
void LinearParticles::registerTransformationMatrix()
{
transformation_matrix0_ = registerSharedVariable<Matd>(
transformation_matrix0_ = registerStateVariable<Matd>(
"TransformationMatrix", [&](size_t index_i) -> Matd
{ return getTransformationMatrix(n_[index_i], b_n_[index_i]); });
}
Expand Down
2 changes: 1 addition & 1 deletion src/shared/adaptations/adaptation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ ParticleWithLocalRefinement::
void ParticleWithLocalRefinement::initializeAdaptationVariables(BaseParticles &base_particles)
{
SPHAdaptation::initializeAdaptationVariables(base_particles);
h_ratio_ = base_particles.registerSharedVariable<Real>(
h_ratio_ = base_particles.registerStateVariable<Real>(
"SmoothingLengthRatio", [&](size_t i) -> Real
{ return ReferenceSpacing() / base_particles.ParticleSpacing(i); });
base_particles.addVariableToSort<Real>("SmoothingLengthRatio");
Expand Down
6 changes: 6 additions & 0 deletions src/shared/common/base_data_type.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,12 @@ struct ZeroData
{
static inline DataType value = DataType::Zero();
};

template <>
struct ZeroData<bool>
{
static inline bool value = false;
};
template <>
struct ZeroData<Real>
{
Expand Down
4 changes: 2 additions & 2 deletions src/shared/materials/base_material.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ Fluid::Fluid(Real rho0, Real c0, Real mu) : BaseMaterial(rho0), c0_(c0), mu_(mu)
//=================================================================================================//
Vecd *Solid::AverageVelocity(BaseParticles *base_particles)
{
return base_particles->registerSharedVariable<Vecd>("Velocity");
return base_particles->registerStateVariable<Vecd>("Velocity");
}
//=================================================================================================//
Vecd *Solid::AverageAcceleration(BaseParticles *base_particles)
{
return base_particles->registerSharedVariable<Vecd>("Acceleration");
return base_particles->registerStateVariable<Vecd>("Acceleration");
}
//=================================================================================================//
} // namespace SPH
2 changes: 1 addition & 1 deletion src/shared/materials/complex_solid.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Real CompositeSolid::CompositeDensity(size_t index_i)
void CompositeSolid::initializeLocalParameters(BaseParticles *base_particles)
{
ElasticSolid::initializeLocalParameters(base_particles);
material_id_ = base_particles->registerSharedVariable<int>("MaterialID");
material_id_ = base_particles->registerStateVariable<int>("MaterialID");

for (size_t i = 0; i < composite_materials_.size(); ++i)
{
Expand Down
2 changes: 1 addition & 1 deletion src/shared/materials/complex_solid.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ template <class MuscleType>
void ActiveMuscle<MuscleType>::initializeLocalParameters(BaseParticles *base_particles)
{
MuscleType::initializeLocalParameters(base_particles);
active_contraction_stress_ = base_particles->registerSharedVariable<Real>("ActiveContractionStress");
active_contraction_stress_ = base_particles->registerStateVariable<Real>("ActiveContractionStress");
}
//=============================================================================================//
template <class MuscleType>
Expand Down
8 changes: 4 additions & 4 deletions src/shared/materials/diffusion_reaction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ LocalIsotropicDiffusion::LocalIsotropicDiffusion(const std::string &species_name
//=================================================================================================//
void LocalIsotropicDiffusion::initializeLocalParameters(BaseParticles *base_particles)
{
local_diffusivity_ = base_particles->registerSharedVariable<Real>(
local_diffusivity_ = base_particles->registerStateVariable<Real>(
"ThermalConductivity", [&](size_t i) -> Real
{ return diff_cf_; });
base_particles->addVariableToWrite<Real>("ThermalConductivity");
Expand Down Expand Up @@ -92,18 +92,18 @@ LocalDirectionalDiffusion::LocalDirectionalDiffusion(const std::string &species_
//=================================================================================================//
void LocalDirectionalDiffusion::registerLocalParameters(BaseParticles *base_particles)
{
local_bias_direction_ = base_particles->registerSharedVariable<Vecd>("Fiber");
local_bias_direction_ = base_particles->registerStateVariable<Vecd>("Fiber");
}
//=================================================================================================//
void LocalDirectionalDiffusion::registerLocalParametersFromReload(BaseParticles *base_particles)
{
local_bias_direction_ = base_particles->registerSharedVariableFromReload<Vecd>("Fiber");
local_bias_direction_ = base_particles->registerStateVariableFromReload<Vecd>("Fiber");
}
//=================================================================================================//
void LocalDirectionalDiffusion::initializeLocalParameters(BaseParticles *base_particles)
{
DirectionalDiffusion::initializeLocalParameters(base_particles);
local_transformed_diffusivity_ = base_particles->registerSharedVariable<Matd>(
local_transformed_diffusivity_ = base_particles->registerStateVariable<Matd>(
"LocalTransformedDiffusivity",
[&](size_t i) -> Matd
{
Expand Down
Loading

0 comments on commit f08540a

Please sign in to comment.