Exemplo n.º 1
0
from varglas.data.data_factory import DataFactory
from varglas.mesh.mesh_factory import MeshFactory
from varglas.utilities import DataInput
from varglas.model import Model
from varglas.solvers import SteadySolver, TransientSolver
from varglas.physical_constants import IceParameters
from varglas.helper import default_nonlin_solver_params
from fenics import set_log_active, parameters

set_log_active(True)

thklim = 50.0

vara = DataFactory.get_searise(thklim=thklim)
mesh = MeshFactory.get_greenland_coarse()
dsr = DataInput(vara, mesh=mesh)

S = dsr.get_spline_expression('S')
B = dsr.get_spline_expression('B')
SMB = dsr.get_spline_expression('adot')
T_s = dsr.get_spline_expression('T')
q_geo = dsr.get_spline_expression('q_geo')
U_ob = dsr.get_spline_expression('U_ob')
Tn = vara['Tn']['map_data']

# create the model :
model = Model()

model.set_mesh(mesh)
model.set_geometry(S, B, deform=True)
model.set_parameters(IceParameters())
Exemplo n.º 2
0
from varglas.meshing import MeshGenerator, MeshRefiner
from varglas.io import DataInput
from varglas.data.data_factory import DataFactory
from pylab import *
from scipy.interpolate import interp2d

#===============================================================================
# data preparation :
out_dir = 'dump/meshes/'

# collect the raw data :
bamber = DataFactory.get_bamber()
rignot = DataFactory.get_rignot()
searise = DataFactory.get_searise()
gimp = DataFactory.get_gimp()

# create data objects to use with varglas :
dbm = DataInput(bamber, gen_space=False)
drg = DataInput(rignot, gen_space=False)
dsr = DataInput(searise, gen_space=False)
dgm = DataInput(gimp, gen_space=False)

drg.set_data_max('U_ob', boundary=1000.0, val=1000.0)
drg.set_data_min('U_ob', boundary=0.0, val=0.0)

#===============================================================================
# form field from which to refine :
## antarctica :: Info : 4449632 vertices 25902918 elements
#drg.data['ref'] = (0.02 + 1/(1 + drg.data['U_ob'])) * 50000
dbm.data['ref'] = 5 * dbm.data['H'].copy()
dbm.data['ref'][dbm.data['ref'] < 5000.0] = 5000.0