PLUME-MoM-TSM  1.0
VolcanicPlumeModel
Functions/Subroutines | Variables
solver_2d Module Reference

Numerical solver. More...

Functions/Subroutines

subroutine allocate_solver_variables
 Memory allocation. More...
 
subroutine deallocate_solver_variables
 Memory deallocation. More...
 
subroutine allocate_multigrid
 
subroutine deallocate_multigrid
 
subroutine remap_solution
 
subroutine check_solve
 Masking of cells to solve. More...
 
subroutine timestep
 Time-step computation. More...
 
subroutine imex_rk_solver
 Runge-Kutta integration. More...
 
subroutine solve_rk_step (cell_fract_jk, dx_rel_jk, dy_rel_jk, qj, qj_old, a_tilde, a_dirk, a_diag, Rj_not_impl, divFluxj, NHj)
 Runge-Kutta single step integration. More...
 
subroutine lnsrch (cell_fract_jk, dx_rel_jk, dy_rel_jk, qj_rel_NR_old, qj_org, qj_old, scal_f_old, grad_f, desc_dir, coeff_f, qj_rel, scal_f, right_term, stpmax, check, Rj_not_impl)
 Search the descent stepsize. More...
 
subroutine eval_f (cell_fract_jk, dx_rel_jk, dy_rel_jk, qj, qj_old, a_diag, coeff_f, Rj_not_impl, f_nl, scal_f)
 Evaluate the nonlinear system. More...
 
subroutine eval_jacobian (cell_fract_jk, dx_rel_jk, dy_rel_jk, qj_rel, qj_org, coeff_f, left_matrix)
 Evaluate the jacobian. More...
 
subroutine eval_hyperbolic_terms (q_expl, qp_expl, divFlux_iRK)
 Semidiscrete finite volume central scheme. More...
 
subroutine eval_flux_up
 Upwind numerical fluxes. More...
 
subroutine eval_flux_kt
 Semidiscrete numerical fluxes. More...
 
subroutine average_kt (a1, a2, w1, w2, w_avg)
 averaged KT flux More...
 
subroutine eval_flux_gforce
 Numerical fluxes GFORCE. More...
 
subroutine eval_flux_lxf
 Numerical fluxes Lax-Friedrichs. More...
 
subroutine reconstruction (q_expl, qp_expl)
 Linear reconstruction. More...
 
subroutine eval_speeds
 Characteristic speeds. More...
 

Variables

real(wp) t
 time More...
 
real(wp), dimension(:,:,:), allocatable q
 Conservative variables. More...
 
real(wp), dimension(:,:,:), allocatable q0
 Conservative variables. More...
 
real(wp), dimension(:,:,:), allocatable q_fv
 Solution of the finite-volume semidiscrete cheme. More...
 
real(wp), dimension(:,:,:), allocatable q_interfacel
 Reconstructed value at the left of the x-interface. More...
 
real(wp), dimension(:,:,:), allocatable q_interfacer
 Reconstructed value at the right of the x-interface. More...
 
real(wp), dimension(:,:,:), allocatable q_interfaceb
 Reconstructed value at the bottom of the y-interface. More...
 
real(wp), dimension(:,:,:), allocatable q_interfacet
 Reconstructed value at the top of the y-interface. More...
 
real(wp), dimension(:,:,:), allocatable qp_interfacel
 Reconstructed physical value at the left of the x-interface. More...
 
real(wp), dimension(:,:,:), allocatable qp_interfacer
 Reconstructed physical value at the right of the x-interface. More...
 
real(wp), dimension(:,:,:), allocatable qp_interfaceb
 Reconstructed physical value at the bottom of the y-interface. More...
 
real(wp), dimension(:,:,:), allocatable qp_interfacet
 Reconstructed physical value at the top of the y-interface. More...
 
real(wp), dimension(:,:,:), allocatable q_cellnw
 Reconstructed value at the NW corner of cell. More...
 
real(wp), dimension(:,:,:), allocatable q_cellne
 Reconstructed value at the NE corner of cell. More...
 
real(wp), dimension(:,:,:), allocatable q_cellsw
 Reconstructed value at the SW corner of cell. More...
 
