Hydro transportation class#
-
struct caivity_type#
- #include <openfdem_hydro.h>
-
struct Hydro_structure#
- #include <openfdem_hydro.h>
Public Members
-
std::vector<caivity_type> cavity#
-
short subSteps = 10#
-
short subNowStep = 0#
-
bool hasMatrixFlow = false#
-
bool hasFractureFlow = false#
-
bool isDoubleWayCouple = true#
-
bool notbackforwardPressure = false#
-
bool isFullFractureFlow = true#
-
bool hasGasFlow = false#
-
bool isTHMCouple = false#
-
bool hasinitialized = false#
-
std::vector<caivity_type> cavity#
-
class HydroBaseFractureFlow : public OpenFdemAbstract#
- #include <new_hydro_fracture_flow.h>
Public Functions
-
inline HydroBaseFractureFlow()#
-
inline ~HydroBaseFractureFlow()#
-
void updateCZMAperature(General general, Nodal nodal, Cohelement cohelement)#
Compute the fracture aperature on surface, the aperature should be updated for broken CZM as well, this function only need to run at the mechanical step.
- Parameters:
nodal –
face –
cohelement –
hydro –
solidmat –
- Returns:
na
-
void computeFracturePermabilityTensor(General general, Element element, Cohelement cohelement, Edge edge, Nodal nodal, Hydro hydro, Solidmat solidmat)#
Compute the fracture permability tensor for fracture flow.
\detail The k.ij is assembled from the local permability tensor on each surface of an element according to modified cubic law, the local permability is constructured by the principal values on each local directions in d-s-n plane
- Parameters:
element –
face –
hydro –
solidmat –
-
void computeFractureVolume(General general, Cohelement cohelement, Hydro hydro, Solidmat solidmat)#
Compute fracture volume.
\attension The fracture volume is V=\,\,\frac{1}{2}\left( S_{low}+S_{up} \right) o the fracture aperature should be updated before calculate fracture volume
- Parameters:
face –
cohelement –
hydro –
-
Vector2 computeFractureFlowRateatIntergration(General general, Element element, Nodal nodal, const Int elementindices, const Int igauss, Intergration intergration, Hydro hydro, Solidmat solidmat)#
compute fracture flow rate at intergration point
- Parameters:
general –
element –
nodal –
elementindices –
intPoint –
hydro –
solidmat –
- Returns:
q.i: flow rate vector in each direction
-
void computeFractureFlowRate(General general, Nodal nodal, Element element, Intergration intergration, Hydro hydro, Solidmat solidmat)#
-
void updateFractureFlowRateinHydroStep(General general, Nodal nodal, Hydro hydro, Boudary boudary, Solidmat solidmat)#
-
void updateFractureFlowRateinMechanicalStep(General general, Nodal nodal, Hydro hydro, Boudary boudary, Solidmat solidmat)#
-
void computeFractureSolidLeakoff(General general, Cohelement cohelement, Hydro hydro, Solidmat solidmat)#
-
void computeFractureFlowForce(General general, Boudary boundary, Element element, Nodal nodal, Hydro hydro)#
Public Static Functions
-
inline HydroBaseFractureFlow()#
-
class HydroBaseMatrixFlow : public OpenFdemAbstract#
- #include <new_hydro_matrix_flow.h>
Public Functions
-
inline HydroBaseMatrixFlow()#
-
inline ~HydroBaseMatrixFlow()#
-
virtual void initialize(General general, Boudary boudary, Nodal nodal, Hydro hydro)#
Initialize the fracture flow and fracture volume at hydro knnot.
- Parameters:
boudary – boudary condition class refference
nodal – nodal class refference
hydro – hydro class refference
- Returns:
na
-
void computeMatrixVolume(General general, Nodal nodal, Element element, Intergration intergration, Hydro hydro, Boudary boudary)#
Compute matrix volume.
- Parameters:
element –
hydro –
-
Vector2 computeMatrixFlowRateatIntergration(General general, Element element, Nodal nodal, const Int elementindices, const Int igauss, Intergration intergration, Hydro hydro, Solidmat solidmat)#
compute fracture flow rate at intergration point
- Parameters:
general –
element –
nodal –
elementindices –
intPoint –
hydro –
solidmat –
- Returns:
q.i: flow rate vector in each direction
-
void computeMatrixFlow(General general, Nodal nodal, Element element, Intergration intergration, Hydro hydro, Solidmat solidmat)#
-
void computeMatrixFlowForce(General general, Element element, Intergration intergration, Nodal nodal, Hydro hydro)#
-
inline HydroBaseMatrixFlow()#
-
class HydroBoudary : public OpenFdemAbstract#
- #include <update_hydro_boundary.h>
Public Static Functions
-
static void update_hydro_boundary(Hydro hydro, Boudary boundary, Solidmat solidmat, General general, Nodal nodal)#
update boundary condition. This function is not parallised because thermal boundary is not heavy, extra time will costed to step in the parallel.
- Parameters:
thermal –
boundary –
solidmat –
general –
nodal –
element –
intergration –
-
static void update_hydro_boundary(Hydro hydro, Boudary boundary, Solidmat solidmat, General general, Nodal nodal)#
-
class HydroComputeForce : public OpenFdemAbstract#
- #include <get_fulid_force.h>
Public Static Functions
-
static void computeFractureFlowForce(General general, Boudary boundary, Edge edge, Element element, Nodal nodal, Hydro hydro)#
compute the thermal force only for triangle element.
- Parameters:
nodal –
element –
thermal –
solidmat –
-
static void computeFractureFlowForce(General general, Boudary boundary, Edge edge, Element element, Nodal nodal, Hydro hydro)#
-
class HydroFractureFlow : public OpenFdemAbstract#
- #include <hydro_fracture_flow.h>
Public Static Functions
-
static void initializeforMechanicalStep(General general, Nodal nodal, Hydro hydro, Boudary boundary)#
-
static void updateCZMAperature(General general, Nodal nodal, Cohelement cohelement)#
-
static void computeFractureFlowRatefromEdges(General general, Nodal nodal, Element element, Cohelement cohelement, Edge edge, Hydro hydro, Solidmat solidmat)#
-
static void updateFractureFlowRateinHydroStep(General general, Nodal nodal, Hydro hydro, Boudary boudary, Solidmat solidmat)#
-
static void updateFractureFlowRateinMechanicalStep(General general, Nodal nodal, Hydro hydro, Boudary boudary, Solidmat solidmat)#
-
static void computeFractureFlowRatefromCZMs(General general, Nodal nodal, Cohelement cohelement, Hydro hydro, Solidmat solidmat)#
-
static void computeFractureSolidLeakoff(General general, Cohelement cohelement, Hydro hydro, Solidmat solidmat)#
-
static void computeFractureVolume(General general, Cohelement cohelement, Hydro hydro, Solidmat solidmat)#
-
static void initializeforMechanicalStep(General general, Nodal nodal, Hydro hydro, Boudary boundary)#
-
class HydroGasFlow : public OpenFdemAbstract#
- #include <hydro_gas_flow.h>
Public Static Functions
-
static void initializeforMechanicalStep(General general, Nodal nodal, Hydro hydro, Boudary boundary)#
-
static void updateCZMAperature(General general, Nodal nodal, Cohelement cohelement)#
-
static void computeFractureVolume(General general, Cohelement cohelement, Hydro hydro, Solidmat solidmat)#
-
static void computeGasFlowRatefromEdges(General general, Nodal nodal, Element element, Cohelement cohelement, Edge edge, Hydro hydro, Solidmat solidmat)#
-
static void computeFractureFlowRatefromCZMs(General general, Nodal nodal, Cohelement cohelement, Hydro hydro, Solidmat solidmat)#
-
static void updateFractureFlowRateinHydroStep(General general, Nodal nodal, Hydro hydro, Solidmat solidmat)#
-
static void updateFractureFlowRateinMechanicalStep(General general, Nodal nodal, Hydro hydro, Solidmat solidmat)#
-
static void initializeforMechanicalStep(General general, Nodal nodal, Hydro hydro, Boudary boundary)#
-
class HydroMatrixFlow : public OpenFdemAbstract#
- #include <hydro_matrix_flow.h>
-
class HydroModule : public OpenFdemAbstract#
- #include <openfdem_hydro_module.h>
-
namespace ns_common
-
namespace ns_hydro#
-
namespace ns_solid#
- file get_fulid_force.h
- #include <math.h>#include “common/memory_manager.h”#include “common/openfdem_abstract.h”#include “common/openfdem_math.h”#include “solver/openfdem.h”
- file hydro_fracture_flow.h
- #include <math.h>#include “common/memory_manager.h”#include “common/openfdem_abstract.h”#include “common/openfdem_math.h”#include “solid/solid_mechanics_cohesive/solid_interface_element_utils.h”#include “solver/openfdem.h”
- file hydro_gas_flow.h
- #include <math.h>#include “common/memory_manager.h”#include “common/openfdem_abstract.h”#include “common/openfdem_math.h”#include “solver/openfdem.h”#include “solid/solid_mechanics_cohesive/solid_interface_element_utils.h”
- file hydro_matrix_flow.h
- #include <math.h>#include “common/memory_manager.h”#include “common/openfdem_abstract.h”#include “common/openfdem_math.h”#include “solver/openfdem.h”
- file new_hydro_fracture_flow.h
- #include <math.h>#include “common/openfdem_abstract.h”#include “common/openfdem_math.h”#include “solid/solid_mechanics_cohesive/solid_interface_element_utils.h”#include “solver/openfdem.h”
- file new_hydro_matrix_flow.h
- #include <math.h>#include “common/openfdem_abstract.h”#include “common/openfdem_math.h”#include “solver/openfdem.h”
- file openfdem_hydro.h
- #include “common/openfdem_common.h”#include “common/openfdem_enum.h”#include “common/openfdem_math.h”
Typedefs
-
typedef struct Hydro_structure *Hydro#
-
typedef struct Hydro_structure *Hydro#
- file openfdem_hydro_module.h
- #include <math.h>#include “common/memory_manager.h”#include “common/openfdem_abstract.h”#include “common/openfdem_math.h”#include “solver/openfdem.h”
- file update_hydro_boundary.h
- #include <math.h>#include “common/memory_manager.h”#include “common/openfdem_abstract.h”#include “common/openfdem_math.h”#include “solver/openfdem.h”
- dir hydro
- dir src