![]() |
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 <spheric_particle.h>
Classes | |
class | ParticleDataBuffer |
Public Types | |
typedef GlobalPointersVector< Condition > | ConditionWeakVectorType |
typedef GlobalPointersVector< Condition >::iterator | ConditionWeakIteratorType |
typedef GlobalPointersVector< Element > | ParticleWeakVectorType |
typedef ParticleWeakVectorType::ptr_iterator | ParticleWeakIteratorType_ptr |
typedef GlobalPointersVector< Element >::iterator | ParticleWeakIteratorType |
typedef std::unique_ptr< ParticleDataBuffer > | BufferPointerType |
![]() | |
typedef Element | ElementType |
definition of element type More... | |
typedef GeometricalObject | BaseType |
base type: an GeometricalObject that automatically has a unique number More... | |
typedef Node | NodeType |
definition of node type (default is: Node) More... | |
typedef Properties | PropertiesType |
typedef Geometry< NodeType > | GeometryType |
definition of the geometry type with given NodeType More... | |
typedef Geometry< NodeType >::PointsArrayType | NodesArrayType |
definition of nodes container type, redefined from GeometryType More... | |
typedef Vector | VectorType |
typedef Matrix | MatrixType |
typedef std::size_t | IndexType |
typedef std::size_t | SizeType |
typedef Dof< double > | DofType |
typedef std::vector< std::size_t > | EquationIdVectorType |
typedef std::vector< DofType::Pointer > | DofsVectorType |
typedef PointerVectorSet< DofType > | DofsArrayType |
typedef GeometryData::IntegrationMethod | IntegrationMethod |
Type definition for integration methods. More... | |
typedef GeometryData | GeometryDataType |
![]() | |
typedef Node | NodeType |
Definition of the node type. More... | |
typedef Geometry< NodeType > | GeometryType |
The geometry type definition. More... | |
typedef std::size_t | IndexType |
Defines the index type. More... | |
typedef std::size_t | result_type |
Defines the result type. More... | |
![]() | |
typedef std::size_t | IndexType |
The definition of the index type. More... | |
typedef std::size_t | result_type |
The definition of the result_type. More... | |
![]() | |
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 |
Public Member Functions | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (SphericParticle) | |
Pointer definition of SphericParticle. More... | |
SphericParticle () | |
SphericParticle (IndexType NewId, GeometryType::Pointer pGeometry) | |
SphericParticle (IndexType NewId, NodesArrayType const &ThisNodes) | |
SphericParticle (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
Element::Pointer | Create (IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override |
It creates a new element pointer. More... | |
virtual | ~SphericParticle () |
Destructor. More... | |
SphericParticle & | operator= (const SphericParticle &rOther) |
virtual std::unique_ptr< ParticleDataBuffer > | CreateParticleDataBuffer (SphericParticle *p_this_particle) |
void | TransformNeighbourCoorsToClosestInPeriodicDomain (ParticleDataBuffer &data_buffer) |
void | TransformNeighbourCoorsToClosestInPeriodicDomain (ParticleDataBuffer &data_buffer, const array_1d< double, 3 > &coors, array_1d< double, 3 > &neighbour_coors) |
void | TransformNeighbourCoorsToClosestInPeriodicDomain (const ProcessInfo &r_process_info, const double coors[3], double neighbour_coors[3]) |
virtual bool | CalculateRelativePositionsOrSkipContact (ParticleDataBuffer &data_buffer) |
void | Initialize (const ProcessInfo &r_process_info) override |
virtual void | MemberDeclarationFirstStep (const ProcessInfo &r_process_info) |
virtual void | CalculateRightHandSide (const ProcessInfo &r_process_info, double dt, const array_1d< double, 3 > &gravity) |
virtual void | FirstCalculateRightHandSide (const ProcessInfo &r_process_info, double dt) |
virtual void | CollectCalculateRightHandSide (const ProcessInfo &r_process_info) |
virtual void | FinalCalculateRightHandSide (const ProcessInfo &r_process_info, double dt, const array_1d< double, 3 > &gravity) |
virtual void | InitializeForceComputation (const ProcessInfo &r_process_info) |
virtual void | FinalizeForceComputation (ParticleDataBuffer &data_buffer) |
virtual void | EquationIdVector (EquationIdVectorType &rResult, const ProcessInfo &r_process_info) const override |
virtual void | CalculateMassMatrix (MatrixType &rMassMatrix, const ProcessInfo &r_process_info) override |
virtual void | CalculateDampingMatrix (MatrixType &rDampingMatrix, const ProcessInfo &r_process_info) override |
virtual void | GetDofList (DofsVectorType &ElementalDofList, const ProcessInfo &r_process_info) const override |
virtual void | ComputeNewNeighboursHistoricalData (DenseVector< int > &temp_neighbours_ids, std::vector< array_1d< double, 3 > > &temp_neighbour_elastic_contact_forces) |
virtual void | ComputeNewRigidFaceNeighboursHistoricalData () |
virtual void | FinalizeSolutionStep (const ProcessInfo &r_process_info) override |
virtual void | InitializeSolutionStep (const ProcessInfo &r_process_info) override |
virtual void | FinalizeStressTensor (const ProcessInfo &r_process_info, double &rRepresentative_Volume) |
virtual void | SymmetrizeStressTensor () |
virtual void | ComputeStrainTensor (const ProcessInfo &r_process_info) |
virtual void | ComputeDifferentialStrainTensor (const ProcessInfo &r_process_info) |
virtual void | SymmetrizeDifferentialStrainTensor () |
virtual void | CorrectRepresentativeVolume (double &rRepresentative_Volume) |
virtual void | ComputeReactions () |
virtual void | PrepareForPrinting (const ProcessInfo &r_process_info) |
virtual void | Calculate (const Variable< double > &rVariable, double &Output, const ProcessInfo &r_process_info) override |
virtual void | Calculate (const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &Output, const ProcessInfo &r_process_info) override |
virtual void | Calculate (const Variable< Vector > &rVariable, Vector &Output, const ProcessInfo &r_process_info) override |
virtual void | Calculate (const Variable< Matrix > &rVariable, Matrix &Output, const ProcessInfo &r_process_info) override |
virtual void | CalculateMaxBallToBallIndentation (double &rCurrentMaxIndentation, const ProcessInfo &r_process_info) |
virtual void | CalculateMaxBallToFaceIndentation (double &rCurrentMaxIndentation) |
virtual void | Move (const double delta_t, const bool rotation_option, const double force_reduction_factor, const int StepFlag) |
virtual void | SetIntegrationScheme (DEMIntegrationScheme::Pointer &translational_integration_scheme, DEMIntegrationScheme::Pointer &rotational_integration_scheme) |
virtual bool | SwapIntegrationSchemeToGluedToWall (Condition *p_wall) |
virtual DEMIntegrationScheme & | GetTranslationalIntegrationScheme () |
virtual DEMIntegrationScheme & | GetRotationalIntegrationScheme () |
virtual void | ComputeConditionRelativeData (int rigid_neighbour_index, DEMWall *const wall, double LocalCoordSystem[3][3], double &DistPToB, array_1d< double, 4 > &Weight, array_1d< double, 3 > &wall_delta_disp_at_contact_point, array_1d< double, 3 > &wall_velocity_at_contact_point, int &ContactType) |
virtual void | RenewData () |
virtual void | SendForcesToFEM () |
int | GetClusterId () |
void | SetClusterId (const int Id) |
double | GetInitializationTime () const |
double | GetProgrammedDestructionTime () const |
void | SetProgrammedDestructionTime (const double time) |
virtual double | GetRadius () |
virtual void | SetRadius (double radius) |
virtual void | SetRadius () |
virtual double | CalculateVolume () |
virtual double | GetInteractionRadius (const int radius_index=0) |
virtual void | SetInteractionRadius (const double radius, const int radius_index=0) |
virtual double | GetSearchRadius () |
virtual void | SetDefaultRadiiHierarchy (const double radius) |
virtual void | SetSearchRadius (const double radius) |
virtual double | GetMass () |
virtual void | SetMass (double real_mass) |
virtual double | CalculateMomentOfInertia () |
virtual double | GetYoung () |
void | SetYoungFromProperties (double *young) |
virtual double | GetPoisson () |
void | SetPoissonFromProperties (double *poisson) |
virtual double | GetDensity () |
void | SetDensityFromProperties (double *density) |
virtual int | GetParticleMaterial () |
void | SetParticleMaterialFromProperties (int *particle_material) |
array_1d< double, 3 > & | GetForce () |
virtual double & | GetElasticEnergy () |
virtual double & | GetInelasticFrictionalEnergy () |
virtual double & | GetInelasticViscodampingEnergy () |
virtual double & | GetInelasticRollingResistanceEnergy () |
PropertiesProxy * | GetFastProperties () |
void | SetFastProperties (PropertiesProxy *pProps) |
void | SetFastProperties (std::vector< PropertiesProxy > &list_of_proxies) |
double | SlowGetYoung () const |
double | SlowGetPoisson () const |
double | SlowGetDensity () const |
int | SlowGetParticleMaterial () const |
virtual std::string | Info () const override |
Turn back information as a string. More... | |
virtual void | PrintInfo (std::ostream &rOStream) const override |
Print information about this object. More... | |
virtual void | ComputeAdditionalForces (array_1d< double, 3 > &externally_applied_force, array_1d< double, 3 > &externally_applied_moment, const ProcessInfo &r_process_info, const array_1d< double, 3 > &gravity) |
virtual array_1d< double, 3 > | ComputeWeight (const array_1d< double, 3 > &gravity, const ProcessInfo &r_process_info) |
virtual void | CalculateOnContactElements (size_t i_neighbour_count, double LocalContactForce[3]) |
std::unique_ptr< DEMDiscontinuumConstitutiveLaw > | pCloneDiscontinuumConstitutiveLawWithNeighbour (SphericParticle *neighbour) |
std::unique_ptr< DEMDiscontinuumConstitutiveLaw > | pCloneDiscontinuumConstitutiveLawWithFEMNeighbour (Condition *neighbour) |
std::unique_ptr< DEMRollingFrictionModel > | pCloneRollingFrictionModel (SphericParticle *element) |
std::unique_ptr< DEMRollingFrictionModel > | pCloneRollingFrictionModelWithNeighbour (SphericParticle *neighbour) |
std::unique_ptr< DEMRollingFrictionModel > | pCloneRollingFrictionModelWithFEMNeighbour (Condition *neighbour) |
![]() | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (DiscreteElement) | |
DiscreteElement (IndexType NewId=0) | |
DiscreteElement (IndexType NewId, const NodesArrayType &ThisNodes) | |
DiscreteElement (IndexType NewId, GeometryType::Pointer pGeometry) | |
DiscreteElement (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
DiscreteElement (DiscreteElement const &rOther) | |
Copy constructor. More... | |
virtual | ~DiscreteElement () |
Destructor. More... | |
DiscreteElement & | operator= (const DiscreteElement &rOther) |
![]() | |
Element (IndexType NewId=0) | |
Element (IndexType NewId, const NodesArrayType &ThisNodes) | |
Element (IndexType NewId, GeometryType::Pointer pGeometry) | |
Element (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
Element (Element const &rOther) | |
Copy constructor. More... | |
~Element () override | |
Destructor. More... | |
Element & | operator= (Element const &rOther) |
Assignment operator. More... | |
virtual Pointer | Create (IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties) const |
It creates a new element pointer. More... | |
virtual Pointer | Clone (IndexType NewId, NodesArrayType const &ThisNodes) const |
It creates a new element pointer and clones the previous element data. More... | |
virtual IntegrationMethod | GetIntegrationMethod () const |
virtual void | GetValuesVector (Vector &values, int Step=0) const |
virtual void | GetFirstDerivativesVector (Vector &values, int Step=0) const |
virtual void | GetSecondDerivativesVector (Vector &values, int Step=0) const |
virtual void | ResetConstitutiveLaw () |
virtual void | InitializeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) |
virtual void | FinalizeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateLocalSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateLeftHandSide (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateRightHandSide (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateFirstDerivativesContributions (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateFirstDerivativesLHS (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateFirstDerivativesRHS (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSecondDerivativesContributions (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSecondDerivativesLHS (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSecondDerivativesRHS (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateLumpedMassVector (VectorType &rLumpedMassVector, const ProcessInfo &rCurrentProcessInfo) const |
virtual void | AddExplicitContribution (const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< double > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable. (This is the double version) More... | |
virtual void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable. (This is the vector version) More... | |
virtual void | AddExplicitContribution (const MatrixType &rLHSMatrix, const Variable< MatrixType > &rLHSVariable, const Variable< Matrix > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable. (This is the matrix version) More... | |
virtual void | CalculateOnIntegrationPoints (const Variable< bool > &rVariable, std::vector< bool > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< int > &rVariable, std::vector< int > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< double > &rVariable, std::vector< double > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, std::vector< array_1d< double, 3 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 4 >> &rVariable, std::vector< array_1d< double, 4 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 6 >> &rVariable, std::vector< array_1d< double, 6 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 9 >> &rVariable, std::vector< array_1d< double, 9 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< Vector > &rVariable, std::vector< Vector > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< Matrix > &rVariable, std::vector< Matrix > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, std::vector< ConstitutiveLaw::Pointer > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< bool > &rVariable, const std::vector< bool > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< int > &rVariable, const std::vector< int > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< double > &rVariable, const std::vector< double > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, const std::vector< array_1d< double, 3 >> &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 4 >> &rVariable, const std::vector< array_1d< double, 4 >> &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 6 >> &rVariable, const std::vector< array_1d< double, 6 >> &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 9 >> &rVariable, const std::vector< array_1d< double, 9 >> &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< Vector > &rVariable, const std::vector< Vector > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< Matrix > &rVariable, const std::vector< Matrix > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, const std::vector< ConstitutiveLaw::Pointer > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual int | Check (const ProcessInfo &rCurrentProcessInfo) const |
virtual void | MassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddMassMatrix (MatrixType &rLeftHandSideMatrix, double coeff, const ProcessInfo &rCurrentProcessInfo) |
virtual void | DampMatrix (MatrixType &rDampMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddInertiaForces (VectorType &rRightHandSideVector, double coeff, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateLocalVelocityContribution (MatrixType &rDampingMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSensitivityMatrix (const Variable< double > &rDesignVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSensitivityMatrix (const Variable< array_1d< double, 3 > > &rDesignVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo) |
PropertiesType::Pointer | pGetProperties () |
returns the pointer to the property of the element. Does not throw an error, to allow copying of elements which don't have any property assigned. More... | |
const PropertiesType::Pointer | pGetProperties () const |
PropertiesType & | GetProperties () |
PropertiesType const & | GetProperties () const |
void | SetProperties (PropertiesType::Pointer pProperties) |
bool | HasProperties () const |
Check that the Element has a correctly initialized pointer to a Properties instance. More... | |
virtual const Parameters | GetSpecifications () const |
This method provides the specifications/requirements of the element. More... | |
void | PrintData (std::ostream &rOStream) const override |
Print object's data. More... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (Element) | |
![]() | |
GeometricalObject (IndexType NewId=0) | |
Default constructor. More... | |
GeometricalObject (IndexType NewId, GeometryType::Pointer pGeometry) | |
Default constructor. More... | |
~GeometricalObject () override | |
Destructor. More... | |
GeometricalObject (GeometricalObject const &rOther) | |
Copy constructor. More... | |
GeometricalObject & | operator= (GeometricalObject const &rOther) |
Assignment operator. More... | |
virtual void | SetGeometry (GeometryType::Pointer pGeometry) |
Sets the pointer to the geometry. More... | |
GeometryType::Pointer | pGetGeometry () |
Returns the pointer to the geometry. More... | |
const GeometryType::Pointer | pGetGeometry () const |
Returns the pointer to the geometry (const version) More... | |
GeometryType & | GetGeometry () |
Returns the reference of the geometry. More... | |
GeometryType const & | GetGeometry () const |
Returns the reference of the geometry (const version) More... | |
Flags & | GetFlags () |
Returns the flags of the object. More... | |
Flags const & | GetFlags () const |
Returns the flags of the object (const version) More... | |
void | SetFlags (Flags const &rThisFlags) |
Sets the flags of the object. More... | |
DataValueContainer & | Data () |
DataValueContainer & | GetData () |
DataValueContainer const & | GetData () const |
void | SetData (DataValueContainer const &rThisData) |
template<class TDataType > | |
bool | Has (const Variable< TDataType > &rThisVariable) const |
template<class TVariableType > | |
void | SetValue (const TVariableType &rThisVariable, typename TVariableType::Type const &rValue) |
template<class TVariableType > | |
TVariableType::Type & | GetValue (const TVariableType &rThisVariable) |
template<class TVariableType > | |
TVariableType::Type const & | GetValue (const TVariableType &rThisVariable) const |
void | PrintData (std::ostream &rOStream) const override |
Print object's data. More... | |
unsigned int | use_count () const noexcept |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (GeometricalObject) | |
Pointer definition of GeometricalObject. More... | |
bool | IsActive () const |
Checks if the GeometricalObject is active. More... | |
![]() | |
IndexedObject (IndexType NewId=0) | |
Default constructor. More... | |
virtual | ~IndexedObject () |
Destructor. More... | |
IndexedObject (IndexedObject const &rOther) | |
Copy constructor. More... | |
IndexedObject & | operator= (IndexedObject const &rOther) |
Assignment operator. More... | |
template<class TObjectType > | |
IndexType | operator() (TObjectType const &rThisObject) const |
IndexType | Id () const |
IndexType | GetId () const |
virtual void | SetId (IndexType NewId) |
IndexType & | DepricatedIdAccess () |
TODO: remove this function when removing data_file_io object. More... | |
KRATOS_CLASS_POINTER_DEFINITION (IndexedObject) | |
Pointer definition of IndexedObject. More... | |
![]() | |
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 |
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 | |
virtual void | ComputeBallToRigidFaceContactForceAndMoment (ParticleDataBuffer &data_buffer, array_1d< double, 3 > &rElasticForce, array_1d< double, 3 > &rContactForce, array_1d< double, 3 > &rigid_element_force, const ProcessInfo &r_process_info) |
virtual void | CalculateMomentum (array_1d< double, 3 > &rMomentum) |
virtual void | CalculateLocalAngularMomentum (array_1d< double, 3 > &rAngularMomentum) |
virtual void | ComputeBallToBallContactForceAndMoment (ParticleDataBuffer &data_buffer, const ProcessInfo &r_process_info, array_1d< double, 3 > &rElasticForce, array_1d< double, 3 > &rContactForce) |
virtual void | EvaluateDeltaDisplacement (ParticleDataBuffer &data_buffer, double DeltDisp[3], double RelVel[3], double LocalCoordSystem[3][3], double OldLocalCoordSystem[3][3], const array_1d< double, 3 > &vel, const array_1d< double, 3 > &delta_displ) |
virtual void | RelativeDisplacementAndVelocityOfContactPointDueToRotation (const double indentation, double DeltDesp[3], double RelVel[3], const double OldLocalCoordSystem[3][3], const double &other_radius, const double &dt, const array_1d< double, 3 > &angl_vel, SphericParticle *neighbour_iterator) |
virtual void | RelativeDisplacementAndVelocityOfContactPointDueToOtherReasons (const ProcessInfo &r_process_info, double DeltDisp[3], double RelVel[3], double OldLocalCoordSystem[3][3], double LocalCoordSystem[3][3], SphericParticle *neighbour_iterator) |
virtual void | RelativeDisplacementAndVelocityOfContactPointDueToRotationMatrix (double DeltDisp[3], double RelVel[3], const double OldLocalCoordSystem[3][3], const double &other_radius, const double &dt, const array_1d< double, 3 > &ang_vel, SphericParticle *p_neighbour) |
virtual void | RelativeDisplacementAndVelocityOfContactPointDueToRotationQuaternion (double DeltDesp[3], double RelVel[3], const double OldLocalCoordSystem[3][3], const double &other_radius, const double &dt, const array_1d< double, 3 > &angl_vel, SphericParticle *neighbour_iterator) |
virtual void | ComputeMoments (double normalLocalContactForce, double GlobalElasticContactForces[3], double LocalCoordSystem_2[3], SphericParticle *neighbour_iterator, double indentation, unsigned int i) |
virtual void | ComputeMomentsWithWalls (double normalLocalContactForce, double GlobalElasticContactForces[3], double LocalCoordSystem_2[3], Condition *wall, double indentation, unsigned int i) |
virtual double | GetInitialDeltaWithFEM (int index) |
virtual void | ComputeOtherBallToBallForces (array_1d< double, 3 > &other_ball_to_ball_forces) |
virtual void | StoreBallToBallContactInfo (const ProcessInfo &r_process_info, SphericParticle::ParticleDataBuffer &data_buffer, double GlobalContactForceTotal[3], double LocalContactForceTotal[3], double LocalContactForceDamping[3], bool sliding) |
virtual void | StoreBallToRigidFaceContactInfo (const ProcessInfo &r_process_info, SphericParticle::ParticleDataBuffer &data_buffer, double GlobalContactForceTotal[3], double LocalContactForceTotal[3], double LocalContactForceDamping[3], bool sliding) |
virtual void | EvaluateBallToBallForcesForPositiveIndentiations (SphericParticle::ParticleDataBuffer &data_buffer, const ProcessInfo &r_process_info, double LocalElasticContactForce[3], double DeltDisp[3], double LocalDeltDisp[3], double RelVel[3], double indentation, double ViscoDampingLocalContactForce[3], double &cohesive_force, SphericParticle *element2, bool &sliding, double LocalCoordSystem[3][3], double OldLocalCoordSystem[3][3], array_1d< double, 3 > &neighbour_elastic_contact_force) |
virtual void | AddUpForcesAndProject (double OldCoordSystem[3][3], double LocalCoordSystem[3][3], double LocalContactForce[3], double LocalElasticContactForce[3], double LocalElasticExtraContactForce[3], double GlobalContactForce[3], double GlobalElasticContactForce[3], double GlobalElasticExtraContactForce[3], double TotalGlobalElasticContactForce[3], double ViscoDampingLocalContactForce[3], const double cohesive_force, array_1d< double, 3 > &other_ball_to_ball_forces, array_1d< double, 3 > &rElasticForce, array_1d< double, 3 > &rContactForce, const unsigned int i_neighbour_count, const ProcessInfo &r_process_info) final |
virtual void | AddUpFEMForcesAndProject (double LocalCoordSystem[3][3], double LocalContactForce[3], double LocalElasticContactForce[3], double GlobalContactForce[3], double GlobalElasticContactForce[3], double ViscoDampingLocalContactForce[3], const double cohesive_force, array_1d< double, 3 > &rElasticForce, array_1d< double, 3 > &rContactForce, array_1d< double, 3 > &elastic_force_backup, array_1d< double, 3 > &total_force_backup) final |
virtual void | AddUpMomentsAndProject (double LocalCoordSystem[3][3], double ElasticLocalRotationalMoment[3], double ViscoLocalRotationalMoment[3]) final |
virtual void | ComputeWear (double LocalRelVel[3], double mTimeStep, bool sliding, double inverse_of_volume, double LocalElasticContactForce, DEMWall *cast_neighbour) |
virtual void | AdditionalCalculate (const Variable< double > &rVariable, double &Output, const ProcessInfo &r_process_info) |
virtual void | AddNeighbourContributionToStressTensor (const ProcessInfo &r_process_info, const double GlobalElasticContactForce[3], const double other_to_me_vect[3], const double distance, const double radius_sum, SphericParticle *element) |
virtual void | AddWallContributionToStressTensor (const double GlobalElasticContactForce[3], const double other_to_me_vect[3], const double distance, const double contact_area) |
virtual void | RotateOldContactForces (const double LocalCoordSystem[3][3], const double OldLocalCoordSystem[3][3], array_1d< double, 3 > &mNeighbourElasticContactForces) final |
virtual void | ApplyGlobalDampingToContactForcesAndMoments (array_1d< double, 3 > &total_forces, array_1d< double, 3 > &total_moment) |
Protected Attributes | |
std::unique_ptr< DEMDiscontinuumConstitutiveLaw > | mDiscontinuumConstitutiveLaw |
std::unique_ptr< DEMRollingFrictionModel > | mRollingFrictionModel |
double | mInitializationTime |
double | mProgrammedDestructionTime =-1.0 |
double | mRadius |
double | mSearchRadius |
double | mRealMass |
PropertiesProxy * | mFastProperties |
int | mClusterId |
DEMIntegrationScheme * | mpTranslationalIntegrationScheme |
DEMIntegrationScheme * | mpRotationalIntegrationScheme |
double | mGlobalDamping |
double | mGlobalViscousDamping |
double | mBondedScalingFactor [3] = {0.0} |
Friends | |
class | Serializer |
Additional Inherited Members | |
![]() | |
static bool | HasSameType (const GeometricalObject &rLHS, const GeometricalObject &rRHS) |
Checks if two GeometricalObject have the same type. More... | |
static bool | HasSameType (const GeometricalObject *rLHS, const GeometricalObject *rRHS) |
Checks if two GeometricalObject have the same type (pointer version) More... | |
static bool | HasSameGeometryType (const GeometricalObject &rLHS, const GeometricalObject &rRHS) |
Checks if two GeometricalObject have the same geometry type. More... | |
static bool | HasSameGeometryType (const GeometricalObject *rLHS, const GeometricalObject *rRHS) |
Checks if two GeometricalObject have the same geometry type (pointer version) More... | |
static bool | IsSame (const GeometricalObject &rLHS, const GeometricalObject &rRHS) |
Checks if two GeometricalObject are the same. More... | |
static bool | IsSame (const GeometricalObject *rLHS, const GeometricalObject *rRHS) |
Checks if two GeometricalObject are the same (pointer version) More... | |
![]() | |
static const Flags | AllDefined () |
static const Flags | AllTrue () |
static Flags | Create (IndexType ThisPosition, bool Value=true) |
typedef std::unique_ptr<ParticleDataBuffer> Kratos::SphericParticle::BufferPointerType |
typedef GlobalPointersVector<Condition >::iterator Kratos::SphericParticle::ConditionWeakIteratorType |
typedef GlobalPointersVector<Element >::iterator Kratos::SphericParticle::ParticleWeakIteratorType |
Kratos::SphericParticle::SphericParticle | ( | ) |
Kratos::SphericParticle::SphericParticle | ( | IndexType | NewId, |
GeometryType::Pointer | pGeometry | ||
) |
Kratos::SphericParticle::SphericParticle | ( | IndexType | NewId, |
NodesArrayType const & | ThisNodes | ||
) |
Kratos::SphericParticle::SphericParticle | ( | IndexType | NewId, |
GeometryType::Pointer | pGeometry, | ||
PropertiesType::Pointer | pProperties | ||
) |
|
virtual |
Destructor.
|
protectedvirtual |
|
protectedvirtual |
|
finalprotectedvirtual |
|
finalprotectedvirtual |
|
finalprotectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
overridevirtual |
Calculate a Element variable usually associated to a integration point the Output is given on integration points and characterizes the element Calculate(..) methods are: OPTIONAL
Reimplemented from Kratos::Element.
Reimplemented in Kratos::SphericContinuumParticle, and Kratos::CylinderParticle.
|
overridevirtual |
Reimplemented from Kratos::Element.
Reimplemented in Kratos::CylinderParticle.
|
overridevirtual |
Reimplemented from Kratos::Element.
Reimplemented in Kratos::CylinderParticle.
|
overridevirtual |
this is called during the assembling process in order to calculate the elemental damping matrix
rDampingMatrix | the elemental damping matrix |
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::Element.
|
protectedvirtual |
|
overridevirtual |
ELEMENTS inherited from this class must implement this methods if they need to add dynamic element contributions CalculateMassMatrix, CalculateDampingMatrix and CalculateLumpedMassVector methods are: OPTIONAL this is called during the assembling process in order to calculate the elemental mass matrix
rMassMatrix | the elemental mass matrix |
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::Element.
|
virtual |
|
virtual |
|
virtual |
Reimplemented in Kratos::ThermalSphericParticle, Kratos::CylinderParticle, and Kratos::CylinderContinuumParticle.
|
protectedvirtual |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in Kratos::ThermalSphericParticle, and Kratos::ThermalSphericContinuumParticle.
|
virtual |
Reimplemented in Kratos::ThermalSphericParticle, Kratos::NanoParticle, Kratos::CylinderParticle, and Kratos::CylinderContinuumParticle.
|
virtual |
|
protectedvirtual |
Reimplemented in Kratos::SphericContinuumParticle, and Kratos::BeamParticle.
|
protectedvirtual |
|
virtual |
|
virtual |
|
protectedvirtual |
|
protectedvirtual |
|
virtual |
Reimplemented in Kratos::ContactInfoSphericParticle.
|
virtual |
Reimplemented in Kratos::ContactInfoSphericParticle.
|
protectedvirtual |
Reimplemented in Kratos::SinteringSphericContinuumParticle.
|
virtual |
|
virtual |
|
protectedvirtual |
|
virtual |
|
virtual |
|
overridevirtual |
It creates a new element pointer.
ELEMENTS inherited from this class have to implement next Create and Clone methods: MANDATORY
NewId | the ID of the new element |
ThisNodes | the nodes of the new element |
pProperties | the properties assigned to the new element |
Reimplemented from Kratos::Element.
Reimplemented in Kratos::ThermalSphericParticle, Kratos::ThermalSphericContinuumParticle, Kratos::SinteringSphericContinuumParticle, Kratos::SwimmingParticle< Kratos::SphericParticle >, Kratos::SwimmingParticle< Kratos::NanoParticle >, and Kratos::SwimmingParticle< Kratos::AnalyticSphericParticle >.
|
inlinevirtual |
Reimplemented in Kratos::SphericContinuumParticle, Kratos::ContactInfoSphericParticle, and Kratos::AnalyticSphericParticle.
|
overridevirtual |
ELEMENTS inherited from this class have to implement next EquationIdVector and GetDofList methods: MANDATORY this determines the elemental equation ID vector for all elemental DOFs
rResult | the elemental equation ID vector |
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::Element.
|
protectedvirtual |
|
protectedvirtual |
|
virtual |
|
inlinevirtual |
|
overridevirtual |
this is called at the end of each solution step
Reimplemented from Kratos::DiscreteElement.
Reimplemented in Kratos::ThermalSphericParticle, Kratos::ThermalSphericContinuumParticle, Kratos::SphericContinuumParticle, and Kratos::BeamParticle.
|
inlinevirtual |
Reimplemented in Kratos::CylinderContinuumParticle.
|
virtual |
int Kratos::SphericParticle::GetClusterId | ( | ) |
|
virtual |
Reimplemented in Kratos::ThermalSphericParticle, and Kratos::NanoParticle.
|
overridevirtual |
determines the elemental list of DOFs
ElementalDofList | the list of DOFs |
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::Element.
|
virtual |
PropertiesProxy * Kratos::SphericParticle::GetFastProperties | ( | ) |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in Kratos::SphericContinuumParticle.
double Kratos::SphericParticle::GetInitializationTime | ( | ) | const |
Reimplemented in Kratos::NanoParticle.
|
virtual |
|
virtual |
|
virtual |
Reimplemented in Kratos::ThermalSphericParticle.
double Kratos::SphericParticle::GetProgrammedDestructionTime | ( | ) | const |
|
virtual |
|
inlinevirtual |
|
virtual |
|
inlinevirtual |
|
virtual |
Reimplemented in Kratos::ThermalSphericParticle.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::DiscreteElement.
Reimplemented in Kratos::ThermalSphericParticle, Kratos::ThermalSphericContinuumParticle, Kratos::SwimmingParticle< Kratos::SphericParticle >, Kratos::SwimmingParticle< Kratos::NanoParticle >, Kratos::SwimmingParticle< Kratos::AnalyticSphericParticle >, Kratos::SphericContinuumParticle, Kratos::PolyhedronSkinSphericParticle, Kratos::NanoParticle, Kratos::IceContinuumParticle, Kratos::CylinderParticle, Kratos::CylinderContinuumParticle, Kratos::ContactInfoSphericParticle, Kratos::BeamParticle, and Kratos::AnalyticSphericParticle.
|
overridevirtual |
ELEMENTS inherited from this class must implement next methods Initialize, ResetConstitutiveLaw if the element needs to perform any operation before any calculation is done reset material and constitutive parameters or clean memory deleting obsolete variables these methods are: OPTIONAL is called to initialize the element if the element needs to perform any operation before any calculation is done the elemental variables will be initialized and set using this method
Reimplemented from Kratos::Element.
Reimplemented in Kratos::ThermalSphericParticle, Kratos::ThermalSphericContinuumParticle, and Kratos::SinteringSphericContinuumParticle.
|
virtual |
Reimplemented in Kratos::SinteringSphericContinuumParticle.
|
overridevirtual |
ELEMENTS inherited from this class must implement next methods InitializeSolutionStep, FinalizeSolutionStep, InitializeNonLinearIteration, FinalizeNonLinearIteration if the element needs to perform any operation before and after the solution step if the element needs to perform any operation before and after the solution iteration these methods are: OPTIONAL this is called in the beginning of each solution step
Reimplemented from Kratos::DiscreteElement.
Reimplemented in Kratos::ThermalSphericParticle, Kratos::SinteringSphericContinuumParticle, and Kratos::BeamParticle.
Kratos::SphericParticle::KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION | ( | SphericParticle | ) |
Pointer definition of SphericParticle.
|
virtual |
|
virtual |
Reimplemented in Kratos::ThermalSphericParticle, and Kratos::BeamParticle.
SphericParticle & Kratos::SphericParticle::operator= | ( | const SphericParticle & | rOther | ) |
std::unique_ptr< DEMDiscontinuumConstitutiveLaw > Kratos::SphericParticle::pCloneDiscontinuumConstitutiveLawWithFEMNeighbour | ( | Condition * | neighbour | ) |
std::unique_ptr< DEMDiscontinuumConstitutiveLaw > Kratos::SphericParticle::pCloneDiscontinuumConstitutiveLawWithNeighbour | ( | SphericParticle * | neighbour | ) |
std::unique_ptr< DEMRollingFrictionModel > Kratos::SphericParticle::pCloneRollingFrictionModel | ( | SphericParticle * | element | ) |
std::unique_ptr< DEMRollingFrictionModel > Kratos::SphericParticle::pCloneRollingFrictionModelWithFEMNeighbour | ( | Condition * | neighbour | ) |
std::unique_ptr< DEMRollingFrictionModel > Kratos::SphericParticle::pCloneRollingFrictionModelWithNeighbour | ( | SphericParticle * | neighbour | ) |
|
virtual |
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::DiscreteElement.
Reimplemented in Kratos::ThermalSphericParticle, Kratos::ThermalSphericContinuumParticle, Kratos::SwimmingParticle< Kratos::SphericParticle >, Kratos::SwimmingParticle< Kratos::NanoParticle >, Kratos::SwimmingParticle< Kratos::AnalyticSphericParticle >, Kratos::SphericContinuumParticle, Kratos::PolyhedronSkinSphericParticle, Kratos::NanoParticle, Kratos::IceContinuumParticle, Kratos::CylinderParticle, Kratos::CylinderContinuumParticle, Kratos::ContactInfoSphericParticle, Kratos::BeamParticle, and Kratos::AnalyticSphericParticle.
|
protectedvirtual |
Reimplemented in Kratos::ThermalSphericContinuumParticle.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
virtual |
|
finalprotectedvirtual |
|
virtual |
void Kratos::SphericParticle::SetClusterId | ( | const int | Id | ) |
|
virtual |
Reimplemented in Kratos::NanoParticle.
void Kratos::SphericParticle::SetDensityFromProperties | ( | double * | density | ) |
void Kratos::SphericParticle::SetFastProperties | ( | PropertiesProxy * | pProps | ) |
void Kratos::SphericParticle::SetFastProperties | ( | std::vector< PropertiesProxy > & | list_of_proxies | ) |
|
virtual |
|
virtual |
Reimplemented in Kratos::NanoParticle.
|
virtual |
void Kratos::SphericParticle::SetParticleMaterialFromProperties | ( | int * | particle_material | ) |
void Kratos::SphericParticle::SetPoissonFromProperties | ( | double * | poisson | ) |
void Kratos::SphericParticle::SetProgrammedDestructionTime | ( | const double | time | ) |
|
virtual |
|
virtual |
|
virtual |
void Kratos::SphericParticle::SetYoungFromProperties | ( | double * | young | ) |
double Kratos::SphericParticle::SlowGetDensity | ( | ) | const |
int Kratos::SphericParticle::SlowGetParticleMaterial | ( | ) | const |
double Kratos::SphericParticle::SlowGetPoisson | ( | ) | const |
double Kratos::SphericParticle::SlowGetYoung | ( | ) | const |
|
protectedvirtual |
Reimplemented in Kratos::ThermalSphericParticle.
|
protectedvirtual |
Reimplemented in Kratos::ThermalSphericParticle.
|
virtual |
|
virtual |
void Kratos::SphericParticle::TransformNeighbourCoorsToClosestInPeriodicDomain | ( | const ProcessInfo & | r_process_info, |
const double | coors[3], | ||
double | neighbour_coors[3] | ||
) |
void Kratos::SphericParticle::TransformNeighbourCoorsToClosestInPeriodicDomain | ( | ParticleDataBuffer & | data_buffer | ) |
void Kratos::SphericParticle::TransformNeighbourCoorsToClosestInPeriodicDomain | ( | ParticleDataBuffer & | data_buffer, |
const array_1d< double, 3 > & | coors, | ||
array_1d< double, 3 > & | neighbour_coors | ||
) |
|
friend |
|
protected |
std::vector<ParticleContactElement*> Kratos::SphericParticle::mBondElements |
|
protected |
std::vector<int> Kratos::SphericParticle::mContactConditionContactTypes |
std::vector<int> Kratos::SphericParticle::mContactingFaceNeighbourIds |
std::vector<int> Kratos::SphericParticle::mContactingNeighbourIds |
BoundedMatrix<double, 3, 3>* Kratos::SphericParticle::mDifferentialStrainTensor |
|
protected |
double Kratos::SphericParticle::mElasticEnergy |
Print object's data.
|
protected |
std::vector<int> Kratos::SphericParticle::mFemOldNeighbourIds |
|
protected |
|
protected |
double Kratos::SphericParticle::mInelasticFrictionalEnergy |
double Kratos::SphericParticle::mInelasticRollingResistanceEnergy |
double Kratos::SphericParticle::mInelasticViscodampingEnergy |
|
protected |
std::vector<SphericParticle*> Kratos::SphericParticle::mNeighbourElements |
std::vector<DEMWall*> Kratos::SphericParticle::mNeighbourNonContactRigidFaces |
std::vector<DEMWall*> Kratos::SphericParticle::mNeighbourPotentialRigidFaces |
std::vector<DEMWall*> Kratos::SphericParticle::mNeighbourRigidFaces |
double Kratos::SphericParticle::mPartialRepresentativeVolume |
ModelPart* Kratos::SphericParticle::mpInlet |
Default constructor.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
BoundedMatrix<double, 3, 3>* Kratos::SphericParticle::mStrainTensor |
BoundedMatrix<double, 3, 3>* Kratos::SphericParticle::mStressTensor |
BoundedMatrix<double, 3, 3>* Kratos::SphericParticle::mSymmStressTensor |