ChargedBondedInteraction.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 LINEARChargedInteraction_H
6 #define LINEARChargedInteraction_H
7 
9 #include "Math/Vector.h"
10 
11 class BaseParticle;
12 
14 
15 class BaseInteractable;
16 
22 {
23 public:
28 
33 
38 
41 
45  ~ChargedBondedInteraction() override;
46 
50  void computeAdhesionForce();
51 
55  void read(std::istream& is) override;
56 
60  void write(std::ostream& os) const override;
69  Mdouble getElasticEnergy() const override;
70 
74  const ChargedBondedSpecies* getSpecies() const;
75 
79  std::string getBaseName() const;
80 
81 
82  //*********************************************************************************************************************
83  //******************************ADDING ADDITIONAL VARIABLES FOR BOND INTERACTIONS**************************************
84  //*********************************************************************************************************************
85 
89  void bond();
90 
91  void unbond();
92 
93  bool isBonded() const override {return bonded_;}
94 
95 private:
104  bool bonded_;
105 
106 };
107 
108 #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: BaseParticle.h:33
Definition: ChargedBondedInteraction.h:22
ChargedBondedSpecies SpeciesType
Setting an alias name for ChargedBondedSpecies.
Definition: ChargedBondedInteraction.h:27
~ChargedBondedInteraction() override
Destructor.
Definition: ChargedBondedInteraction.cc:55
void unbond()
Definition: ChargedBondedInteraction.cc:288
ChargedBondedInteraction()
Definition: ChargedBondedInteraction.cc:45
bool bonded_
A history parameter to store if the particles were in contact or not. Useful to compute adhesive forc...
Definition: ChargedBondedInteraction.h:104
const ChargedBondedSpecies * getSpecies() const
Returns a pointer to the adhesive force species ChargedBondedSpecies.
Definition: ChargedBondedInteraction.cc:261
void computeAdhesionForce()
Computes the adhesive forces.
Definition: ChargedBondedInteraction.cc:83
void read(std::istream &is) override
Interaction read function, which accepts an std::istream as input.
Definition: ChargedBondedInteraction.cc:73
Mdouble getElasticEnergy() const override
Returns the amount of Elastic energy involved in an interaction. Basically used in case you want to w...
Definition: ChargedBondedInteraction.cc:185
void bond()
A pair of functions which can be used to fix or unfix a pair of overlapping particles.
Definition: ChargedBondedInteraction.cc:278
void write(std::ostream &os) const override
Interaction print function, which accepts an std::ostream as input.
Definition: ChargedBondedInteraction.cc:65
bool isBonded() const override
Definition: ChargedBondedInteraction.h:93
std::string getBaseName() const
Returns the name of the interaction, see Interaction.h.
Definition: ChargedBondedInteraction.cc:269
ChargedBondedSpecies contains the parameters used to describe a linear reversible short-range force.
Definition: ChargedBondedSpecies.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