PLUME-MoM-TSM  1.0
VolcanicPlumeModel
Modules | Functions/Subroutines | Variables
solver_2d.f90 File Reference

Go to the source code of this file.

Modules

module  solver_2d
 Numerical solver.
 

Functions/Subroutines

subroutine solver_2d::allocate_solver_variables
 Memory allocation. More...
 
subroutine solver_2d::deallocate_solver_variables
 Memory deallocation. More...
 
subroutine solver_2d::allocate_multigrid
 
subroutine solver_2d::deallocate_multigrid
 
subroutine solver_2d::remap_solution
 
subroutine solver_2d::check_solve
 Masking of cells to solve. More...
 
subroutine solver_2d::timestep
 Time-step computation. More...
 
subroutine solver_2d::imex_rk_solver
 Runge-Kutta integration. More...
 
subroutine solver_2d::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 solver_2d::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 solver_2d::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 solver_2d::eval_jacobian (cell_fract_jk, dx_rel_jk, dy_rel_jk, qj_rel, qj_org, coeff_f, left_matrix)
 Evaluate the jacobian. More...
 
subroutine solver_2d::eval_hyperbolic_terms (q_expl, qp_expl, divFlux_iRK)
 Semidiscrete finite volume central scheme. More...
 
subroutine solver_2d::eval_flux_up
 Upwind numerical fluxes. More...
 
subroutine solver_2d::eval_flux_kt
 Semidiscrete numerical fluxes. More...
 
subroutine solver_2d::average_kt (a1, a2, w1, w2, w_avg)
 averaged KT flux More...
 
subroutine solver_2d::eval_flux_gforce
 Numerical fluxes GFORCE. More...
 
subroutine solver_2d::eval_flux_lxf
 Numerical fluxes Lax-Friedrichs. More...
 
subroutine solver_2d::reconstruction (q_expl, qp_expl)
 Linear reconstruction. More...
 
subroutine solver_2d::eval_speeds
 Characteristic speeds. More...
 

Variables

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