real(wp), dimension(:,:,:), allocatable q_cellse
 Reconstructed value at the SE corner of cell. More...
 
real(wp), dimension(:,:,:), allocatable qp_cellnw
 Reconstructed physical value at the NW corner of cell. More...
 
real(wp), dimension(:,:,:), allocatable qp_cellne
 Reconstructed physical value at the NE corner of cell. More...
 
real(wp), dimension(:,:,:), allocatable qp_cellsw
 Reconstructed physical value at the SW corner of cell. More...
 
real(wp), dimension(:,:,:), allocatable qp_cellse
 Reconstructed physical value at the SE corner of cell. More...
 
real(wp), dimension(:,:), allocatable q1max
 Maximum over time of thickness. More...
 
real(wp), dimension(:,:,:), allocatable a_interface_x_max
 Max local speeds at the x-interface. More...
 
real(wp), dimension(:,:,:), allocatable a_interface_y_max
 Max local speeds at the y-interface. More...
 
real(wp), dimension(:,:,:), allocatable a_interface_xneg
 Local speeds at the left of the x-interface. More...
 
real(wp), dimension(:,:,:), allocatable a_interface_xpos
 Local speeds at the right of the x-interface. More...
 
real(wp), dimension(:,:,:), allocatable a_interface_yneg
 Local speeds at the bottom of the y-interface. More...
 
real(wp), dimension(:,:,:), allocatable a_interface_ypos
 Local speeds at the top of the y-interface. More...
 
real(wp), dimension(:,:,:), allocatable h_interface_x
 Semidiscrete numerical interface fluxes. More...
 
real(wp), dimension(:,:,:), allocatable h_interface_y
 Semidiscrete numerical interface fluxes. More...
 
real(wp), dimension(:,:,:), allocatable qp
 Physical variables ( $\alpha_1, p_1, p_2, \rho u, w, T$) More...
 
real(wp), dimension(:,:), allocatable source_xy
 Array defining fraction of cells affected by source term. More...
 
logical, dimension(:,:), allocatable solve_mask
 
logical, dimension(:,:), allocatable solve_mask_x
 
logical, dimension(:,:), allocatable solve_mask_y
 
integer solve_cells
 
integer solve_interfaces_x
 
integer solve_interfaces_y
 
real(wp) dt
 Time step. More...
 
logical, dimension(:,:), allocatable mask22
 
logical, dimension(:,:), allocatable mask21
 
logical, dimension(:,:), allocatable mask11
 
logical, dimension(:,:), allocatable mask12
 
integer i_rk
 loop counter for the RK iteration More...
 
real(wp), dimension(:,:), allocatable a_tilde_ij
 Butcher Tableau for the explicit part of the Runge-Kutta scheme. More...
 
real(wp), dimension(:,:), allocatable a_dirk_ij
 Butcher Tableau for the implicit part of the Runge-Kutta scheme. More...
 
real(wp), dimension(:), allocatable omega_tilde
 Coefficients for the explicit part of the Runge-Kutta scheme. More...
 
real(wp), dimension(:), allocatable omega
 Coefficients for the implicit part of the Runge-Kutta scheme. More...
 
real(wp), dimension(:), allocatable a_tilde
 Explicit coeff. for the hyperbolic part for a single step of the R-K scheme. More...
 
real(wp), dimension(:), allocatable a_dirk
 Explicit coeff. for the non-hyp. part for a single step of the R-K scheme. More...
 
real(wp) a_diag
 Implicit coeff. for the non-hyp. part for a single step of the R-K scheme. More...
 
real(wp), dimension(:,:,:,:), allocatable q_rk
 Intermediate solutions of the Runge-Kutta scheme. More...
 
real(wp), dimension(:,:,:,:), allocatable qp_rk
 Intermediate physical solutions of the Runge-Kutta scheme. More...
 
real(wp), dimension(:,:,:,:), allocatable divflux
 Intermediate hyperbolic terms of the Runge-Kutta scheme. More...
 
real(wp), dimension(:,:,:,:), allocatable nh
 Intermediate non-hyperbolic terms of the Runge-Kutta scheme. More...
 
