GBS
boundary_mod.F90 File Reference

Module for boundary conditions. More...

Data Types

interface  boundary_mod::bcx
 
interface  boundary_mod::bcy
 
interface  boundary_mod::bcxl_RHS
 
interface  boundary_mod::bcxr_RHS
 
interface  boundary_mod::bcy_RHS
 
interface  boundary_mod::bcyt_RHS
 
interface  boundary_mod::bcyb_RHS
 
interface  boundary_mod::dfielddn
 
interface  boundary_mod::compute_cs_proc
 

Modules

module  boundary_mod
 

Functions/Subroutines

subroutine, public boundary_mod::initialize_boundary_mod (mpi_env, boundary)
 Initialize the boundary module. More...
 
subroutine boundary_mod::set_bcy_model_opt (mpi_env, boundary)
 Sets the physical boundary model for the top and bottom boundaries. More...
 
subroutine boundary_mod::set_bcxl_model_opt (mpi_env, boundary)
 Sets the physical boundary model for the left boundary. More...
 
subroutine boundary_mod::set_bcxr_model_opt (mpi_env, boundary)
 Sets the physical boundary model for the right boundary. More...
 
subroutine boundary_mod::set_auxiliary_bc_routines
 Initializes helper functions to compute boundary-related quantities. More...
 
subroutine boundary_mod::set_boundary_scheme
 Initializes which numerical scheme to use when filling boundary grid points. More...
 
subroutine, public boundary_mod::fields_bc_ghosts (updatetlevel_, theta_t, tempe_t, tempi_t, omega_t, vpari_t, strmf_t)
 Updates boundary conditions of explicitely evolved plasma fields. More...
 
subroutine, public boundary_mod::poisson_strmf_bc_ghosts (updatetlevel_, tempe_t, vparepsi_t, strmf_t)
 Updates the ghosts of fields_mod::vparepsi. More...
 
subroutine, public boundary_mod::poisson_psi_bc_ghosts (updatetlevel_, tempe_t, strmf_t, vpare_t, vparepsi_t, psi_t)
 Updates the ghosts of fields_mod::vpare and fields_mod::psi. More...
 
subroutine boundary_mod::update_bcxy_tempe (tempe_t, bc_left, bc_right, bc_bot, bc_top)
 
subroutine boundary_mod::update_bcxy_tempi (tempi_t, bc_left, bc_right, bc_bot, bc_top)
 
subroutine boundary_mod::update_bcxy_vpari (vpari_t, bc_left, bc_right, bc_bot, bc_top)
 
subroutine boundary_mod::update_bcxy_theta (theta_t, bc_left, bc_right, bc_bot, bc_top)
 
subroutine boundary_mod::update_bcxy_omega (omega_t, bc_left, bc_right, bc_bot, bc_top)
 
subroutine boundary_mod::update_bcxy_vparepsi (vparepsi_t, bc_left, bc_right, bc_bot, bc_top)
 
subroutine boundary_mod::update_xboundary_v_fd4 (field_t, bctypel, bcvall, bctyper, bcvalr)
 
subroutine boundary_mod::update_xboundary_n_fd4 (field_t, bctypel, bcvall, bctyper, bcvalr)
 
subroutine boundary_mod::update_yboundary_n_fd4 (field_t, bctypeb, bcvalb, bctypet, bcvalt)
 
subroutine boundary_mod::update_yboundary_v_fd4 (field_t, bctypeb, bcvalb, bctypet, bcvalt)
 
subroutine boundary_mod::tempe_bcxl_rhs_man (bc_left, field1_t, field2_t)
 
subroutine boundary_mod::tempi_bcxl_rhs_man (bc_left, field1_t, field2_t)
 
subroutine boundary_mod::vpari_bcxl_rhs_man (bc_left, field1_t, field2_t)
 
subroutine boundary_mod::theta_bcxl_rhs_man (bc_left, field1_t, field2_t)
 
subroutine boundary_mod::omega_bcxl_rhs_man (bc_left, field1_t, field2_t)
 
subroutine boundary_mod::vparepsi_bcxl_rhs_man (bc_left, field1_t, field2_t)
 
subroutine boundary_mod::strmf_bcxl_rhs_man (bc_left, field1_t, field2_t)
 
subroutine boundary_mod::strmf_bcxl_rhs_pat (bc_left, field1_t, field2_t)
 
subroutine boundary_mod::strmf_bcxl_rhs_pet_fd4 (bc_left, tempe_t, field2_t)
 
subroutine boundary_mod::tempe_bcxl_rhs_mag (bc_left, field1_t, field2_t)
 
