![]() |
KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
#include <DEM_D_Linear_viscous_Coulomb_CL.h>
Public Member Functions | |
| KRATOS_CLASS_POINTER_DEFINITION (DEM_D_Linear_viscous_Coulomb) | |
| DEM_D_Linear_viscous_Coulomb () | |
| ~DEM_D_Linear_viscous_Coulomb () | |
| std::string | GetTypeOfLaw () override |
| void | Check (Properties::Pointer pProp) const override |
| DEMDiscontinuumConstitutiveLaw::Pointer | Clone () const override |
| std::unique_ptr< DEMDiscontinuumConstitutiveLaw > | CloneUnique () override |
| void | InitializeContact (SphericParticle *const element1, SphericParticle *const element2, const double indentation) override |
| void | InitializeContactWithFEM (SphericParticle *const element, Condition *const wall, const double indentation, const double ini_delta=0.0) override |
| void | CalculateForces (const ProcessInfo &r_process_info, const double OldLocalElasticContactForce[3], double LocalElasticContactForce[3], double LocalDeltDisp[3], double LocalRelVel[3], double indentation, double previous_indentation, double ViscoDampingLocalContactForce[3], double &cohesive_force, SphericParticle *element1, SphericParticle *element2, bool &sliding, double LocalCoordSystem[3][3]) override |
| void | CalculateForcesWithFEM (const ProcessInfo &r_process_info, const double OldLocalElasticContactForce[3], double LocalElasticContactForce[3], double LocalDeltDisp[3], double LocalRelVel[3], double indentation, double previous_indentation, double ViscoDampingLocalContactForce[3], double &cohesive_force, SphericParticle *const element, Condition *const wall, bool &sliding) override |
| double | CalculateNormalForce (SphericParticle *const element1, SphericParticle *const element2, const double indentation, double LocalCoordSystem[3][3]) override |
| double | CalculateNormalForce (SphericParticle *const element, Condition *const wall, const double indentation) override |
| double | CalculateNormalForce (const double indentation) override |
| double | CalculateCohesiveNormalForce (SphericParticle *const element1, SphericParticle *const element2, const double indentation) override |
| double | CalculateCohesiveNormalForceWithFEM (SphericParticle *const element, Condition *const wall, const double indentation) override |
| Properties & | GetPropertiesOfThisContact (SphericParticle *const element, SphericParticle *const neighbour) |
| Properties & | GetPropertiesOfThisContact (SphericParticle *const element, Condition *const neighbour) |
| template<class NeighbourClassType > | |
| void | CalculateTangentialForceWithNeighbour (const double normal_contact_force, const double OldLocalElasticContactForce[3], double LocalElasticContactForce[3], double ViscoDampingLocalContactForce[3], const double LocalDeltDisp[3], const double LocalRelVel[3], bool &sliding, SphericParticle *const element, NeighbourClassType *const neighbour, double indentation, double previous_indentation, double &modulus_of_elastic_shear_force, double &maximum_admissible_shear_force) |
| void | CalculateViscoDampingForce (double LocalRelVel[3], double ViscoDampingLocalContactForce[3], SphericParticle *const element1, SphericParticle *const element2) |
| void | CalculateViscoDampingForceWithFEM (double LocalRelVel[3], double ViscoDampingLocalContactForce[3], SphericParticle *const element, Condition *const wall) |
| void | CalculateElasticEnergyDEM (double &elastic_energy, double indentation, double LocalElasticContactForce[3]) |
| void | CalculateInelasticFrictionalEnergyDEM (double &inelastic_frictional_energy, double &AuxElasticShearForce, double LocalElasticContactForce[3]) |
| void | CalculateInelasticViscodampingEnergyDEM (double &inelastic_viscodamping_energy, double ViscoDampingLocalContactForce[3], double LocalDeltDisp[3]) |
| void | CalculateElasticEnergyFEM (double &elastic_energy, double indentation, double LocalElasticContactForce[3]) |
| void | CalculateInelasticFrictionalEnergyFEM (double &inelastic_frictional_energy, double &AuxElasticShearForce, double LocalElasticContactForce[3]) |
| void | CalculateInelasticViscodampingEnergyFEM (double &inelastic_viscodamping_energy, double ViscoDampingLocalContactForce[3], double LocalDeltDisp[3]) |
| virtual double | CalculateNormalForce (const double indentation) |
| virtual double | CalculateNormalForce (SphericParticle *const element1, SphericParticle *const element2, const double indentation, double LocalCoordSystem[3][3]) |
| virtual double | CalculateNormalForce (SphericParticle *const element, Condition *const wall, const double indentation) |
Public Member Functions inherited from Kratos::DEMDiscontinuumConstitutiveLaw | |
| KRATOS_CLASS_POINTER_DEFINITION (DEMDiscontinuumConstitutiveLaw) | |
| DEMDiscontinuumConstitutiveLaw () | |
| DEMDiscontinuumConstitutiveLaw (const DEMDiscontinuumConstitutiveLaw &rReferenceDiscontinuumConstitutiveLaw) | |
| virtual void | SetConstitutiveLawInProperties (Properties::Pointer pProp, bool verbose=true) |
| virtual | ~DEMDiscontinuumConstitutiveLaw () |
Public Member Functions inherited from Kratos::Flags | |
| Flags & | operator= (Flags const &rOther) |
| Assignment operator. More... | |
| operator bool () const | |
| Flags | operator~ () const |
| bool | operator! () const |
| void | AssignFlags (Flags const &rOther) |
| void | Set (const Flags ThisFlag) |
| void | Set (const Flags ThisFlag, bool Value) |
| void | Reset (const Flags ThisFlag) |
| void | Flip (const Flags ThisFlag) |
| void | SetPosition (IndexType Position, bool Value=true) |
| bool | GetPosition (IndexType Position) const |
| void | FlipPosition (IndexType Position) |
| void | ClearPosition (IndexType Position) |
| void | Clear () |
| Flags | AsFalse () const |
| bool | Is (Flags const &rOther) const |
| bool | IsDefined (Flags const &rOther) const |
| bool | IsNot (Flags const &rOther) const |
| bool | IsNotDefined (Flags const &rOther) const |
| virtual std::string | Info () const |
| Turn back information as a string. More... | |
| virtual void | PrintInfo (std::ostream &rOStream) const |
| Print information about this object. More... | |
| virtual void | PrintData (std::ostream &rOStream) const |
| Print object's data. More... | |
| KRATOS_CLASS_POINTER_DEFINITION (Flags) | |
| Pointer definition of Flags. More... | |
| const Flags & | operator|= (const Flags &Other) |
| const Flags & | operator&= (const Flags &Other) |
| Flags () | |
| Default constructor. More... | |
| Flags (Flags const &rOther) | |
| Copy constructor. More... | |
| virtual | ~Flags () |
| Destructor. More... | |
Protected Member Functions | |
| std::size_t | GetElementId (SphericParticle *element) |
Friends | |
| class | Serializer |
Additional Inherited Members | |
Public Types inherited from Kratos::Flags | |
| enum | FlagsList { Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 , Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 , Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 , Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 , Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 , Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 , Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 , Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30 } |
| typedef int64_t | BlockType |
| typedef int64_t | FlagType |
| typedef std::size_t | IndexType |
Static Public Member Functions inherited from Kratos::Flags | |
| static const Flags | AllDefined () |
| static const Flags | AllTrue () |
| static Flags | Create (IndexType ThisPosition, bool Value=true) |
Public Attributes inherited from Kratos::DEMDiscontinuumConstitutiveLaw | |
| double | mKn |
| double | mKt |
|
inline |
|
inline |
|
overridevirtual |
Reimplemented from Kratos::DEMDiscontinuumConstitutiveLaw.
|
overridevirtual |
Reimplemented from Kratos::DEMDiscontinuumConstitutiveLaw.
| void Kratos::DEM_D_Linear_viscous_Coulomb::CalculateElasticEnergyDEM | ( | double & | elastic_energy, |
| double | indentation, | ||
| double | LocalElasticContactForce[3] | ||
| ) |
| void Kratos::DEM_D_Linear_viscous_Coulomb::CalculateElasticEnergyFEM | ( | double & | elastic_energy, |
| double | indentation, | ||
| double | LocalElasticContactForce[3] | ||
| ) |
|
overridevirtual |
Reimplemented from Kratos::DEMDiscontinuumConstitutiveLaw.
Reimplemented in Kratos::DEM_D_Stress_Dependent_Cohesive.
|
overridevirtual |
Reimplemented from Kratos::DEMDiscontinuumConstitutiveLaw.
Reimplemented in Kratos::DEM_D_Stress_Dependent_Cohesive.
| void Kratos::DEM_D_Linear_viscous_Coulomb::CalculateInelasticFrictionalEnergyDEM | ( | double & | inelastic_frictional_energy, |
| double & | AuxElasticShearForce, | ||
| double | LocalElasticContactForce[3] | ||
| ) |
| void Kratos::DEM_D_Linear_viscous_Coulomb::CalculateInelasticFrictionalEnergyFEM | ( | double & | inelastic_frictional_energy, |
| double & | AuxElasticShearForce, | ||
| double | LocalElasticContactForce[3] | ||
| ) |
| void Kratos::DEM_D_Linear_viscous_Coulomb::CalculateInelasticViscodampingEnergyDEM | ( | double & | inelastic_viscodamping_energy, |
| double | ViscoDampingLocalContactForce[3], | ||
| double | LocalDeltDisp[3] | ||
| ) |
| void Kratos::DEM_D_Linear_viscous_Coulomb::CalculateInelasticViscodampingEnergyFEM | ( | double & | inelastic_viscodamping_energy, |
| double | ViscoDampingLocalContactForce[3], | ||
| double | LocalDeltDisp[3] | ||
| ) |
| double Kratos::DEMDiscontinuumConstitutiveLaw::CalculateNormalForce |
|
overridevirtual |
Reimplemented from Kratos::DEMDiscontinuumConstitutiveLaw.
Reimplemented in Kratos::DEM_D_Quadratic.
| double Kratos::DEMDiscontinuumConstitutiveLaw::CalculateNormalForce |
|
overridevirtual |
Reimplemented from Kratos::DEMDiscontinuumConstitutiveLaw.
| double Kratos::DEMDiscontinuumConstitutiveLaw::CalculateNormalForce |
|
overridevirtual |
Reimplemented from Kratos::DEMDiscontinuumConstitutiveLaw.
|
inline |
| void Kratos::DEM_D_Linear_viscous_Coulomb::CalculateViscoDampingForce | ( | double | LocalRelVel[3], |
| double | ViscoDampingLocalContactForce[3], | ||
| SphericParticle *const | element1, | ||
| SphericParticle *const | element2 | ||
| ) |
| void Kratos::DEM_D_Linear_viscous_Coulomb::CalculateViscoDampingForceWithFEM | ( | double | LocalRelVel[3], |
| double | ViscoDampingLocalContactForce[3], | ||
| SphericParticle *const | element, | ||
| Condition *const | wall | ||
| ) |
|
overridevirtual |
Reimplemented from Kratos::DEMDiscontinuumConstitutiveLaw.
Reimplemented in Kratos::DEM_D_Stress_Dependent_Cohesive, and Kratos::DEM_D_Quadratic.
|
overridevirtual |
Reimplemented from Kratos::DEMDiscontinuumConstitutiveLaw.
Reimplemented in Kratos::DEM_D_Stress_Dependent_Cohesive, and Kratos::DEM_D_Quadratic.
|
overridevirtual |
Reimplemented from Kratos::DEMDiscontinuumConstitutiveLaw.
Reimplemented in Kratos::DEM_D_Stress_Dependent_Cohesive, and Kratos::DEM_D_Quadratic.
|
protected |
| Properties & Kratos::DEM_D_Linear_viscous_Coulomb::GetPropertiesOfThisContact | ( | SphericParticle *const | element, |
| Condition *const | neighbour | ||
| ) |
| Properties & Kratos::DEM_D_Linear_viscous_Coulomb::GetPropertiesOfThisContact | ( | SphericParticle *const | element, |
| SphericParticle *const | neighbour | ||
| ) |
|
overridevirtual |
Reimplemented from Kratos::DEMDiscontinuumConstitutiveLaw.
Reimplemented in Kratos::DEM_D_Stress_Dependent_Cohesive, and Kratos::DEM_D_Quadratic.
|
overridevirtual |
Reimplemented from Kratos::DEMDiscontinuumConstitutiveLaw.
Reimplemented in Kratos::DEM_D_Stress_Dependent_Cohesive, and Kratos::DEM_D_Quadratic.
|
overridevirtual |
Reimplemented from Kratos::DEMDiscontinuumConstitutiveLaw.
Reimplemented in Kratos::DEM_D_Stress_Dependent_Cohesive, and Kratos::DEM_D_Quadratic.
| Kratos::DEM_D_Linear_viscous_Coulomb::KRATOS_CLASS_POINTER_DEFINITION | ( | DEM_D_Linear_viscous_Coulomb | ) |
|
friend |