Gems3k  3.1
GEMS3K standalone solver for geochemical equilibria
 All Classes Files Functions Variables Enumerations Enumerator
Classes | Typedefs | Enumerations
/Users/kulik/DevGEMS/trunk/standalone/GEMS3K/databr.h File Reference

Contains definition of the DATABR structure - data bridge between GEMS3K and another code. More...

Go to the source code of this file.

Classes

struct  DATABR
 DataBRidge defines the structure of node-dependent data for exchange between the coupled GEM IPM and FMT code parts. More...

Typedefs

typedef DATABRDATABRPTR

Enumerations

enum  NODECODECH {
  NO_GEM_SOLVER = 0, NEED_GEM_AIA = 1, OK_GEM_AIA = 2, BAD_GEM_AIA = 3,
  ERR_GEM_AIA = 4, NEED_GEM_SIA = 5, OK_GEM_SIA = 6, BAD_GEM_SIA = 7,
  ERR_GEM_SIA = 8, T_ERROR_GEM = 9
}
 NodeStatus codes with respect to GEMIPM calculations. More...
enum  NODECODEFMT {
  No_nodearray = -1, No_transport = 0, Initial_RUN = 1, OK_Hydraulic = 2,
  BAD_Hydraulic = 3, OK_Transport = 4, BAD_Transport = 5, NEED_RecalcMT = 6,
  OK_MassBal = 7, OK_RecalcPar = 8, Bad_Recalc = 9, OK_Time = 10
}
enum  NODETYPE {
  normal = 0, NBC1source = 1, NBC1sink = -1, NBC2source = 2,
  NBC2sink = -2, NBC3source = 3, NBC3sink = -3, INIT_FUNK = 4
}
 Node status codes set by the FMT (FluidMassTransport) part. More...
enum  NODEINEX {
  undefi = 0, nICbi = -1, nDCbi = -2, nPHbi = -3,
  nPSbi = -4, nPSbnICbi = -5
}
enum  DATABR_FIELDS {
  f_NodeHandle = 0, f_NodeTypeHY, f_NodeTypeMT, f_NodeStatusFMT,
  f_NodeStatusCH, f_IterDone, f_TK, f_P,
  f_Vs, f_Vi, f_Ms, f_Mi,
  f_Hs, f_Hi, f_Gs, f_IS,
  f_pH, f_pe, f_Eh, f_Tm,
  f_dt, f_Dif, f_Vt, f_vp,
  f_eps, f_Km, f_Kf, f_S,
  f_Tr, f_h, f_rho, f_al,
  f_at, f_av, f_hDl, f_hDt,
  f_hDv, f_nto, f_bIC, f_rMB,
  f_uIC, f_xDC, f_gam, f_dll,
  f_dul, f_aPH, f_xPH, f_vPS,
  f_mPS, f_bPS, f_xPA, f_bSP,
  f_mPH, f_vPH, f_m_t, f_con,
  f_mju, f_lga
}

Detailed Description

Contains definition of the DATABR structure - data bridge between GEMS3K and another code.


Enumeration Type Documentation

Enumerator:
f_NodeHandle 

Field index into outField structure.

enum NODECODECH

NodeStatus codes with respect to GEMIPM calculations.

Enumerator:
NO_GEM_SOLVER 

No GEM re-calculation needed for this node.

NEED_GEM_AIA 

Need GEM calculation with LPP (automatic) initial approximation (AIA)

OK_GEM_AIA 

OK after GEM calculation with LPP AIA.

BAD_GEM_AIA 

Bad (not fully trustful) result after GEM calculation with LPP AIA.

ERR_GEM_AIA 

Failure (no result) in GEM calculation with LPP AIA.

NEED_GEM_SIA 

Need GEM calculation with no-LPP (smart) IA, SIA using the previous speciation (full DATABR lists only)

OK_GEM_SIA 

OK after GEM calculation with SIA.

BAD_GEM_SIA 

Bad (not fully trustful) result after GEM calculation with SIA.

ERR_GEM_SIA 

Failure (no result) in GEM calculation with SIA.

T_ERROR_GEM 

Terminal error has occurred in GEMS3K (e.g. memory corruption). Restart is required.

Enumerator:
No_nodearray 

Indicates that no node transport properties are present in this DATABR and DBR file.

No_transport 

Chemical calculations only, no transport coupled.

BAD_Hydraulic 

insufficient convergence

BAD_Transport 

insufficient convergence

enum NODEINEX
Enumerator:
undefi 

Node type codes controlling Indexation Code.

nICbi 

index of Independent Components kept in the DBR file and DATABR memory structure

nDCbi 

index of Dependent Components kept in the DBR file and DATABR memory structure

nPHbi 

index of Phases to be kept in the DBR file and DATABR structure

nPSbi 

index of Phases-solutions (multicomponent phases) to be kept in the DBR file and DATABR memory structure

nPSbnICbi 

index of multicomponent phases

enum NODETYPE

Node status codes set by the FMT (FluidMassTransport) part.

Enumerator:
normal 

Node type codes controlling hydraulic/mass-transport behavior.

normal node

NBC1source 

Dirichlet source ( constant concentration )

NBC1sink 

Dirichlet sink.

NBC2source 

Neumann source ( constant gradient )

NBC2sink 

Neumann sink.

NBC3source 

Cauchy source ( constant flux )

NBC3sink 

Cauchy sink.

INIT_FUNK 

functional conditions (e.g. input time-depended functions)