def test_meshio(self): points = np.array([ [0.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0], [1.0, 0.0, 0.0], ]) cells = [("tetra", np.array([[0, 1, 2, 3]]))] mesh = meshio.Mesh(points, cells) model = Gaussian(dim=3, len_scale=0.1) srf = SRF(model) srf.mesh(mesh, points="points") self.assertEqual(len(srf.field), 4) srf.mesh(mesh, points="centroids") self.assertEqual(len(srf.field), 1)
def get_srf_2d(model, mean=None, var=None, len_scale=None): # covariance model for conductivity field cov_model = Gaussian(dim=2, var=var, len_scale=len_scale, anis=[1]) srf = SRF(model=cov_model, mean=mean, seed=1000) cond = np.exp(srf.mesh(model.msh)) return cond
# covariance model for conductivity field cov_model = Gaussian(dim=2, var=2, len_scale=100, anis=[1]) srf = SRF(model=cov_model, mean=-9, seed=1000) # model setup model = OGS(task_root="pump_2d_steady", task_id="model", output_dir="out") model.pcs.add_block( PCS_TYPE="GROUNDWATER_FLOW", NUM_TYPE="NEW", TIM_TYPE="STEADY") # generate a radial mesh and geometry ("boundary" polyline) model.msh.generate("radial", dim=2, rad=rad, angles=angles) model.gli.generate("radial", dim=2, rad_out=rad[-1], angles=angles) model.gli.add_points([0.0, 0.0, 0.0], "pwell") # generate a 2D conductivity field cond = np.exp(srf.mesh(model.msh)) model.mpd.add(name="conductivity") model.mpd.add_block( # edit recent mpd file MSH_TYPE="GROUNDWATER_FLOW", MMP_TYPE="PERMEABILITY", DIS_TYPE="ELEMENT", DATA=by_id(cond), ) model.bc.add_block( # boundary condition PCS_TYPE="GROUNDWATER_FLOW", PRIMARY_VARIABLE="HEAD", GEO_TYPE=["POLYLINE", "boundary"], DIS_TYPE=["CONSTANT", 0.0], )