Itasca C++ Interface
Loading...
Searching...
No Matches
icontactfluid.h
1#pragma once
2// icontactfluid.h
3
4namespace itascaxd {
5 using namespace itasca;
6
7 class IContact;
8 class IContactMechanical;
9 class IContactModel;
10 class IContactModelFluid;
11 class IPiece;
12 class IPieceFluid;
13
15 public:
16 inline static const TType type_ = 0x65525faf;
17
18 virtual const IThing* getIThing() const =0;
19 virtual IThing* getIThing() =0;
20 virtual const IContact* getContact() const =0;
21 virtual IContact* getContact() =0;
22 virtual const IContactMechanical* getContactMechanical() const =0;
23 virtual IContactMechanical* getContactMechanical() =0;
24 virtual const IContactFluid* getContactFluid() const =0;
25 virtual IContactFluid* getContactFluid() =0;
26 virtual const IPiece* getEnd1() const =0;
27 virtual IPiece* getEnd1() =0;
28 virtual const IPiece* getEnd2() const =0;
29 virtual IPiece* getEnd2() =0;
30 virtual const IPieceFluid* getEnd1Fluid() const =0;
31 virtual IPieceFluid* getEnd1Fluid() =0;
32 virtual const IPieceFluid* getEnd2Fluid() const =0;
33 virtual IPieceFluid* getEnd2Fluid() =0;
34 virtual const IContactModel* getModel() const =0;
35 virtual IContactModel* getModel() =0;
36 virtual string getModelName() const =0;
37 virtual IContactModel* setModel(const IContactModel* toClone, bool validate = true) =0;
38 virtual IContactModel* setModelName(const string& name) =0;
39
40 virtual bool isInternal() const =0; // if not internal, then surface
41 virtual bool isNull() const =0;
42 virtual void setOpen(const bool& b) =0;
43 virtual bool isOpen() const =0;
44 virtual void setPressureFixed(const bool& b) =0;
45 virtual bool isPressureFixed() const =0;
46 virtual void setPorePressure(const double& d) =0;
47 virtual double getPorePressure() const =0;
48 virtual void setHydrostaticPressure(const double& d) =0;
49 virtual double getHydrostaticPressure() const =0;
50 virtual double getPressureHead() const =0;
51 virtual DVect2 getFlowRateQi() const =0; // see flowRateQi_
52 virtual void setFlowRateQs(const double& d) =0; // see flowRateQs_
53 virtual double getFlowRateQs() const =0;
54 virtual double getFlowRateQr() const =0; // see flowRateQr_
55 virtual double getFlowRateSum() const =0;
56 virtual void setAccumVolume(const double& d, bool external) =0;
57 virtual DVect2 getAccumVolume() const =0; // see accumVolume_
58 virtual DVect2 getLength_li() const =0; // see length_li_
59 virtual void setAreaPipe(const double& d) =0;
60 virtual double getAreaPipe() const =0;
61 virtual double getAreaContact() const =0;
62 virtual double getVolumeMaterial() const =0;
63 virtual DVect getTotalForceGbl() const =0;
64 virtual DVect getEffectiveForceGbl() const =0;
65 virtual DVect getPressureForceGbl() const =0;
66 virtual double getPressureForce() const =0;
67
68 // Fluid physics
69 virtual double getCritTS() const =0;
70 virtual void setPipeSegmentLengths() =0;
71 virtual void getAndSendConductivityTerms() =0;
72 virtual void updateFlowAndPressureAtKnot( double& timestep ) =0;
73 };
74}
Base class for items that will be stored in containers.
Definition ithing.h:31
Definition icontactfluid.h:14
Contact class.
Definition icontact.h:33
ContactMechanical class.
Definition icontactmechanical.h:38
Definition ipiecefluid.h:13
Definition ipiece.h:16
uint32 TType
class type indicator
Definition basedef.h:47
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:156
namespace Itasca
Definition basememory.cpp:14
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:6