logical normalize_q
 Flag for the normalization of the array q in the implicit solution scheme. More...
 
logical normalize_f
 Flag for the normalization of the array f in the implicit solution scheme. More...
 
logical opt_search_nl
 Flag for the search of optimal step size in the implicit solution scheme. More...
 
real(wp), dimension(:,:,:), allocatable residual_term
 Sum of all the terms of the equations except the transient term. More...
 
integer, dimension(:), allocatable j_cent
 
integer, dimension(:), allocatable k_cent
 
integer, dimension(:), allocatable j_stag_x
 
integer, dimension(:), allocatable k_stag_x
 
integer, dimension(:), allocatable j_stag_y
 
integer, dimension(:), allocatable k_stag_y
 
real(wp), dimension(:,:,:), allocatable q_mg_old
 
real(wp), dimension(:,:,:), allocatable q_mg_new
 

Detailed Description

Numerical solver.

This module contains the variables and the subroutines for the numerical solution of the equations.

Date
07/10/2016
Author
Mattia de' Michieli Vitturi

Function/Subroutine Documentation

subroutine solver_2d::allocate_multigrid ( )

Definition at line 527 of file solver_2d.f90.

Here is the caller graph for this function:

subroutine solver_2d::allocate_solver_variables ( )

Memory allocation.

This subroutine allocate the memory for the variables of the solver module.

Date
07/10/2016
Author
Mattia de' Michieli Vitturi

Definition at line 199 of file solver_2d.f90.

Here is the caller graph for this function:

subroutine solver_2d::average_kt ( real(wp), dimension(:), intent(in)  a1,
real(wp), dimension(:), intent(in)  a2,
real(wp), dimension(:), intent(in)  w1,
real(wp), dimension(:), intent(in)  w2,
real(wp), dimension(:), intent(out)  w_avg 
)

averaged KT flux

This subroutine compute n averaged flux from the fluxes at the two sides of a cell interface and the max an min speed at the two sides.

Parameters
[in]a1speed at one side of the interface
[in]a2speed at the other side of the interface
[in]w1fluxes at one side of the interface
[in]w2fluxes at the other side of the interface
[out]w_avgarray of averaged fluxes
Date
2019/12/13
Author
Mattia de' Michieli Vitturi

Definition at line 2226 of file solver_2d.f90.

Here is the caller graph for this function:

subroutine solver_2d::check_solve ( )

Masking of cells to solve.

This subroutine compute a 2D array of logicals defining the cells where the systems of equations have to be solved. It is defined according to the positive thickness in the cell and in the neighbour cells

Date
20/04/2017
Author
Mattia de' Michieli Vitturi

Definition at line 598 of file solver_2d.f90.

Here is the caller graph for this function:

subroutine solver_2d::deallocate_multigrid ( )

Definition at line 534 of file solver_2d.f90.

Here is the caller graph for this function:

subroutine solver_2d::deallocate_solver_variables ( )

Memory deallocation.

This subroutine de-allocate the memory for the variables of the solver module.

Date
07/10/2016
Author
Mattia de' Michieli Vitturi

Definition at line 438 of file solver_2d.f90.

Here is the caller graph for this function:

subroutine solver_2d::eval_f ( real(wp), intent(in)  cell_fract_jk,
real(wp), intent(in)  dx_rel_jk,
real(wp), intent(in)  dy_rel_jk,
real(wp), dimension(n_vars), intent(in)  qj,
real(wp), dimension(n_vars), intent(in)  qj_old,
real(wp), intent(in)  a_diag,
real(wp), dimension(n_eqns), intent(in)  coeff_f,
real(wp), dimension(n_eqns), intent(in)  Rj_not_impl,
real(wp), dimension(n_eqns), intent(out)  f_nl,
real(wp), intent(out)  scal_f 
)

Evaluate the nonlinear system.

This subroutine evaluate the value of the nonlinear system in the state defined by the variables qj.

