HertzianViscoelasticInteraction.h
Go to the documentation of this file.
1 // This file is part of the MercuryDPM project (https://www.mercurydpm.org).
2 // Copyright (c), The MercuryDPM Developers Team. All rights reserved.
3 // License: BSD 3-Clause License; see the LICENSE file in the root directory.
4 
5 #ifndef HERTZIANVISCOELASTICINTERACTION_H
6 #define HERTZIANVISCOELASTICINTERACTION_H
7 
9 
10 class BaseInteractable;
11 
13 
19 {
20 public:
25 
30 
31  //used for mpi
33 
38 
43  //
44  // HertzianViscoelasticInteraction* copy() const;
45  //
49  void computeNormalForce();
50 
52  {
53 
54  }
55 
59  void read(std::istream& is) override;
60 
64  void write(std::ostream& os) const override;
65 
69  std::string getBaseName() const;
70 
74  Mdouble getElasticEnergy() const override;
75 
80 
81  Mdouble getElasticEnergyAtEquilibrium(Mdouble adhesiveForce) const override;
82 };
83 
84 #endif
double Mdouble
Definition: GeneralDefine.h:13
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
Computes normal forces for a Herztian visco-elastic interaction.
Definition: HertzianViscoelasticInteraction.h:19
const HertzianViscoelasticNormalSpecies * getSpecies() const
Returns a const pointer of type HerztianViscoelasticNormalSpecies (static-cast).
Definition: HertzianViscoelasticInteraction.cc:142
Mdouble getElasticEnergyAtEquilibrium(Mdouble adhesiveForce) const override
Definition: HertzianViscoelasticInteraction.cc:154
void computeNormalForce()
Computes the amount of normal force due to an Hertzian visco-elastic interaction.
Definition: HertzianViscoelasticInteraction.cc:84
HertzianViscoelasticInteraction(const BaseInteraction &p)
Definition: HertzianViscoelasticInteraction.h:51
HertzianViscoelasticNormalSpecies SpeciesType
An alias for HertzianViscoelasticNormalSpecies.
Definition: HertzianViscoelasticInteraction.h:24
Mdouble getElasticEnergy() const override
Computes and returns the amount of elastic energy stored in the spring.
Definition: HertzianViscoelasticInteraction.cc:126
void read(std::istream &is) override
Interaction read function, which accepts an std::istream as input.
Definition: HertzianViscoelasticInteraction.cc:61
std::string getBaseName() const
Returns the name of the interaction.
Definition: HertzianViscoelasticInteraction.cc:69
void write(std::ostream &os) const override
Interaction write function, which accepts an std::ostream as input.
Definition: HertzianViscoelasticInteraction.cc:53
~HertzianViscoelasticInteraction() override
Destructor.
Definition: HertzianViscoelasticInteraction.cc:43
HertzianViscoelasticNormalSpecies contains the parameters used to describe a Hertzian normal force (T...
Definition: HertzianViscoelasticNormalSpecies.h:17
#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