Itasca C++ Interface
Loading...
Searching...
No Matches
icontactfluid.h
1#pragma once
2
3namespace itasca {
4 class IThing;
5}
6
7namespace itascaxd {
8 using namespace itasca;
9
10 class IContact;
11 class IContactModel;
12 class IContactModelFluid;
13 class IContactMechanical;
14 class IPiece;
15 class IPieceFluid;
16
17 class IContactFluid { // Fluid Contacts may exist between two IPieceFluid objects
18 public:
19 inline static const TType type_ = 0x65525faf;
20
21 virtual const IThing* getIThing() const = 0;
22 virtual IThing* getIThing() = 0;
23 virtual const IContact* getContact() const = 0;
24 virtual IContact* getContact() = 0;
25 virtual const IContactMechanical* getContactMechanical() const = 0;
26 virtual IContactMechanical* getContactMechanical() = 0;
27 virtual const IContactFluid* getContactFluid() const = 0;
28 virtual IContactFluid* getContactFluid() = 0;
29 virtual const IPiece* getEnd1() const = 0;
30 virtual IPiece* getEnd1() = 0;
31 virtual const IPiece* getEnd2() const = 0;
32 virtual IPiece* getEnd2() = 0;
33 virtual const IPieceFluid* getEnd1Fluid() const = 0;
34 virtual IPieceFluid* getEnd1Fluid() = 0;
35 virtual const IPieceFluid* getEnd2Fluid() const = 0;
36 virtual IPieceFluid* getEnd2Fluid() = 0;
37 // Return fluid contact model present at this mechanical contact
38 virtual const IContactModel* getModel() const = 0;
39 virtual IContactModel* getModel() = 0;
40 virtual QString getModelName() const = 0;
41 // Assigns a clone of fluid CM passed in arguments, and copies its properties.
42 virtual IContactModel* setModel(const IContactModel* toClone, bool validate = true) = 0;
43 // Assigns fluid contact model based on a name.
44 virtual IContactModel* setModelName(const QString& name) = 0;
45
46 virtual void setPorePressure(const double& d) =0;
47 virtual double getPorePressure() const =0;
48 virtual void setPressureFixity(const bool& b) =0;
49 virtual bool getPressureFixity() const =0;
50 virtual DVect2 getFlowRateQi() const =0; // see flowRateQi_
51 virtual void setFlowRateQs(const double& d) =0; // see flowRateQs_
52 virtual double getFlowRateQs() const =0;
53 virtual double getFlowRateQb() const =0; // see flowRateQb_
54 virtual void setAccumFluidVolume(const double& d, bool external) =0;
55 virtual DVect2 getAccumFluidVolume() const =0; // see accumVolume_
56 virtual DVect2 getLength_li() const =0; // see length_li_
57 virtual double getAreaPipe() const =0;
58 };
59}
Base class for items that will be stored in containers.
Definition ithing.h:30
Definition icontactfluid.h:17
Contact class.
Definition icontact.h:33
ContactMechanical class.
Definition icontactmechanical.h:37
Definition ipiecefluid.h:13
Definition ipiece.h:15
uint32 TType
class type indicator
Definition basedef.h:46
namespace Itasca
Definition basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:4