Parameters
[in]qjconservative variables
[in]qj_oldconservative variables at the old time step
[in]a_diagimplicit coefficient for the non-hyperbolic term
[in]coeff_fcoefficient to rescale the nonlinear functions
[in]Rj_not_implexplicit terms
[out]f_nlvalues of the nonlinear functions
[out]scal_fvalue of the scalar function f=0.5*<F,F>
Date
2019/12/16
Author
Mattia de' Michieli Vitturi

Definition at line 1727 of file solver_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine solver_2d::eval_flux_gforce ( )

Numerical fluxes GFORCE.

Date
07/10/2016
Author
Mattia de' Michieli Vitturi

Definition at line 2265 of file solver_2d.f90.

Here is the caller graph for this function:

subroutine solver_2d::eval_flux_kt ( )

Semidiscrete numerical fluxes.

This subroutine evaluates the numerical fluxes H at the cells interfaces according to Kurganov et al. 2001.

Author
Mattia de' Michieli Vitturi
Date
16/08/2011

Definition at line 2077 of file solver_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine solver_2d::eval_flux_lxf ( )

Numerical fluxes Lax-Friedrichs.

Date
07/10/2016
Author
Mattia de' Michieli Vitturi

Definition at line 2279 of file solver_2d.f90.

Here is the caller graph for this function:

subroutine solver_2d::eval_flux_up ( )

Upwind numerical fluxes.

This subroutine evaluates the numerical fluxes H at the cells interfaces with an upwind discretization.

Author
Mattia de' Michieli Vitturi
Date
2019/11/16

Definition at line 1960 of file solver_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine solver_2d::eval_hyperbolic_terms ( real(wp), dimension(n_vars,comp_cells_x,comp_cells_y), intent(in)  q_expl,
real(wp), dimension(n_vars+2,comp_cells_x,comp_cells_y), intent(in)  qp_expl,
real(wp), dimension(n_eqns,comp_cells_x,comp_cells_y), intent(out)  divFlux_iRK 
)

Semidiscrete finite volume central scheme.

This subroutine compute the divergence part of the system of the eqns, with a modified version of the finite volume scheme from Kurganov et al. 2001, where the reconstruction at the cells interfaces is applied to a set of physical variables derived from the conservative vriables.

Parameters
[in]q_explconservative variables
[in]qp_explconservative variables
[out]divFlux_iRKdivergence term
Date
07/10/2016
Author
Mattia de' Michieli Vitturi

Definition at line 1866 of file solver_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine solver_2d::eval_jacobian ( real(wp), intent(in)  cell_fract_jk,
real(wp), intent(in)  dx_rel_jk,
real(wp), intent(in)  dy_rel_jk,
real(wp), dimension(n_vars), intent(in)  qj_rel,
real(wp), dimension(n_vars), intent(in)  qj_org,
real(wp), dimension(n_eqns), intent(in)  coeff_f,
real(wp), dimension(n_eqns,n_vars), intent(out)  left_matrix 
)

Evaluate the jacobian.

This subroutine evaluate the jacobian of the non-linear system with respect to the conservative variables.

Parameters
[in]qj_relrelative variation (qj=qj_rel*qj_org)
[in]qj_orgconservative variables at the old time step
[in]coeff_fcoefficient to rescale the nonlinear functions
[out]left_matrixmatrix from the linearization of the system
Date
07/10/2016
Author
Mattia de' Michieli Vitturi

Definition at line 1781 of file solver_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine solver_2d::eval_speeds ( )

Characteristic speeds.

This subroutine evaluates the largest characteristic speed at the cells interfaces from the reconstructed states.

Author
Mattia de' Michieli Vitturi
Date
2019/11/11

Definition at line 2808 of file solver_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine solver_2d::imex_rk_solver ( )

Runge-Kutta integration.

This subroutine integrate the hyperbolic conservation law with non-hyperbolic terms using an implicit-explicit runge-kutta scheme. The fluxes are integrated explicitely while the non-hyperbolic terms are integrated implicitely.

Date
07/10/2016
Author
Mattia de' Michieli Vitturi