subroutine boundary_mod::tempi_bcxl_rhs_mag (bc_left, field1_t, field2_t)
 
subroutine boundary_mod::vpari_bcxl_rhs_mag (bc_left, field1_t, field2_t)
 
subroutine boundary_mod::theta_bcxl_rhs_mag (bc_left, vpari_t, tempi_t)
 
subroutine boundary_mod::omega_bcxl_rhs_mag (bc_left, field1_t, field2_t)
 
subroutine boundary_mod::vparepsi_bcxl_rhs_mag (bc_left, tempe_t, strmf)
 
subroutine boundary_mod::vparepsi_bcxl_rhs_mag_ixrm05 (bc_left, tempe_t, strmf)
 
subroutine boundary_mod::vparepsi_bcxl_rhs_tar (bc_left, tempe_t, strmf)
 
subroutine boundary_mod::strmf_bcxl_rhs_mag (bc_left, tempe_t, vpari_t)
 
subroutine boundary_mod::tempe_bcxr_rhs_man (bc_right, field1_t, field2_t)
 
subroutine boundary_mod::tempi_bcxr_rhs_man (bc_right, field1_t, field2_t)
 
subroutine boundary_mod::vpari_bcxr_rhs_man (bc_right, field1_t, field2_t)
 
subroutine boundary_mod::theta_bcxr_rhs_man (bc_right, field1_t, field2_t)
 
subroutine boundary_mod::omega_bcxr_rhs_man (bc_right, field1_t, field2_t)
 
subroutine boundary_mod::vparepsi_bcxr_rhs_man (bc_right, field1_t, field2_t)
 
subroutine boundary_mod::tempe_bcxr_rhs_mag (bc_right, field1_t, field2_t)
 
subroutine boundary_mod::tempi_bcxr_rhs_mag (bc_right, field1_t, field2_t)
 
subroutine boundary_mod::vpari_bcxr_rhs_mag (bc_right, field1_t, field2_t)
 
subroutine boundary_mod::theta_bcxr_rhs_mag (bc_right, vpari_t, tempi_t)
 
subroutine boundary_mod::omega_bcxr_rhs_mag (bc_right, field1_t, field2_t)
 
subroutine boundary_mod::vparepsi_bcxr_rhs_mag (bc_right, tempe_t, strmf)
 
subroutine boundary_mod::vparepsi_bcxr_rhs_tar (bc_right, tempe_t, strmf)
 
subroutine boundary_mod::strmf_bcxr_rhs_man (bc_right, field1_t, field2_t)
 
subroutine boundary_mod::strmf_bcxr_rhs_pat (bc_right, field1_t, field2_t)
 
subroutine boundary_mod::strmf_bcxr_rhs_pet_fd4 (bc_right, tempe_t, field2_t)
 
subroutine boundary_mod::strmf_bcxr_rhs_mag (bc_right, tempe_t, vpari_t)
 
subroutine boundary_mod::tempe_bcyb_rhs_man (bc_bot, field1_t, field2_t)
 
subroutine boundary_mod::tempe_bcyt_rhs_man (bc_top, field1_t, field2_t)
 
subroutine boundary_mod::tempi_bcyb_rhs_man (bc_bot, field1_t, field2_t)
 
subroutine boundary_mod::tempi_bcyt_rhs_man (bc_top, field1_t, field2_t)
 
subroutine boundary_mod::vpari_bcyb_rhs_man (bc_bot, field1_t, field2_t)
 
subroutine boundary_mod::vpari_bcyt_rhs_man (bc_top, field1_t, field2_t)
 
subroutine boundary_mod::theta_bcyb_rhs_man (bc_bot, field1_t, field2_t)
 
subroutine boundary_mod::theta_bcyt_rhs_man (bc_top, field1_t, field2_t)
 
subroutine boundary_mod::omega_bcyb_rhs_man (bc_bot, field1_t, field2_t)
 
subroutine boundary_mod::omega_bcyt_rhs_man (bc_top, field1_t, field2_t)
 
subroutine boundary_mod::vparepsi_bcyb_rhs_man (bc_bot, field1_t, field2_t)
 
subroutine boundary_mod::vparepsi_bcyt_rhs_man (bc_top, field1_t, field2_t)
 
subroutine boundary_mod::tempe_bcyt_rhs_mag (bc_top, strmf, tempe_t)
 
subroutine boundary_mod::tempe_bcyb_rhs_mag (bc_bot, strmf, tempe_t)
 
subroutine boundary_mod::tempi_bcyt_rhs_mag (bc_top, field1_t, field2_t)
 
