IMEX_SfloW2D  0.9
Shallowwatergranularflowmodel
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::check_solve
 Masking of cells to solve. More...
 
subroutine solver_2d::timestep
 Time-step computation. More...
 
subroutine solver_2d::timestep2
 Time-step computation. More...
 
subroutine solver_2d::imex_rk_solver
 Runge-Kutta integration. More...
 
subroutine solver_2d::solve_rk_step (Bj, Bprimej_x, Bprimej_y, grav3_surf, qj, qj_old, a_tilde, a_dirk, a_diag)
 Runge-Kutta single step integration. More...
 
subroutine solver_2d::lnsrch (Bj, Bprimej_x, Bprimej_y, grav3_surf, 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)
 Search the descent stepsize. More...
 
subroutine solver_2d::eval_f (Bj, Bprimej_x, Bprimej_y, grav3_surf, qj, qj_old, a_tilde, a_dirk, a_diag, coeff_f, f_nl, scal_f)
 Evaluate the nonlinear system. More...
 
subroutine solver_2d::eval_jacobian (Bj, Bprimej_x, Bprimej_y, grav3_surf, qj_rel, qj_org, coeff_f, left_matrix)
 Evaluate the jacobian. More...
 
subroutine solver_2d::eval_explicit_terms (q_expl, expl_terms)
 Evaluate the explicit terms. More...
 
subroutine solver_2d::eval_hyperbolic_terms (q_expl, divFlux)
 Semidiscrete finite volume central scheme. 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
 Linear reconstruction. More...
 
subroutine solver_2d::eval_speeds
 Characteristic speeds. More...
 
subroutine solver_2d::limit (v, z, limiter, slope_lim)
 Slope limiter. More...
 
real *8 function solver_2d::minmod (a, b)
 
real *8 function solver_2d::maxmod (a, b)
 

Variables

real *8, dimension(:,:,:), allocatable solver_2d::q
 Conservative variables. More...
 
real *8, dimension(:,:,:), allocatable solver_2d::q0
 Conservative variables. More...
 
real *8, dimension(:,:,:), allocatable solver_2d::q_fv
 Solution of the finite-volume semidiscrete cheme. More...
 
real *8, dimension(:,:,:), allocatable solver_2d::q_interfacel
 Reconstructed value at the left of the x-interface. More...
 
real *8, dimension(:,:,:), allocatable solver_2d::q_interfacer
 Reconstructed value at the right of the x-interface. More...
 
real *8, dimension(:,:,:), allocatable solver_2d::q_interfaceb
 Reconstructed value at the bottom of the y-interface. More...
 
real *8, dimension(:,:,:), allocatable solver_2d::q_interfacet
 Reconstructed value at the top of the y-interface. More...
 
real *8, dimension(:,:,:), allocatable solver_2d::a_interface_xneg
 Local speeds at the left of the x-interface. More...
 
real *8, dimension(:,:,:), allocatable solver_2d::a_interface_xpos
 Local speeds at the right of the x-interface. More...
 
real *8, dimension(:,:,:), allocatable solver_2d::a_interface_yneg
 Local speeds at the bottom of the y-interface. More...
 
real *8, dimension(:,:,:), allocatable solver_2d::a_interface_ypos
 Local speeds at the top of the y-interface. More...
 
real *8, dimension(:,:,:), allocatable solver_2d::h_interface_x
 Semidiscrete numerical interface fluxes. More...
 
real *8, dimension(:,:,:), allocatable solver_2d::h_interface_y
 Semidiscrete numerical interface fluxes. More...
 
real *8, dimension(:,:,:), allocatable solver_2d::qp
 Physical variables ( $\alpha_1, p_1, p_2, \rho u, w, T$) More...
 
real *8, 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_mask0
 
real *8 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 *8, dimension(:,:), allocatable solver_2d::a_tilde_ij
 Butcher Tableau for the explicit part of the Runge-Kutta scheme. More...
 
real *8, dimension(:,:), allocatable solver_2d::a_dirk_ij
 Butcher Tableau for the implicit part of the Runge-Kutta scheme. More...
 
real *8, dimension(:), allocatable solver_2d::omega_tilde
 Coefficients for the explicit part of the Runge-Kutta scheme. More...
 
real *8, dimension(:), allocatable solver_2d::omega
 Coefficients for the implicit part of the Runge-Kutta scheme. More...
 
real *8, dimension(:), allocatable solver_2d::a_tilde
 Explicit coeff. for the hyperbolic part for a single step of the R-K scheme. More...
 
real *8, dimension(:), allocatable solver_2d::a_dirk
 Explicit coeff. for the non-hyp. part for a single step of the R-K scheme. More...
 
real *8 solver_2d::a_diag
 Implicit coeff. for the non-hyp. part for a single step of the R-K scheme. More...
 
real *8, dimension(:,:,:,:), allocatable solver_2d::q_rk
 Intermediate solutions of the Runge-Kutta scheme. More...
 
real *8, dimension(:,:,:,:), allocatable solver_2d::divflux
 Intermediate hyperbolic terms of the Runge-Kutta scheme. More...
 
real *8, dimension(:,:,:,:), allocatable solver_2d::nh
 Intermediate non-hyperbolic terms of the Runge-Kutta scheme. More...
 
real *8, dimension(:,:,:,:), allocatable solver_2d::si_nh
 Intermediate semi-implicit non-hyperbolic terms of the Runge-Kutta scheme. More...
 
real *8, dimension(:,:,:,:), allocatable solver_2d::expl_terms
 Intermediate explicit terms of the Runge-Kutta scheme. More...
 
real *8, dimension(:,:), allocatable solver_2d::divfluxj
 Local Intermediate hyperbolic terms of the Runge-Kutta scheme. More...
 
real *8, dimension(:,:), allocatable solver_2d::nhj
 Local Intermediate non-hyperbolic terms of the Runge-Kutta scheme. More...
 
real *8, dimension(:,:), allocatable solver_2d::expl_terms_j
 Local Intermediate explicit terms of the Runge-Kutta scheme. More...
 
real *8, dimension(:,:), allocatable solver_2d::si_nhj
 Local Intermediate semi-impl 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 *8, dimension(:,:,:), allocatable solver_2d::residual_term
 Sum of all the terms of the equations except the transient term. More...
 
real *8 solver_2d::t_imex1
 
real *8 solver_2d::t_imex2