Definition at line 868 of file solver_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine solver_2d::lnsrch ( real(wp), intent(in)  cell_fract_jk,
real(wp), intent(in)  dx_rel_jk,
real(wp), intent(in)  dy_rel_jk,
real(wp), dimension(:), intent(in)  qj_rel_NR_old,
real(wp), dimension(:), intent(in)  qj_org,
real(wp), dimension(:), intent(in)  qj_old,
real(wp), intent(in)  scal_f_old,
real(wp), dimension(:), intent(in)  grad_f,
real(wp), dimension(:), intent(inout)  desc_dir,
real(wp), dimension(:), intent(in)  coeff_f,
real(wp), dimension(:), intent(out)  qj_rel,
real(wp), intent(out)  scal_f,
real(wp), dimension(n_eqns), intent(out)  right_term,
real(wp), intent(in)  stpmax,
logical, intent(out)  check,
real(wp), dimension(n_eqns), intent(in)  Rj_not_impl 
)

Search the descent stepsize.

This subroutine search for the lenght of the descent step in order to have a decrease in the nonlinear function.

Parameters
[in]qj_rel_NR_old
[in]qj_org
[in]qj_old
[in]scal_f_old
[in]grad_f
[in,out]desc_dir
[in]coeff_f
[out]qj_rel
[out]scal_f
[out]right_term
[in]stpmax
[out]check
[in]RJ_not_impl
Author
Mattia de' Michieli Vitturi
Date
2019/12/16
Parameters
[in]qj_rel_nr_oldInitial point
[in]qj_orgInitial point
[in]qj_oldInitial point
[in]grad_fGradient at xold
[in]scal_f_oldValue of the function at xold
[in,out]desc_dirDescent direction (usually Newton direction)
[in]coeff_fCoefficients to rescale the nonlinear function
[out]qj_relUpdated solution
[out]scal_fValue of the scalar function at x
[out]right_termValue of the scalar function at x
[out]checkOutput quantity check is false on a normal exit

Definition at line 1506 of file solver_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine solver_2d::reconstruction ( real(wp), dimension(:,:,:), intent(in)  q_expl,
real(wp), dimension(:,:,:), intent(in)  qp_expl 
)

Linear reconstruction.

In this subroutine a linear reconstruction with slope limiters is applied to a set of variables describing the state of the system. In this way the values at the two sides of each cell interface are computed. This subroutine is also used for the boundary condition, when the reconstruction at the boundary interfaces are computed.

Parameters
[in]q_explcenter values of the conservative variables
[in]qp_explcenter values of the physical variables
Author
Mattia de' Michieli Vitturi
Date
2019/11/11

Definition at line 2302 of file solver_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine solver_2d::remap_solution ( )

Definition at line 541 of file solver_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine solver_2d::solve_rk_step ( real(wp), intent(in)  cell_fract_jk,
real(wp), intent(in)  dx_rel_jk,
real(wp), intent(in)  dy_rel_jk,
real(wp), dimension(n_vars), intent(inout)  qj,
real(wp), dimension(n_vars), intent(in)  qj_old,
real(wp), dimension(n_rk), intent(in)  a_tilde,
real(wp), dimension(n_rk), intent(in)  a_dirk,
real(wp), intent(in)  a_diag,
real(wp), dimension(n_eqns), intent(in)  Rj_not_impl,
real(wp), dimension(n_eqns,n_rk), intent(in)  divFluxj,
real(wp), dimension(n_eqns,n_rk), intent(in)  NHj 
)

Runge-Kutta single step integration.

This subroutine find the solution of the non-linear system given the a step of the implicit-explicit Runge-Kutta scheme for a cell:
$ Q^{(i)} = Q^n - dt \sum_{j=1}^{i-1}\tilde{a}_{j}\partial_x F(Q^{(j)}) + dt \sum_{j=1}^{i-1} a_j NH(Q^{(j)}) + dt a_{diag} NH(Q^{(i)}) $

Parameters
[in,out]qjconservative variables
[in]qj_oldconservative variables at the old time step
[in]a_tildeexplicit coefficents for the fluxes
[in]a_dirkexplicit coefficient for the non-hyperbolic terms
[in]a_diagimplicit coefficient for the non-hyperbolic terms
[in]Rj_not_impl
[in]divFluxj
[in]Expl_terms_j
[in]NHj
Date
2019/12/16
Author
Mattia de' Michieli Vitturi

