SinterLinInteraction.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 SINTERLININTERACTION_H
6 #define SINTERLININTERACTION_H
7 
9 
11 
12 class BaseInteractable;
13 
19 class SinterLinInteraction : public virtual BaseInteraction
20 {
21 public:
26 
31 
36 
39 
43  ~SinterLinInteraction() override;
47  //BaseInteraction* copy() const;
51  void computeNormalForce();
52 
56  void read(std::istream& is) override;
57 
61  void write(std::ostream& os) const override;
62 
66  virtual std::string getBaseName() const;
67 
71  Mdouble getElasticEnergy() const override;
72 
76  Mdouble getMaxOverlap() const;
77 
81  Mdouble getPlasticOverlap() const;
82 
86  void setMaxOverlap(Mdouble maxOverlap);
87 
91  void setPlasticOverlap(Mdouble plasticOverlap);
92 
97 
101  const SinterLinNormalSpecies* getSpecies() const;
102 
103 
104 private:
105 
106  //set in integrate, used in compute force
108 
110 };
111 
112 #endif
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: SinterLinInteraction.h:20
void write(std::ostream &os) const override
Interaction write function, which accepts an std::ostream as input.
Definition: SinterLinInteraction.cc:65
Mdouble getUnloadingStiffness() const
Definition: SinterLinInteraction.cc:299
Mdouble getElasticEnergy() const override
Computes and returns the amount of elastic energy stored in the spring.
Definition: SinterLinInteraction.cc:245
const SinterLinNormalSpecies * getSpecies() const
Returns a const pointer of type LinearViscoelasticNormalSpecies*.
Definition: SinterLinInteraction.cc:256
SinterLinInteraction()
Definition: SinterLinInteraction.cc:29
Mdouble getPlasticOverlap() const
Definition: SinterLinInteraction.cc:272
~SinterLinInteraction() override
Destructor.
Definition: SinterLinInteraction.cc:54
virtual std::string getBaseName() const
Returns the name of the interaction.
Definition: SinterLinInteraction.cc:86
Mdouble plasticOverlap_
Definition: SinterLinInteraction.h:109
Mdouble maxOverlap_
Definition: SinterLinInteraction.h:107
SinterLinNormalSpecies SpeciesType
An alias for the corresponding species.
Definition: SinterLinInteraction.h:25
void read(std::istream &is) override
Interaction read function, which accepts an std::istream as input.
Definition: SinterLinInteraction.cc:75
void setMaxOverlap(Mdouble maxOverlap)
Definition: SinterLinInteraction.cc:282
void computeNormalForce()
Creates a copy of an object of this class. (Deep copy)
Definition: SinterLinInteraction.cc:94
Mdouble getMaxOverlap() const
Definition: SinterLinInteraction.cc:264
void setPlasticOverlap(Mdouble plasticOverlap)
Definition: SinterLinInteraction.cc:290
SinterLinNormalSpecies contains the parameters used to describe a plastic-cohesive normal force (Stef...
Definition: SinterLinNormalSpecies.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