Exemplo n.º 1
0
config['periodic_boundary_conditions'] = False
config['velocity']['poly_degree']      = 2
config['enthalpy']['on']               = True
config['enthalpy']['N_T']              = 8
config['free_surface']['on']           = True
config['free_surface']['thklim']       = thklim
config['velocity']['transient_beta']   = 'eismint_H'

model = Model(config)
model.set_mesh(mesh)

model.set_geometry(S, B, deform=False)
model.initialize_variables()

model.init_adot(adot)
model.init_beta(sqrt(1e9))
model.init_T_surface(T_s)
model.init_H(thklim)
model.init_H_bounds(thklim, 1e4)
model.init_q_geo(model.ghf)

model.eps_reg = 1e-10

T = HybridTransientSolver(model, config)
T.solve()

File(out_dir + 'Ts.xml')      << model.Ts
File(out_dir + 'Tb.xml')      << model.Tb
File(out_dir + 'Mb.xml')      << model.Mb
File(out_dir + 'H.xml')       << model.H
File(out_dir + 'S.xml')       << model.S
Exemplo n.º 2
0
class SurfaceTemperature(Expression):
    Tmin = 238.15
    St = 1.67e-5

    def eval(self, values, x):
        values[0] = self.Tmin + self.St * sqrt(x[0]**2 + x[1]**2)


T_s = SurfaceTemperature(element=model.Q.ufl_element())

model.set_geometry(S, B, deform=False)
model.initialize_variables()

model.init_adot(adot)
model.init_beta(beta)
model.init_T_surface(T_s)
model.init_H(thklim)
model.init_H_bounds(thklim, 1e4)
model.init_q_geo(model.ghf)

model.eps_reg = 1e-10

T = HybridTransientSolver(model, config)
T.solve()

File(out_dir + 'Ts.xml') << model.Ts
File(out_dir + 'Tb.xml') << model.Tb
File(out_dir + 'Mb.xml') << model.Mb
File(out_dir + 'H.xml') << model.H
File(out_dir + 'S.xml') << model.S
  t    = 0.0
  Tmin = 238.15
  St   = 1.67e-5
  def eval(self,values,x):
    values[0] = self.Tmin + self.St*sqrt(x[0]**2 + x[1]**2)
T_s = SurfaceTemperature(element=model.Q.ufl_element())

model.set_surface_and_bed(S, B)
model.initialize_variables()

model.init_adot(adot)
model.init_T_surface(T_s)
model.init_H_bounds(thklim, 1e4)
model.init_q_geo(model.ghf)
model.init_H(in_dir + 'H.xml')
model.init_beta(in_dir + 'beta.xml')
#model.init_beta_stats('Ubar')

model.save_pvd(model.S,    'S')
model.save_pvd(model.B,    'B')
model.save_pvd(model.beta, 'beta')

model.eps_reg = 1e-10

T = HybridTransientSolver(model, config)
T.solve()

File(out_dir + 'Ts.xml')      << model.Ts
File(out_dir + 'Tb.xml')      << model.Tb
File(out_dir + 'Mb.xml')      << model.Mb
File(out_dir + 'H.xml')       << model.H