Source code for flopy.mfusg.cln_dtypes

"""Mfusg CLN dtype class."""

import numpy as np


[docs]class MfUsgClnDtypes: """Defines MfUsgCln dtypes for various CLN geometries."""
[docs] @staticmethod def get_clnnode_dtype(): """Define dtype of CLN node properties. Returns ------- dtype """ dtype = np.dtype( [ ("ifno", int), # node number ("iftyp", int), # type-index ("ifdir", int), # directional index ("fleng", np.float32), # length ("felev", np.float32), # elevation of the bottom ("fangle", np.float32), # angle ("iflin", int), # flag of flow conditions ("iccwadi", int), # flag of vertical flow correction ("x1", np.float32), # coordinates ("y1", np.float32), # coordinates ("z1", np.float32), # coordinates ("x2", np.float32), # coordinates ("y2", np.float32), # coordinates ("z2", np.float32), # coordinates ] ) return dtype
[docs] @staticmethod def get_gwconn_dtype(structured=True): """Dtype of CLN node - GW node connection properties. Parameters ---------- structured : True = structured grid Returns ------- dtype """ if structured: dtype = np.dtype( [ ("ifnod", int), # CLN node number ("igwlay", int), # layer number of connecting gw node ("igwrow", int), # row number of connecting gw node ("igwfcol", int), # col number of connecting gw node ("ifcon", int), # index of connectivity equation ("fskin", np.float32), # leakance across a skin ("flengw", np.float32), # length of connection ( "faniso", np.float32, ), # anisotropy or thickness of sediments ("icgwadi", int), # flag of vertical flow correction ] ) else: dtype = np.dtype( [ ("ifnod", int), # CLN node number ("igwnod", int), # node number of connecting gw node ("ifcon", int), # index of connectivity equation ("fskin", np.float32), # leakance across a skin ("flengw", np.float32), # length of connection ( "faniso", np.float32, ), # anisotropy or thickness of sediments ("icgwadi", int), # flag of vertical flow correction ] ) return dtype
[docs] @staticmethod def get_clncirc_dtype(bhe=False): """Dtype of CLN node circular conduit type properties. Parameters ---------- bhe : borehole heat exchanger (bhe) Returns ------- dtype """ if bhe: dtype = np.dtype( [ ("iconduityp", int), # index of circular conduit type ("frad", np.float32), # radius ( "conduitk", np.float32, ), # conductivity or resistance factor ("tcond", np.float32), # thermal conductivity of bhe tube ("tthk", np.float32), # thickness ( "tcfluid", np.float32, ), # thermal conductivity of the fluid ("tconv", np.float32), # thermal convective coefficient ] ) else: dtype = np.dtype( [ ("iconduityp", int), # index of circular conduit type ("frad", np.float32), # radius ( "conduitk", np.float32, ), # conductivity or resistance factor ] ) return dtype
[docs] @staticmethod def get_clnrect_dtype(bhe=False): """Returns the dtype of CLN node rectangular conduit type properties. Parameters ---------- bhe : borehole heat exchanger (bhe) Returns ------- dtype """ if bhe: dtype = np.dtype( [ ("irectyp", int), # index of rectangular conduit type ("flength", np.float32), # width ("fheight", np.float32), # height ( "conduitk", np.float32, ), # conductivity or resistance factor ("tcond", np.float32), # thermal conductivity of bhe tube ("tthk", np.float32), # thickness of bhe tube ("tcfluid", np.float32), # thermal conductivity of fluid ("tconv", np.float32), # thermal convective ] ) else: dtype = np.dtype( [ ("irectyp", int), # index of rectangular conduit type ("flength", np.float32), # width ("fheight", np.float32), # height ( "conduitk", np.float32, ), # conductivity or resistance factor ] ) return dtype