Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
iflowknotthing.h
Go to the documentation of this file.
1 #pragma once
2 // iflowknotthing.h
3 
4 #include "iblockdef.h"
5 #include "base/src/farray.h"
6 
12 namespace itasca
13 {
14  class IThing;
15 }
16 
17 namespace block
18 {
19  class ISubcontactThing;
20  class IFlowKnotThing;
21  class IFlowPlaneThing;
22  class IFlowPlaneVertexThing;
23 
30  {
31  public:
32 
34  enum pp_condition {PP_Free, PP_Fix, PP_Flux};
35 
37  enum therm_condition {T_Free, T_ConstTemp, T_ConstFlux};
38 
40  inline static const TType type_ = 0x52d96559;
42  virtual const itasca::IThing * getIThing() const=0;
44  virtual itasca::IThing * getIThing()=0;
46  virtual FInt getFortranOffset() const=0;
48  virtual DVect3 getLocation() const=0;
50  virtual double getPP() const=0;
52  virtual void setPP(double pp) = 0;
54  virtual pp_condition getPPCondition() const=0;
56  virtual void setPPCondition(pp_condition pc)= 0;
58  virtual therm_condition getThermalCondition() const=0;
59  virtual void setThermalCondition(therm_condition tc) = 0;
61  virtual double getFluidFlux() const=0;
63  virtual void setFluidFlux(double f) = 0;
65  virtual double getUnbalancedVolumeMax() const=0;
67  virtual double getUnbalancedVolume() const=0;
69  virtual double getArea() const=0;
71  virtual double getVolume() const=0;
73  virtual double getStiffness() const=0;
75  virtual double getTrans() const=0;
77  virtual double getTemp() const=0;
79  virtual void setTemp(double T) = 0;
81  virtual double getThermalFlux() const=0;
83  virtual void setThermalFlux(double d) = 0;
85  virtual double getThermalFlowSum() const=0;
87  virtual double getUnbalancedThermalFlux() const=0;
89  virtual double getHeatTransferCoefficient() const=0;
91  virtual void setHeatTransferCoefficient(double d) = 0;
93  virtual double getTimestep() const = 0;
95  virtual double getBulk() const = 0;
97  virtual void setBulk(double d) = 0;
99  virtual double getAppliedProppantConcentration() const=0;
101  virtual void setAppliedProppantConcentration(double d) const=0;
103  virtual bool getProppantFixed() const=0;
105  virtual void setProppantFixed(bool b)=0;
108 
109  };
110 
111 } // end namespace block
112 // EOF
virtual void setAppliedProppantConcentration(double d) const =0
Set proppant volume concentration applied at flow knot.
virtual double getHeatTransferCoefficient() const =0
Return the heat transfer coefficient.
virtual bool getProppantFixed() const =0
Get proppant fixity condition (true = fixed, false otherwise)
virtual void setProppantFixed(bool b)=0
Set proppant fixity condition (true = fixed, false otherwise)
virtual double getStiffness() const =0
Return the stiffness associated with this knot.
virtual double getBulk() const =0
Get (joint) fluid bulk modulus for this flow knot.
This is the interface for FlowKnotThing, a C++ wrapper for a flow knot This will be stored in a conta...
Definition: iflowknotthing.h:29
virtual void setBulk(double d)=0
Set (joint) fluid bulk modulus for this flow knot.
virtual double getUnbalancedThermalFlux() const =0
Return unbalanced flux.
namespace Itasca
Definition: basememory.cpp:9
Int FInt
Interface to provide access to 3DEC modules, global data, list of 3DEC entities, etc.
Definition: iblockdef.h:19
Base class for items that will be stored in containers.
Definition: ithing.h:31
virtual double getTimestep() const =0
Return the timestep associated with this knot.
virtual double getAppliedProppantConcentration() const =0
Get proppant volume concentration applied at flow knot.
virtual double getTrans() const =0
Return the total transmissivity of elements connected to the knot.
virtual void setTemp(double T)=0
Set the temperature.
virtual void setFluidFlux(double f)=0
Set the additional fluid flux source value.
Fortran to C++ type declarations.
static const TType type_
type used in IThing typing system
Definition: iflowknotthing.h:40
An array class that attempts to minimize unnecessary heap access.
virtual DVect3 getLocation() const =0
Return location.
virtual void setPPCondition(pp_condition pc)=0
Set the pore pressure condition.
virtual double getThermalFlowSum() const =0
Return heat flow sum.
virtual double getUnbalancedVolumeMax() const =0
Return the maximum unbalanced volume during the simulation.
virtual void setThermalFlux(double d)=0
Set the heat flux.
virtual FInt getFortranOffset() const =0
Return flow knot fortran offset.
virtual void setHeatTransferCoefficient(double d)=0
Set the heat transfer coefficient.
unsigned int TType
class type indicator
Definition: basedef.h:41
virtual double getPP() const =0
Return the fluid pore pressure.
virtual double getThermalFlux() const =0
Return heat flux.
virtual const itasca::IThing * getIThing() const =0
Returns a const IThing pointer.
virtual double getFluidFlux() const =0
Return the additional fluid flux source value.
virtual double getTemp() const =0
Return the temperature.
therm_condition
Possible thermal conditions for a flow knot.
Definition: iflowknotthing.h:37
An array class that attempts to minimize unnecessary heap access.
Definition: farray.h:27
virtual therm_condition getThermalCondition() const =0
Return the thermal condition.
virtual pp_condition getPPCondition() const =0
Return the pore pressure condition.
pp_condition
Possible pore pressure (fluid) conditions for a flow knot.
Definition: iflowknotthing.h:34
virtual FArray< const IFlowPlaneVertexThing * > getVertices() const =0
Return list of flow plane vertices associated with this flow knot.
virtual void setPP(double pp)=0
Set the fluid pore pressure.
virtual double getVolume() const =0
Return the volume associated with this knot.
virtual double getUnbalancedVolume() const =0
Return the maximum unbalanced volume for the current cycle.
virtual double getArea() const =0
Return the area associated with this knot.