Definition at line 1175 of file solver_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine solver_2d::timestep ( )

Time-step computation.

This subroutine evaluate the maximum time step according to the CFL condition. The local speed are evaluated with the characteristic polynomial of the Jacobian of the fluxes.

Date
07/10/2016
Author
Mattia de' Michieli Vitturi

Definition at line 727 of file solver_2d.f90.

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

real(wp) solver_2d::a_diag

Implicit coeff. for the non-hyp. part for a single step of the R-K scheme.

Definition at line 145 of file solver_2d.f90.

real(wp), dimension(:), allocatable solver_2d::a_dirk

Explicit coeff. for the non-hyp. part for a single step of the R-K scheme.

Definition at line 142 of file solver_2d.f90.

real(wp), dimension(:,:), allocatable solver_2d::a_dirk_ij

Butcher Tableau for the implicit part of the Runge-Kutta scheme.

Definition at line 130 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::a_interface_x_max

Max local speeds at the x-interface.

Definition at line 89 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::a_interface_xneg

Local speeds at the left of the x-interface.

Definition at line 95 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::a_interface_xpos

Local speeds at the right of the x-interface.

Definition at line 97 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::a_interface_y_max

Max local speeds at the y-interface.

Definition at line 91 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::a_interface_yneg

Local speeds at the bottom of the y-interface.

Definition at line 99 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::a_interface_ypos

Local speeds at the top of the y-interface.

Definition at line 101 of file solver_2d.f90.

real(wp), dimension(:), allocatable solver_2d::a_tilde

Explicit coeff. for the hyperbolic part for a single step of the R-K scheme.

Definition at line 139 of file solver_2d.f90.

real(wp), dimension(:,:), allocatable solver_2d::a_tilde_ij

Butcher Tableau for the explicit part of the Runge-Kutta scheme.

Definition at line 128 of file solver_2d.f90.

real(wp), dimension(:,:,:,:), allocatable solver_2d::divflux

Intermediate hyperbolic terms of the Runge-Kutta scheme.

Definition at line 154 of file solver_2d.f90.

real(wp) solver_2d::dt

Time step.

Definition at line 121 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::h_interface_x

Semidiscrete numerical interface fluxes.

Definition at line 103 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::h_interface_y

Semidiscrete numerical interface fluxes.

Definition at line 105 of file solver_2d.f90.

integer solver_2d::i_rk

loop counter for the RK iteration

Definition at line 125 of file solver_2d.f90.

integer, dimension(:), allocatable solver_2d::j_cent

Definition at line 171 of file solver_2d.f90.

integer, dimension(:), allocatable solver_2d::j_stag_x

Definition at line 174 of file solver_2d.f90.

integer, dimension(:), allocatable solver_2d::j_stag_y

Definition at line 177 of file solver_2d.f90.

integer, dimension(:), allocatable solver_2d::k_cent

Definition at line 172 of file solver_2d.f90.

integer, dimension(:), allocatable solver_2d::k_stag_x

Definition at line 175 of file solver_2d.f90.

integer, dimension(:), allocatable solver_2d::k_stag_y

Definition at line 178 of file solver_2d.f90.

logical, dimension(:,:), allocatable solver_2d::mask11

Definition at line 123 of file solver_2d.f90.

logical, dimension(:,:), allocatable solver_2d::mask12

Definition at line 123 of file solver_2d.f90.

logical, dimension(:,:), allocatable solver_2d::mask21

Definition at line 123 of file solver_2d.f90.

logical, dimension(:,:), allocatable solver_2d::mask22

Definition at line 123 of file solver_2d.f90.

real(wp), dimension(:,:,:,:), allocatable solver_2d::nh

Intermediate non-hyperbolic terms of the Runge-Kutta scheme.

Definition at line 157 of file solver_2d.f90.

logical solver_2d::normalize_f

Flag for the normalization of the array f in the implicit solution scheme.

Definition at line 163 of file solver_2d.f90.

logical solver_2d::normalize_q

