IMEX_SfloW2D  0.9
Shallowwatergranularflowmodel
Functions/Subroutines | Variables
constitutive_2d Module Reference

Constitutive equations. More...

Functions/Subroutines

subroutine init_problem_param
 Initialization of relaxation flags. More...
 
subroutine phys_var (Bj, r_qj, c_qj)
 Physical variables. More...
 
subroutine eval_local_speeds_x (qj, Bj, vel_min, vel_max)
 Local Characteristic speeds x direction. More...
 
subroutine eval_local_speeds_y (qj, Bj, vel_min, vel_max)
 Local Characteristic speeds y direction. More...
 
subroutine eval_local_speeds2_x (qj, Bj, vel_min, vel_max)
 Local Characteristic speeds. More...
 
subroutine eval_local_speeds2_y (qj, Bj, vel_min, vel_max)
 Local Characteristic speeds. More...
 
subroutine qc_to_qp (qc, B, qp)
 Conservative to physical variables. More...
 
subroutine qp_to_qc (qp, B, qc)
 Physical to conservative variables. More...
 
subroutine qrec_to_qc (qrec, B, qc)
 Reconstructed to conservative variables. More...
 
subroutine eval_fluxes (Bj, c_qj, r_qj, c_flux, r_flux, dir)
 Hyperbolic Fluxes. More...
 
subroutine eval_nonhyperbolic_terms (Bj, Bprimej_x, Bprimej_y, grav3_surf, c_qj, c_nh_term_impl, r_qj, r_nh_term_impl)
 Non-Hyperbolic terms. More...
 
subroutine eval_nh_semi_impl_terms (Bj, grav3_surf, c_qj, c_nh_semi_impl_term, r_qj, r_nh_semi_impl_term)
 Non-Hyperbolic semi-implicit terms. More...
 
subroutine eval_expl_terms (Bj, Bprimej_x, Bprimej_y, source_xy, qj, expl_term)
 Explicit Forces term. More...
 

Variables

logical, dimension(:), allocatable implicit_flag
 
character(len=20) phase1_name
 
character(len=20) phase2_name
 
complex *16 h
 height [m] More...
 
complex *16 u
 velocity (x direction) More...
 
complex *16 v
 velocity (y direction) More...
 
complex *16 t
 temperature More...
 
complex *16 xs
 sediment concentration More...
 
real *8 grav
 gravitational acceleration More...
 
real *8 mu
 drag coefficients (Voellmy-Salm model) More...
 
real *8 xi
 
real *8 tau
 drag coefficients (plastic model) More...
 
real *8 t_env
 evironment temperature [K] More...
 
real *8 rad_coeff
 radiative coefficient More...
 
real *8 frict_coeff
 friction coefficient More...
 
real *8 rho
 fluid density [kg/m3] More...
 
real *8 t_ref
 reference temperature [K] More...
 
real *8 nu_ref
 reference kinematic viscosity [m2/s] More...
 
real *8 visc_par
 viscosity parameter [K-1] (b in Table 1 Costa & Macedonio, 2005) More...
 
real *8 emme
 velocity boundary layer fraction of total thickness More...
 
real *8 c_p
 specific heat [J kg-1 K-1] More...
 
real *8 atm_heat_transf_coeff
 atmospheric heat trasnfer coefficient [W m-2 K-1] (lambda in C&M, 2005) More...
 
real *8 exp_area_fract
 fractional area of the exposed inner core (f in C&M, 2005) More...
 
real *8, parameter sbconst = 5.67D-8
 Stephan-Boltzmann constant [W m-2 K-4]. More...
 
real *8 emissivity
 emissivity (eps in Costa & Macedonio, 2005) More...
 
real *8 enne
 thermal boundary layer fraction of total thickness More...
 
real *8 t_ground
 temperature of lava-ground interface More...
 
real *8 thermal_conductivity
 thermal conductivity [W m-1 K-1] (k in Costa & Macedonio, 2005) More...
 
