![]() |
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_discontinuum_constitutive_law.h>
Public Member Functions | |
KRATOS_CLASS_POINTER_DEFINITION (DEMDiscontinuumConstitutiveLaw) | |
DEMDiscontinuumConstitutiveLaw () | |
DEMDiscontinuumConstitutiveLaw (const DEMDiscontinuumConstitutiveLaw &rReferenceDiscontinuumConstitutiveLaw) | |
virtual void | SetConstitutiveLawInProperties (Properties::Pointer pProp, bool verbose=true) |
virtual void | Check (Properties::Pointer pProp) const |
virtual | ~DEMDiscontinuumConstitutiveLaw () |
virtual DEMDiscontinuumConstitutiveLaw::Pointer | Clone () const |
virtual std::unique_ptr< DEMDiscontinuumConstitutiveLaw > | CloneUnique () |
virtual std::string | GetTypeOfLaw () |
virtual void | InitializeContact (SphericParticle *const element1, SphericParticle *const element2, const double ini_delta=0.0) |
virtual void | InitializeContactWithFEM (SphericParticle *const element, Condition *const wall, const double indentation, const double ini_delta=0.0) |
virtual void | CalculateForces (const ProcessInfo &r_process_info, const double OldLocalContactForce[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]) |
virtual void | CalculateForcesWithFEM (const ProcessInfo &r_process_info, const double OldLocalContactForce[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) |
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) |
virtual double | CalculateCohesiveNormalForce (SphericParticle *const element1, SphericParticle *const element2, const double indentation) |
virtual double | CalculateCohesiveNormalForceWithFEM (SphericParticle *const element, Condition *const wall, const double indentation) |
![]() | |
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... | |
Public Attributes | |
double | mKn |
double | mKt |
Friends | |
class | Serializer |
Additional Inherited Members | |
![]() | |
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 const Flags | AllDefined () |
static const Flags | AllTrue () |
static Flags | Create (IndexType ThisPosition, bool Value=true) |
Kratos::DEMDiscontinuumConstitutiveLaw::DEMDiscontinuumConstitutiveLaw | ( | ) |
Kratos::DEMDiscontinuumConstitutiveLaw::DEMDiscontinuumConstitutiveLaw | ( | const DEMDiscontinuumConstitutiveLaw & | rReferenceDiscontinuumConstitutiveLaw | ) |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in Kratos::DEM_D_Linear_viscous_Coulomb, and Kratos::DEM_D_Hertz_viscous_Coulomb.
|
virtual |
|
virtual |
|
virtual |
Reimplemented in Kratos::DEM_D_void, Kratos::DEM_D_Stress_Dependent_Cohesive, Kratos::DEM_D_Quadratic, Kratos::DEM_D_Linear_viscous_Coulomb, Kratos::DEM_D_Linear_viscous_Coulomb2D, Kratos::DEM_D_Linear_HighStiffness, Kratos::DEM_D_Linear_HighStiffness_2D, Kratos::DEM_D_Linear_Custom_Constants, Kratos::DEM_D_Linear_confined, Kratos::DEM_D_Linear_classic, Kratos::DEM_D_JKR_Cohesive_Law, Kratos::DEM_D_Hertz_viscous_Coulomb_Nestle, Kratos::DEM_D_Hertz_viscous_Coulomb, Kratos::DEM_D_Hertz_viscous_Coulomb2D, Kratos::DEM_D_Hertz_confined, Kratos::DEM_D_DMT_Cohesive_Law, Kratos::DEM_D_Conical_damage, and Kratos::DEM_D_Bentonite_Colloid.
|
virtual |
Reimplemented in Kratos::DEM_D_void, Kratos::DEM_D_Stress_Dependent_Cohesive, Kratos::DEM_D_Quadratic, Kratos::DEM_D_Linear_viscous_Coulomb, Kratos::DEM_D_Linear_viscous_Coulomb2D, Kratos::DEM_D_Linear_HighStiffness, Kratos::DEM_D_Linear_Custom_Constants, Kratos::DEM_D_Linear_confined, Kratos::DEM_D_Linear_classic, Kratos::DEM_D_JKR_Cohesive_Law, Kratos::DEM_D_Hertz_viscous_Coulomb_Nestle, Kratos::DEM_D_Hertz_viscous_Coulomb, Kratos::DEM_D_Hertz_viscous_Coulomb2D, Kratos::DEM_D_Hertz_confined, Kratos::DEM_D_DMT_Cohesive_Law, Kratos::DEM_D_Conical_damage, and Kratos::DEM_D_Bentonite_Colloid.
|
virtual |
|
virtual |
Reimplemented in Kratos::DEM_D_Stress_Dependent_Cohesive, Kratos::DEM_D_Quadratic, Kratos::DEM_D_Linear_viscous_Coulomb, Kratos::DEM_D_Linear_viscous_Coulomb2D, Kratos::DEM_D_Linear_HighStiffness, Kratos::DEM_D_Linear_HighStiffness_2D, Kratos::DEM_D_Linear_Custom_Constants, Kratos::DEM_D_Linear_classic, Kratos::DEM_D_Hertz_viscous_Coulomb, and Kratos::DEM_D_Hertz_viscous_Coulomb2D.
|
virtual |
Reimplemented in Kratos::DEM_D_Stress_Dependent_Cohesive, Kratos::DEM_D_Quadratic, Kratos::DEM_D_Linear_viscous_Coulomb, Kratos::DEM_D_Linear_viscous_Coulomb2D, Kratos::DEM_D_Linear_HighStiffness, Kratos::DEM_D_Linear_HighStiffness_2D, Kratos::DEM_D_Linear_Custom_Constants, Kratos::DEM_D_Linear_classic, Kratos::DEM_D_Hertz_viscous_Coulomb, and Kratos::DEM_D_Hertz_viscous_Coulomb2D.
Kratos::DEMDiscontinuumConstitutiveLaw::KRATOS_CLASS_POINTER_DEFINITION | ( | DEMDiscontinuumConstitutiveLaw | ) |
|
virtual |
Reimplemented in Kratos::DEM_D_Linear_HighStiffness_2D.
|
friend |
double Kratos::DEMDiscontinuumConstitutiveLaw::mKn |
double Kratos::DEMDiscontinuumConstitutiveLaw::mKt |