Xiangyu-Hu / SPHinXsys

SPHinXsys provides C++ APIs for engineering simulation and optimization. It aims at complex systems driven by fluid, structure, multi-body dynamics and beyond. The multi-physics library is based on a unique and unified computational framework by which strong coupling has been achieved for all involved physics.

Home Page:https://www.sphinxsys.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

delete functions in solid particle

Xiangyu-Hu opened this issue · comments

/** Return the Lagrange strain. */
Matd getGreenLagrangeStrain(size_t particle_i);
/** Computing principal strain - returns the principal strains in descending order (starting from the largest) */
Vecd getPrincipalStrains(size_t particle_i);
/** Computing von Mises equivalent strain from a static (constant) formulation. */
Real getVonMisesStrain(size_t particle_i);
/** Computing von Mises equivalent strain from a "dynamic" formulation. This depends on the Poisson's ratio (from commercial FEM software Help). */
Real getVonMisesStrainDynamic(size_t particle_i, Real poisson);
/** Computing von Mises strain for all particles. - "static" or "dynamic"*/
StdLargeVec<Real> getVonMisesStrainVector(std::string strain_measure = "static");
/** Computing maximum von Mises strain from all particles. - "static" or "dynamic" */
Real getVonMisesStrainMax(std::string strain_measure = "static");
/** Return the max principal strain. */
Real getPrincipalStrainMax();
/** get the Cauchy stress. */
Matd getStressCauchy(size_t particle_i);
/** get the PK2 stress. */
Matd getStressPK2(size_t particle_i);
/** Computing principal_stresses - returns the principal stresses in descending order (starting from the largest) */
Vecd getPrincipalStresses(size_t particle_i);
/** Computing von_Mises_stress - "Cauchy" or "PK2" decided based on the stress_measure_ */
Real getVonMisesStress(size_t particle_i);
/** Computing von Mises stress for all particles. - "Cauchy" or "PK2" decided based on the stress_measure_ */
StdLargeVec<Real> getVonMisesStressVector();
/** Computing maximum von Mises stress from all particles. - "Cauchy" or "PK2" decided based on the stress_measure_ */
Real getVonMisesStressMax();
Real getPrincipalStressMax();
/** Computing displacement. */
Vecd displacement(size_t particle_i);
/** Return the displacement. */
StdLargeVec<Vecd> getDisplacement();
/** get the max displacement. */
Real getMaxDisplacement();
/**< Computing normal vector. */
Vecd normal(size_t particle_i);
/** get the normal vector. */
StdLargeVec<Vecd> getNormal();
/** relevant stress measure */
std::string stress_measure_;

In order to achieve separation between particle class from physical method classes, I am going to clean all particles so that at last only base particles left. For this, I need to clean all functions in particles classes.

@BenceVirtonomy @FabienPean-Virtonomy Could you help to move these functions out, or I can delete if they are not useful anymore?

In order to achieve separation between particle class from physical method classes, I am going to clean all particles so that at last only base particles left. For this, I need to clean all functions in particles classes.

I agree that they should be free functions, they can be cut out of the ElasticSOlidParticles class