subroutine boundary_mod::tempi_bcyb_rhs_mag (bc_bot, field1_t, field2_t)
 
subroutine boundary_mod::vpari_bcyt_rhs_mag (bc_top, field1_t, field2_t)
 
subroutine boundary_mod::vpari_bcyb_rhs_mag (bc_bot, field1_t, field2_t)
 
subroutine boundary_mod::theta_bcyt_rhs_mag (bc_top, field1_t, field2_t)
 
subroutine boundary_mod::theta_bcyb_rhs_mag (bc_bot, field1_t, field2_t)
 
subroutine boundary_mod::omega_bcyt_rhs_mag (bc_top, vpari_t, theta_t)
 
subroutine boundary_mod::omega_bcyb_rhs_mag (bc_bot, vpari_t, theta_t)
 
subroutine boundary_mod::vparepsi_bcyt_rhs_mag (bc_top, tempe_t, strmf)
 
subroutine boundary_mod::vparepsi_bcyb_rhs_mag (bc_bot, tempe_t, strmf)
 
subroutine boundary_mod::strmf_bcyb_rhs_man (bc_bot, field1_t, field2_t)
 
subroutine boundary_mod::strmf_bcyt_rhs_man (bc_top, field1_t, field2_t)
 
subroutine boundary_mod::strmf_bcyb_rhs_mag (bc_bot, vpari_t, field2_t)
 
subroutine boundary_mod::strmf_bcyb_rhs_rob (bc_bot, theta_t, tempe_t)
 
subroutine boundary_mod::strmf_bcyt_rhs_mag (bc_top, vpari_t, field2_t)
 
subroutine boundary_mod::strmf_bcyt_rhs_pat (bc_top, field1_t, tempe_t)
 
subroutine boundary_mod::strmf_bcyb_rhs_pat (bc_bot, field1_t, tempe_t)
 
subroutine boundary_mod::dvparidn_null (vpari_t)
 
subroutine boundary_mod::d2vparidx2_null (vpari_t)
 
subroutine boundary_mod::dvparidx_ixlm1 (vpari_t)
 
subroutine boundary_mod::dvparidx_ixr (vpari_t)
 
subroutine boundary_mod::d2vparidx2_ixlm1 (vpari_t)
 
subroutine boundary_mod::d2vparidx2_ixr (vpari_t)
 
subroutine boundary_mod::dvparidy_fd4 (vpari_t)
 
subroutine boundary_mod::compute_cs_null (tempe_t, tempi_t)
 
subroutine boundary_mod::compute_cs_fd4 (tempe_t, tempi_t)
 
subroutine boundary_mod::compute_cs_ixl_fd4 (tempe_t, tempi_t)
 
subroutine boundary_mod::compute_cs_ixr_fd4 (tempe_t, tempi_t)
 
subroutine, public boundary_mod::update_strmf_lr_bc
 

Variables

integer boundary_mod::ierr
 
real(dp), dimension(:,:), pointer, public boundary_mod::dvi_b
 
real(dp), dimension(:,:), pointer, public boundary_mod::dvi_t
 
real(dp), dimension(:,:), pointer, public boundary_mod::dvi_l
 
real(dp), dimension(:,:), pointer, public boundary_mod::dvi_r
 
real(dp), dimension(:,:), pointer, public boundary_mod::d2vidx2_l
 
real(dp), dimension(:,:), pointer, public boundary_mod::d2vidx2_r
 
real(dp), dimension(:,:), pointer, public boundary_mod::strmf_llayer
 
real(dp), dimension(:,:), pointer, public boundary_mod::strmf_rlayer
 
real(dp) boundary_mod::time_window =10.0_dp
 
real(dp), dimension(:), pointer, public boundary_mod::rob_coeff_bot
 
real(dp), dimension(:), pointer, public boundary_mod::rob_bot_tot
 
procedure(bcx), pointer boundary_mod::tempe_bcx => null()
 
procedure(bcy), pointer boundary_mod::tempe_bcy => null()
 
procedure(bcxl_rhs), pointer boundary_mod::tempe_bcxl_rhs => null()
 
procedure(bcxr_rhs), pointer boundary_mod::tempe_bcxr_rhs => null()
 
procedure(bcyt_rhs), pointer boundary_mod::tempe_bcyt_rhs => null()
 
procedure(bcyb_rhs), pointer boundary_mod::tempe_bcyb_rhs => null()
 
procedure(bcx), pointer boundary_mod::tempi_bcx => null()
 
procedure(bcy), pointer boundary_mod::tempi_bcy => null()
 
procedure(bcxl_rhs), pointer boundary_mod::tempi_bcxl_rhs => null()
 