Flag for the normalization of the array q in the implicit solution scheme.

Definition at line 160 of file solver_2d.f90.

real(wp), dimension(:), allocatable solver_2d::omega

Coefficients for the implicit part of the Runge-Kutta scheme.

Definition at line 136 of file solver_2d.f90.

real(wp), dimension(:), allocatable solver_2d::omega_tilde

Coefficients for the explicit part of the Runge-Kutta scheme.

Definition at line 133 of file solver_2d.f90.

logical solver_2d::opt_search_nl

Flag for the search of optimal step size in the implicit solution scheme.

Definition at line 166 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::q

Conservative variables.

Definition at line 42 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::q0

Conservative variables.

Definition at line 44 of file solver_2d.f90.

real(wp), dimension(:,:), allocatable solver_2d::q1max

Maximum over time of thickness.

Definition at line 86 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::q_cellne

Reconstructed value at the NE corner of cell.

Definition at line 69 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::q_cellnw

Reconstructed value at the NW corner of cell.

Definition at line 67 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::q_cellse

Reconstructed value at the SE corner of cell.

Definition at line 73 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::q_cellsw

Reconstructed value at the SW corner of cell.

Definition at line 71 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::q_fv

Solution of the finite-volume semidiscrete cheme.

Definition at line 46 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::q_interfaceb

Reconstructed value at the bottom of the y-interface.

Definition at line 53 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::q_interfacel

Reconstructed value at the left of the x-interface.

Definition at line 49 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::q_interfacer

Reconstructed value at the right of the x-interface.

Definition at line 51 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::q_interfacet

Reconstructed value at the top of the y-interface.

Definition at line 55 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::q_mg_new

Definition at line 181 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::q_mg_old

Definition at line 180 of file solver_2d.f90.

real(wp), dimension(:,:,:,:), allocatable solver_2d::q_rk

Intermediate solutions of the Runge-Kutta scheme.

Definition at line 148 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::qp

Physical variables ( $\alpha_1, p_1, p_2, \rho u, w, T$)

Definition at line 107 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::qp_cellne

Reconstructed physical value at the NE corner of cell.

Definition at line 78 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::qp_cellnw

Reconstructed physical value at the NW corner of cell.

Definition at line 76 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::qp_cellse

Reconstructed physical value at the SE corner of cell.

Definition at line 82 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::qp_cellsw

Reconstructed physical value at the SW corner of cell.

Definition at line 80 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::qp_interfaceb

Reconstructed physical value at the bottom of the y-interface.

Definition at line 62 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::qp_interfacel

Reconstructed physical value at the left of the x-interface.

Definition at line 58 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::qp_interfacer

Reconstructed physical value at the right of the x-interface.

Definition at line 60 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::qp_interfacet

Reconstructed physical value at the top of the y-interface.

Definition at line 64 of file solver_2d.f90.

real(wp), dimension(:,:,:,:), allocatable solver_2d::qp_rk

Intermediate physical solutions of the Runge-Kutta scheme.

Definition at line 151 of file solver_2d.f90.

real(wp), dimension(:,:,:), allocatable solver_2d::residual_term

Sum of all the terms of the equations except the transient term.

Definition at line 169 of file solver_2d.f90.

integer solver_2d::solve_cells

Definition at line 116 of file solver_2d.f90.

integer solver_2d::solve_interfaces_x

Definition at line 117 of file solver_2d.f90.

integer solver_2d::solve_interfaces_y

Definition at line 118 of file solver_2d.f90.

logical, dimension(:,:), allocatable solver_2d::solve_mask

Definition at line 112 of file solver_2d.f90.

logical, dimension(:,:), allocatable solver_2d::solve_mask_x

Definition at line 113 of file solver_2d.f90.

logical, dimension(:,:), allocatable solver_2d::solve_mask_y

Definition at line 114 of file solver_2d.f90.

real(wp), dimension(:,:), allocatable solver_2d::source_xy

Array defining fraction of cells affected by source term.

Definition at line 110 of file solver_2d.f90.

real(wp) solver_2d::t

time

Definition at line 39 of file solver_2d.f90.