real *8 alpha2
 1st parameter for yield strenght empirical relationship (O'Brian et al, 1993) More...
 
real *8 beta2
 2nd parameter for yield strenght empirical relationship (O'Brian et al, 1993) More...
 
real *8 alpha1
 1st parameter for fluid viscosity empirical relationship (O'Brian et al, 1993) More...
 
real *8 beta1
 2nd parameter for fluid viscosity empirical relationship (O'Brian et al, 1993) More...
 
real *8 kappa
 Empirical resistance parameter. More...
 
real *8 n_td
 Mannings roughness coefficient ( units: T L^(-1/3) ) More...
 
real *8 gamma_w
 Specific weight of water. More...
 
real *8 gamma_s
 Specific weight of sediments. More...
 

Detailed Description

Constitutive equations.

Function/Subroutine Documentation

subroutine constitutive_2d::eval_expl_terms ( real*8, intent(in)  Bj,
real*8, intent(in)  Bprimej_x,
real*8, intent(in)  Bprimej_y,
real*8, intent(in)  source_xy,
real*8, dimension(n_eqns), intent(in)  qj,
real*8, dimension(n_eqns), intent(out)  expl_term 
)

Explicit Forces term.

This subroutine evaluates the non-hyperbolic terms to be treated explicitely in the DIRK numerical scheme (e.g. gravity,source of mass). The sign of the terms is taken with the terms on the left-hand side of the equations.

Date
01/06/2012
Parameters
[in]qjconservative variables
[out]expl_termexplicit term
[in]qjconservative variables
[out]expl_termexplicit forces

Definition at line 1260 of file constitutive_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine constitutive_2d::eval_fluxes ( real*8, intent(in)  Bj,
complex*16, dimension(n_vars), intent(in), optional  c_qj,
real*8, dimension(n_vars), intent(in), optional  r_qj,
complex*16, dimension(n_eqns), intent(out), optional  c_flux,
real*8, dimension(n_eqns), intent(out), optional  r_flux,
integer, intent(in)  dir 
)

Hyperbolic Fluxes.

This subroutine evaluates the numerical fluxes given the conservative variables qj, accordingly to the equations for the single temperature model introduced in Romenki et al. 2010.

Date
01/06/2012
Parameters
[in]c_qjcomplex conservative variables
[in]r_qjreal conservative variables
[out]c_fluxcomplex analytical fluxes
[out]r_fluxreal analytical fluxes

Definition at line 565 of file constitutive_2d.f90.

Here is the caller graph for this function:

subroutine constitutive_2d::eval_local_speeds2_x ( real*8, dimension(n_vars), intent(in)  qj,
real*8, intent(in)  Bj,
real*8, dimension(n_vars), intent(out)  vel_min,
real*8, dimension(n_vars), intent(out)  vel_max 
)

Local Characteristic speeds.

This subroutine evaluates an the largest pos and neg characteristic speeds from the conservative variables qj, without any change on u and h.

Parameters
[in]qjarray of conservative variables
[in]Bjtopography at the cell center
[out]vel_minminimum x-velocity
[out]vel_maxmaximum x-velocity
Author
Mattia de' Michieli Vitturi
Date
05/12/2017

Definition at line 306 of file constitutive_2d.f90.

Here is the caller graph for this function:

subroutine constitutive_2d::eval_local_speeds2_y ( real*8, dimension(n_vars), intent(in)  qj,
real*8, intent(in)  Bj,
real*8, dimension(n_vars), intent(out)  vel_min,
real*8, dimension(n_vars), intent(out)  vel_max 
)

Local Characteristic speeds.

This subroutine evaluates an the largest pos and neg characteristic speeds from the conservative variables qj, without any change on v and h.

Parameters
[in]qjarray of conservative variables
[in]Bjtopography at the cell center
[out]vel_minminimum y-velocity
[out]vel_maxmaximum y-velocity
Author
Mattia de' Michieli Vitturi
Date
05/12/2017

Definition at line 347 of file constitutive_2d.f90.

Here is the caller graph for this function:

subroutine constitutive_2d::eval_local_speeds_x ( real*8, dimension(n_vars), intent(in)  qj,
real*8, intent(in)  Bj,
real*8, dimension(n_vars), intent(out)  vel_min,
real*8, dimension(n_vars), intent(out)  vel_max 
)

Local Characteristic speeds x direction.

This subroutine desingularize the velocities and then evaluates the largest positive and negative characteristic speed in the x-direction.

Parameters
[in]qjarray of conservative variables
[in]Bjtopography at the cell center
[out]vel_minminimum x-velocity
[out]vel_maxmaximum x-velocity
Author
Mattia de' Michieli Vitturi
Date
05/12/2017

Definition at line 248 of file constitutive_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine constitutive_2d::eval_local_speeds_y ( real*8, dimension(n_vars), intent(in)  qj,
real*8, intent(in)  Bj,
real*8, dimension(n_vars), intent(out)  vel_min,
real*8, dimension(n_vars), intent(out)  vel_max 
)

Local Characteristic speeds y direction.

This subroutine desingularize the velocities and then evaluates the largest positive and negative characteristic speed in the y-direction.

Parameters
[in]qjarray of conservative variables
[in]Bjtopography at the cell center
[out]vel_minminimum y-velocity
[out]vel_maxmaximum y-velocity
Author
Mattia de' Michieli Vitturi
Date
05/12/2017

Definition at line 277 of file constitutive_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine constitutive_2d::eval_nh_semi_impl_terms ( real*8, intent(in)  Bj,
real*8, intent(in)  grav3_surf,
complex*16, dimension(n_vars), intent(in), optional  c_qj,
complex*16, dimension(n_eqns), intent(out), optional  c_nh_semi_impl_term,
real*8, dimension(n_vars), intent(in), optional  r_qj,
real*8, dimension(n_eqns), intent(out), optional  r_nh_semi_impl_term 
)

Non-Hyperbolic semi-implicit terms.

This subroutine evaluates the non-hyperbolic terms that are solved semi-implicitely by the solver. For example, any discontinuous term that appears in the friction terms.

Date
20/01/2018
Parameters
[in]c_qjcomplex conservative variables
[in]r_qjreal conservative variables
[out]c_nh_term_implcomplex non-hyperbolic terms
[out]r_nh_term_implreal non-hyperbolic terms

Yield strenght

Sediment volume fraction

Specific weight of sediment mixture

Yield slope component of total friction

Definition at line 1086 of file constitutive_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine constitutive_2d::eval_nonhyperbolic_terms ( real*8, intent(in)  Bj,
real*8, intent(in)  Bprimej_x,
real*8, intent(in)  Bprimej_y,
real*8, intent(in)  grav3_surf,
complex*16, dimension(n_vars), intent(in), optional  c_qj,
complex*16, dimension(n_eqns), intent(out), optional  c_nh_term_impl,
real*8, dimension(n_vars), intent(in), optional  r_qj,
real*8, dimension(n_eqns), intent(out), optional  r_nh_term_impl 
)

Non-Hyperbolic terms.

This subroutine evaluates the non-hyperbolic terms (relaxation terms and forces) of the system of equations, both for real or complex inputs. These terms are treated implicitely in the DIRK numerical scheme.

Date
01/06/2012
Parameters
[in]c_qjcomplex conservative variables
[in]r_qjreal conservative variables
[out]c_nh_term_implcomplex non-hyperbolic terms
[out]r_nh_term_implreal non-hyperbolic terms

Yield strenght

Fluid viscosity

Sediment volume fraction

Specific weight of sediment mixture

Total friction

Yield slope component of total friction

Viscous slope component of total Friction

Turbulent dispersive slope component of total friction

Definition at line 710 of file constitutive_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine constitutive_2d::init_problem_param ( )

Initialization of relaxation flags.

This subroutine set the number and the flags of the non-hyperbolic terms.

Date
07/09/2012

Definition at line 120 of file constitutive_2d.f90.

Here is the caller graph for this function:

subroutine constitutive_2d::phys_var ( real*8, intent(in)  Bj,
real*8, dimension(n_vars), intent(in), optional  r_qj,
complex*16, dimension(n_vars), intent(in), optional  c_qj 
)

Physical variables.

This subroutine evaluates from the conservative local variables qj the local physical variables ( $h+B, u, v, xs , T $).

Parameters
[in]r_qjreal conservative variables
[in]c_qjcomplex conservative variables
Author
Mattia de' Michieli Vitturi
Date
15/08/2011

Definition at line 156 of file constitutive_2d.f90.

Here is the caller graph for this function:

subroutine constitutive_2d::qc_to_qp ( real*8, dimension(n_vars), intent(in)  qc,
real*8, intent(in)  B,
real*8, dimension(n_vars), intent(out)  qp 
)

Conservative to physical variables.

This subroutine evaluates from the conservative variables qc the array of physical variables qp:

  • qp(1) = $ h+B $
  • qp(2) = $ u $
  • qp(3) = $ v $
  • qp(4) = $ xs $
  • qp(5) = $ T $

The physical variables are those used for the linear reconstruction at the cell interfaces. Limiters are applied to the reconstructed slopes.

Parameters
[in]qcconservative variables
[out]qpphysical variables
Date
15/08/2011

Definition at line 392 of file constitutive_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine constitutive_2d::qp_to_qc ( real*8, dimension(n_vars), intent(in)  qp,
real*8, intent(in)  B,
real*8, dimension(n_vars), intent(out)  qc 
)

Physical to conservative variables.

This subroutine evaluates the conservative variables qc from the array of physical variables qp:

  • qp(1) = $ h + B $
  • qp(2) = $ u $
  • qp(3) = $ v $
  • qp(4) = $ xs $
  • qp(5) = $ T $
Parameters
[in]qpphysical variables
[out]qcconservative variables
Date
15/08/2011

Definition at line 437 of file constitutive_2d.f90.

Here is the caller graph for this function:

subroutine constitutive_2d::qrec_to_qc ( real*8, dimension(n_vars), intent(in)  qrec,
real*8, intent(in)  B,
real*8, dimension(n_vars), intent(out)  qc 
)

Reconstructed to conservative variables.

This subroutine evaluates the conservative variables qc from the array of physical variables qrec:

  • qrec(1) = $ h + B $
  • qrec(2) = $ hu $
  • qrec(3) = $ hv $
  • qrec(4) = $ h \cdot xs $
  • qrec(5) = $ T $
Parameters
[in]qrecphysical variables
[out]qcconservative variables
Date
15/08/2011

Definition at line 501 of file constitutive_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

real*8 constitutive_2d::alpha1

1st parameter for fluid viscosity empirical relationship (O'Brian et al, 1993)

Definition at line 92 of file constitutive_2d.f90.

real*8 constitutive_2d::alpha2

1st parameter for yield strenght empirical relationship (O'Brian et al, 1993)

Definition at line 86 of file constitutive_2d.f90.

real*8 constitutive_2d::atm_heat_transf_coeff

atmospheric heat trasnfer coefficient [W m-2 K-1] (lambda in C&M, 2005)

Definition at line 63 of file constitutive_2d.f90.

real*8 constitutive_2d::beta1

2nd parameter for fluid viscosity empirical relationship (O'Brian et al, 1993)

Definition at line 95 of file constitutive_2d.f90.

real*8 constitutive_2d::beta2

2nd parameter for yield strenght empirical relationship (O'Brian et al, 1993)

Definition at line 89 of file constitutive_2d.f90.

real*8 constitutive_2d::c_p

specific heat [J kg-1 K-1]

Definition at line 60 of file constitutive_2d.f90.

real*8 constitutive_2d::emissivity

emissivity (eps in Costa & Macedonio, 2005)

Definition at line 72 of file constitutive_2d.f90.

real*8 constitutive_2d::emme

velocity boundary layer fraction of total thickness

Definition at line 57 of file constitutive_2d.f90.

real*8 constitutive_2d::enne

thermal boundary layer fraction of total thickness

Definition at line 75 of file constitutive_2d.f90.

real*8 constitutive_2d::exp_area_fract

fractional area of the exposed inner core (f in C&M, 2005)

Definition at line 66 of file constitutive_2d.f90.

real*8 constitutive_2d::frict_coeff

friction coefficient

Definition at line 42 of file constitutive_2d.f90.

real*8 constitutive_2d::gamma_s

Specific weight of sediments.

Definition at line 107 of file constitutive_2d.f90.

real*8 constitutive_2d::gamma_w

Specific weight of water.

Definition at line 104 of file constitutive_2d.f90.

real*8 constitutive_2d::grav

gravitational acceleration

Definition at line 26 of file constitutive_2d.f90.

complex*16 constitutive_2d::h

height [m]

Definition at line 19 of file constitutive_2d.f90.

logical, dimension(:), allocatable constitutive_2d::implicit_flag

Definition at line 13 of file constitutive_2d.f90.

real*8 constitutive_2d::kappa

Empirical resistance parameter.

Definition at line 98 of file constitutive_2d.f90.

real*8 constitutive_2d::mu

drag coefficients (Voellmy-Salm model)

Definition at line 29 of file constitutive_2d.f90.

real*8 constitutive_2d::n_td

Mannings roughness coefficient ( units: T L^(-1/3) )

Definition at line 101 of file constitutive_2d.f90.

real*8 constitutive_2d::nu_ref

reference kinematic viscosity [m2/s]

Definition at line 51 of file constitutive_2d.f90.

character(len=20) constitutive_2d::phase1_name

Definition at line 15 of file constitutive_2d.f90.

character(len=20) constitutive_2d::phase2_name

Definition at line 16 of file constitutive_2d.f90.

real*8 constitutive_2d::rad_coeff

radiative coefficient

Definition at line 39 of file constitutive_2d.f90.

real*8 constitutive_2d::rho

fluid density [kg/m3]

Definition at line 45 of file constitutive_2d.f90.

real*8, parameter constitutive_2d::sbconst = 5.67D-8

Stephan-Boltzmann constant [W m-2 K-4].

Definition at line 69 of file constitutive_2d.f90.

complex*16 constitutive_2d::t

temperature

Definition at line 22 of file constitutive_2d.f90.

real*8 constitutive_2d::t_env

evironment temperature [K]

Definition at line 36 of file constitutive_2d.f90.

real*8 constitutive_2d::t_ground

temperature of lava-ground interface

Definition at line 78 of file constitutive_2d.f90.

real*8 constitutive_2d::t_ref

reference temperature [K]

Definition at line 48 of file constitutive_2d.f90.

real*8 constitutive_2d::tau

drag coefficients (plastic model)

Definition at line 33 of file constitutive_2d.f90.

real*8 constitutive_2d::thermal_conductivity

thermal conductivity [W m-1 K-1] (k in Costa & Macedonio, 2005)

Definition at line 81 of file constitutive_2d.f90.

complex*16 constitutive_2d::u

velocity (x direction)

Definition at line 20 of file constitutive_2d.f90.

complex*16 constitutive_2d::v

velocity (y direction)

Definition at line 21 of file constitutive_2d.f90.

real*8 constitutive_2d::visc_par

viscosity parameter [K-1] (b in Table 1 Costa & Macedonio, 2005)

Definition at line 54 of file constitutive_2d.f90.

real*8 constitutive_2d::xi

Definition at line 30 of file constitutive_2d.f90.

complex*16 constitutive_2d::xs

sediment concentration

Definition at line 23 of file constitutive_2d.f90.