procedure(bcxr_rhs), pointer boundary_mod::tempi_bcxr_rhs => null()
 
procedure(bcyt_rhs), pointer boundary_mod::tempi_bcyt_rhs => null()
 
procedure(bcyb_rhs), pointer boundary_mod::tempi_bcyb_rhs => null()
 
procedure(bcx), pointer boundary_mod::vpari_bcx => null()
 
procedure(bcy), pointer boundary_mod::vpari_bcy => null()
 
procedure(bcxl_rhs), pointer boundary_mod::vpari_bcxl_rhs => null()
 
procedure(bcxr_rhs), pointer boundary_mod::vpari_bcxr_rhs => null()
 
procedure(bcyt_rhs), pointer boundary_mod::vpari_bcyt_rhs => null()
 
procedure(bcyb_rhs), pointer boundary_mod::vpari_bcyb_rhs => null()
 
procedure(bcx), pointer boundary_mod::theta_bcx => null()
 
procedure(bcy), pointer boundary_mod::theta_bcy => null()
 
procedure(bcxl_rhs), pointer boundary_mod::theta_bcxl_rhs => null()
 
procedure(bcxr_rhs), pointer boundary_mod::theta_bcxr_rhs => null()
 
procedure(bcyt_rhs), pointer boundary_mod::theta_bcyt_rhs => null()
 
procedure(bcyb_rhs), pointer boundary_mod::theta_bcyb_rhs => null()
 
procedure(bcx), pointer boundary_mod::omega_bcx => null()
 
procedure(bcy), pointer boundary_mod::omega_bcy => null()
 
procedure(bcxl_rhs), pointer boundary_mod::omega_bcxl_rhs => null()
 
procedure(bcxr_rhs), pointer boundary_mod::omega_bcxr_rhs => null()
 
procedure(bcyt_rhs), pointer boundary_mod::omega_bcyt_rhs => null()
 
procedure(bcyb_rhs), pointer boundary_mod::omega_bcyb_rhs => null()
 
procedure(bcx), pointer boundary_mod::vparepsi_bcx => null()
 
procedure(bcy), pointer boundary_mod::vparepsi_bcy => null()
 
procedure(bcxl_rhs), pointer, public boundary_mod::vparepsi_bcxl_rhs => null()
 
procedure(bcxr_rhs), pointer, public boundary_mod::vparepsi_bcxr_rhs => null()
 
procedure(bcyt_rhs), pointer, public boundary_mod::vparepsi_bcyt_rhs => null()
 
procedure(bcyb_rhs), pointer, public boundary_mod::vparepsi_bcyb_rhs => null()
 
procedure(bcxl_rhs), pointer, public boundary_mod::strmf_bcxl_rhs => null()
 
procedure(bcxr_rhs), pointer, public boundary_mod::strmf_bcxr_rhs => null()
 
procedure(bcyt_rhs), pointer, public boundary_mod::strmf_bcyt_rhs => null()
 
procedure(bcyb_rhs), pointer, public boundary_mod::strmf_bcyb_rhs => null()
 
procedure(compute_cs_proc), pointer boundary_mod::compute_cs => null()
 
procedure(compute_cs_proc), pointer boundary_mod::compute_cs_l => null()
 
procedure(compute_cs_proc), pointer boundary_mod::compute_cs_r => null()
 
procedure(dfielddn), pointer boundary_mod::dvparidn => null()
 
procedure(dfielddn), pointer boundary_mod::dvparidn_l => null()
 
procedure(dfielddn), pointer boundary_mod::dvparidn_r => null()
 
procedure(dfielddn), pointer boundary_mod::d2vparidx2_l => null()
 
procedure(dfielddn), pointer boundary_mod::d2vparidx2_r => null()
 

Detailed Description

Module for boundary conditions.

Author
(in alphabetical order)
Davide Galassi david.nosp@m.e.ga.nosp@m.lassi.nosp@m.@epf.nosp@m.l.ch
Maurizio Giacomin mauri.nosp@m.zio..nosp@m.giaco.nosp@m.min@.nosp@m.epfl..nosp@m.ch
Emmanuel Lanti emman.nosp@m.uel..nosp@m.lanti.nosp@m.@epf.nosp@m.l.ch
Nicola Varini nicol.nosp@m.a.va.nosp@m.rini@.nosp@m.epfl.nosp@m..ch
Paola Paruta paola.nosp@m..par.nosp@m.uta@e.nosp@m.pfl..nosp@m.ch
Christoph Wersal chris.nosp@m.toph.nosp@m..wers.nosp@m.al@e.nosp@m.pfl.c.nosp@m.h