5 #ifndef MINDLININTERACTION_H
6 #define MINDLININTERACTION_H
58 void read(std::istream& is)
override;
63 void write(std::ostream& os)
const override;
float * p
Definition: Tutorial_Map_using.cpp:9
Defines the basic properties that a interactable object can have.
Definition: BaseInteractable.h:34
Stores information about interactions between two interactable objects; often particles but could be ...
Definition: BaseInteraction.h:39
Definition: BaseParticle.h:33
Implementation of a 3D matrix.
Definition: Kernel/Math/Matrix.h:17
Computes the forces corresponding to sliding friction.
Definition: MindlinInteraction.h:22
void integrate(Mdouble timeStep) override
Increments the amount of compression in sliding spring.
Definition: MindlinInteraction.cc:327
Vec3D tangentialForceTurningPointULTemp_
Definition: MindlinInteraction.h:198
Vec3D tangentialDisplacementTurningPointLU_
Definition: MindlinInteraction.h:201
Mdouble tangentialForceDirection_
Definition: MindlinInteraction.h:187
Mdouble getElasticEnergy() const override
Returns the amount of elastic energy stored in sliding spring.
Definition: MindlinInteraction.cc:335
const MindlinSpecies * getSpecies() const
Returns a const pointer of type MindlinSpecies*.
Definition: MindlinInteraction.cc:376
Mdouble getTangentialOverlap() const override
Returns the amount of tangential overlap which is needed by BaseInteraction::writeToFstat().
Definition: MindlinInteraction.cc:346
Mdouble tangentialStiffnessZero_
Definition: MindlinInteraction.h:207
void setTangentialStiffnessZero(Mdouble newKt0)
Definition: MindlinInteraction.cc:165
void computeFrictionForce()
Computes the tangential force generated due to compression in the sliding spring. Does take into acco...
Definition: MindlinInteraction.cc:257
Vec3D tangentialForcePrevious_
Definition: MindlinInteraction.h:185
void write(std::ostream &os) const override
Interaction write function, which accepts an std::ostream as input.
Definition: MindlinInteraction.cc:144
void updateTangentialStiffnessZero(Mdouble rad, double shearMod)
Definition: MindlinInteraction.cc:190
Vec3D slidingSpring_
Stores the amount of sliding spring ( ) compression from the expression . Set in the member function ...
Definition: MindlinInteraction.h:170
void updateTangentialStiffnessUnloading(Mdouble fric, Vec3D direction)
Mdouble tangentialStiffness_
Definition: MindlinInteraction.h:211
Vec3D initialTangentialVelocity_
Definition: MindlinInteraction.h:236
Vec3D slidingSpringPrevious_
Definition: MindlinInteraction.h:173
Mdouble getTangentialStiffnessZero()
Definition: MindlinInteraction.cc:172
const Vec3D getTangentialForce() const override
Returns the sliding friction force vector.
Definition: MindlinInteraction.cc:358
std::string getBaseName() const
Returns the type/name of interaction (sliding friction interaction)
Definition: MindlinInteraction.cc:385
MindlinSpecies SpeciesType
An alias name for MindlinSpecies data type.
Definition: MindlinInteraction.h:27
Vec3D tangentialDisplacementTemp_
Definition: MindlinInteraction.h:222
Mdouble tangentialStiffnessZeroPrevious_
Definition: MindlinInteraction.h:209
void updateTangentialStiffnessReloading(Mdouble fric, Vec3D direction)
Mdouble getTangentialStiffness()
Definition: MindlinInteraction.cc:179
void updateTangentialStiffnessUnloadingTanDown(Mdouble fric, Vec3D direction)
void updateTangentialStiffnessInitial(Mdouble fric)
void rotateHistory(Matrix3D &rotationMatrix) override
When periodic particles are used, some interactions need certain history properties rotated (e....
Definition: MindlinInteraction.cc:400
Vec3D tangentialForce_
Computes the tangential force such that . Set and computed in computeFrictionForce().
Definition: MindlinInteraction.h:182
Vec3D tangentialForceTemp_
Definition: MindlinInteraction.h:221
~MindlinInteraction() override
Destructor.
Definition: MindlinInteraction.cc:134
bool priorLoadingFlag_
Definition: MindlinInteraction.h:215
MindlinInteraction()
Empty constructor.
Definition: MindlinInteraction.cc:123
void updateK_t(Mdouble fric, Vec3D direction, bool useTurningPoint, bool isLoading)
Definition: MindlinInteraction.cc:204
void updateTangentialStiffnessReloadingTanUp(Mdouble fric, Vec3D direction)
const Mdouble getTangentialForceDirection() const
Definition: MindlinInteraction.cc:368
void updateTangentialStiffnessInitial2(Mdouble fric, Vec3D direction)
Mdouble getAbsoluteNormalForcePrevious() const
Returns the absolute value of the norm (length) of the previous Normal force vector.
Definition: MindlinInteraction.cc:415
Vec3D tangentialForceTurningPointLUTemp_
Definition: MindlinInteraction.h:197
void reverseHistory() override
A useful feature if one wants to return to the initial state of the spring. However,...
Definition: MindlinInteraction.cc:393
Mdouble absoluteNormalForcePrevious_
Definition: MindlinInteraction.h:240
Vec3D tangentialForceTurningPointLU_
Definition: MindlinInteraction.h:193
Mdouble tangentialDisplacementSL_
Definition: MindlinInteraction.h:233
Vec3D tangentialDisplacementTemp2_
Definition: MindlinInteraction.h:228
Vec3D tangentialForceTurningPointUL_
Definition: MindlinInteraction.h:194
Vec3D slidingSpringVelocity_
Stores the rate at which the sliding spring compressed or relaxed. Set in the member function compute...
Definition: MindlinInteraction.h:178
void setAbsoluteNormalForcePrevious(Mdouble absoluteNormalForcePrevious)
allows the previous normal force to be (re)set from external classes
Definition: MindlinInteraction.cc:426
Vec3D tangentialForceTemp2_
Definition: MindlinInteraction.h:227
void read(std::istream &is) override
Interaction read function, which accepts an std::istream as input.
Definition: MindlinInteraction.cc:153
Vec3D tangentialDisplacementTurningPointUL_
Definition: MindlinInteraction.h:200
MindlinSpecies contains the parameters used to describe sliding friction.
Definition: MindlinSpecies.h:17
Definition: Kernel/Math/Vector.h:30
#define I
Definition: main.h:127
double P
Uniform pressure.
Definition: TwenteMeshGluing.cpp:77
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286