ORB5  4.00
Loading...
Searching...
No Matches
solver_mpi.F90 File Reference
#include "../precomp.h"
Include dependency graph for solver_mpi.F90:

Modules

module  solver_mod

Functions/Subroutines

subroutine, public solver_mod::initsolvermodule (me_assembly, tgt_assembly, color, nx_, nz_, nw_, wmax_, kdx_, em_kdx_, dm_, electromagnetic_, em_control_variate_, pullback_, fieldaligned_, longwavelength_, na_half_rho_ref_, phase_factor_, isnfiltlocal_, isnfiltlocalysolved_, nbmodeslocal_, nfiltlocal_, navgmax_, testcase_, internal_boundary_, pade_, multi_matrix_, inner_bc_, lapl_boundary_terms_)
subroutine, public solver_mod::destroysolvermodule ()
subroutine, public solver_mod::assemblyrhs_tests (rhs_f, nmat, nqx, nqy)
 Project analytical field on B-splines.
subroutine, public solver_mod::assemblyrhs_antenna (rhs_f, nmat, nqx, nqy, phase_shift, sprof, prof, nprof)
 Project antenna's analytical field on B-splines, adapted from assemblyRHS_tests.
subroutine, public solver_mod::assemblymatrix (nqx, nqy)
subroutine solver_mod::assemblymassmatrix (nqx, nqy)
subroutine, public solver_mod::assemblyboltzman (isp, nqx, nqy, remove_trap_contribution)
subroutine, public solver_mod::assemblyboltzman_zf (isp, nqx, nqy, remove_trap_contribution, oldavgjac)
 Assemble the ZF contribution of the adiabatic electrons to the LHS matrix.
subroutine, public solver_mod::assemblyboltzmannpade (isp, nqx, nqy, remove_trap_contribution)
 Assembly of the pade approximation for adiabatic electrons without zonal flows.
subroutine, public solver_mod::assemblyboltzmannpade_zf (isp, nqx, nqy, remove_trap_contribution)
 Computes Pade correction to the adiabatic electron model for zonal flows.
subroutine, public solver_mod::assemblypoldrift_longwavelength_fourier (isp, nqx, nqy)
subroutine, public solver_mod::assemblypadematforrhs (isp, nqx, nqy)
subroutine solver_mod::domainofintegrationextended (imin, isp, smin, smax, ixmin_int, ixmax_int)
subroutine, public solver_mod::assemblypoldrift_arbitrary_wavelength_fourier (isp, nqx, nqy, iymin, iymax)
logical function solver_mod::fieldmodefilter (i, m, n)
subroutine, public solver_mod::assemblylhsfinalize ()
 Boundary conditions, and merge of different matrices.
subroutine, public solver_mod::finalizematrix ()
 Boundary conditions, and merge of different matrices.
subroutine solver_mod::backsolvephi (rhs_in, sol, sol_dft)
 Input is the RHS project on BSplines.
subroutine solver_mod::backsolvephi_ (rhs_f, sol_dft)
subroutine, public solver_mod::backsolve_rhs_f (rhs_f, nmat, matnum)
 Input is the RHS in fourier and the toroidal mode number to backsolve.
subroutine solver_mod::backsolve_rhs_f_julien (rhs_f, nmat)
subroutine, public solver_mod::backsolve_rhs_f_multi (rhs_f, nmat, matnum)
subroutine, public solver_mod::backsolve_mass_f (arr_f, out_f, nmat)
 Backsolve any quantity with the mass matrix (diagnostics purpose).
subroutine, public solver_mod::multiply_mass_f (arr_f, nmat)
 Multiply by mass matrix arr_f = masmat(nmat) * arr_f.
subroutine, public solver_mod::backsolve_mass_s (arr_f, out_f)
 Backsolve any quantity with the mass matrix (diagnostics purpose).
subroutine, public solver_mod::backsolve_mass_sn (arr_, out_, nmode)
real(kind=r8) function, public solver_mod::computetoroidalmasscoeff (n)
subroutine, public solver_mod::print_matrix_gbmatf (mval, nqsmin, nx_, ny_, degree_, filename)
integer function solver_mod::getlocaltoroidalindex (n)
subroutine, public solver_mod::reduce_matrix (ierr, comm_, tgt_, me_)
 Perform a reduction by sum of the LHS.
subroutine, public solver_mod::broadcast_matrix (ierr, comm_, src_, me_)
subroutine solver_mod::broadcast_matrix_julien (ierr, comm_, src_, me_)
subroutine solver_mod::broadcast_matrix_multi (ierr, comm_, src_)
subroutine solver_mod::dft1d (input, output, nx, ny)
 Compute the DFT of the RHS.
subroutine solver_mod::dft_or_idft_cpx (input, output, nx, ny, isign)
 Compute the DFT of the RHS and divide it by the coeff m^(n). isign=-1 (=_FFTW_FORWARD) or +1 (=_FFTW_BACKWARD).
subroutine solver_mod::dftinverse1d (input, output, nx, ny)
 Compute the DFT of the RHS and divide it by the coeff m^(n).
subroutine solver_mod::dftinverse1d_rc (input, output, nx, ny)
 Compute the DFT of the RHS and divide it by the coeff m^(n).
subroutine solver_mod::dftinverse1d_full (input, output, nx, ny)
 Compute the DFT of the RHS and divide it by the coeff m^(n).
subroutine solver_mod::def_matrix_filter_new
subroutine, public solver_mod::copy_matrix_filter (ixmin, ixmax, n, mmmincopy)
subroutine solver_mod::reality_condition (v_dft, ny, ny2)
subroutine solver_mod::print_rhs_debug (rhs, n)
 Print rhs array.
subroutine solver_mod::print_phi_debug (phi, n)
 Print phi array.
subroutine solver_mod::print_matrix_zpbmat (mname, m, n)
 Print zpbmat matrix.
subroutine solver_mod::init_multi_matrix (lapl_boundary_terms)

Variables

integer solver_mod::na_eff_lim
integer solver_mod::testcase
integer solver_mod::jj
real(kind=r8), parameter solver_mod::eqsign =-1e0_r8
integer solver_mod::kd
 Number of diagonals.
integer solver_mod::em_kd
 Number of diagonals for EM matrix.
integer solver_mod::kdx
 Number of radial diagonals i-i' < kdx.
integer solver_mod::em_kdx
 Number of radial diagonals i-i' for EM matrices< kdx.
type(zpbmat), dimension(:), allocatable solver_mod::lhs
 array of nz/2 matrices
type(zgbmat), dimension(:), allocatable solver_mod::lhspade
type(zgbmat), dimension(:), allocatable solver_mod::lhspadesym
 General banded matrix for Padé implementation (non symmetric implementation).
logical, dimension(:), allocatable solver_mod::isnfiltlocalysolved
 array of nz/2 logical which tell if the matrix is local to this cpu
logical, dimension(:), allocatable, public solver_mod::isnfiltlocal
 array of nz/2 logical which tell if the matrix is local to this cpu
integer, public solver_mod::nbmodeslocal
 number of modes local to the cpu =(1|0)+nphip/deltan
integer, dimension(:), allocatable solver_mod::nfiltlocal
 array of local toroidal mode numbers (which require an assembled matrix)
type(zpbmat), dimension(:), allocatable solver_mod::masmat
type(pbmat) solver_mod::masmat_s
type(zpbmat), dimension(:), allocatable solver_mod::padmat
complex(kind=r8), parameter solver_mod::pzero =0e0_r8
complex(kind=r8), parameter solver_mod::pone =1e0_r8
integer, dimension(:,:), allocatable solver_mod::mmin
integer, dimension(:,:), allocatable solver_mod::mmax
integer, dimension(:,:), allocatable solver_mod::mmin_
integer solver_mod::dm
integer solver_mod::nm_min
integer solver_mod::nm_max
integer solver_mod::nm
integer solver_mod::nm2
integer solver_mod::nw
real(kind=r8) solver_mod::wmax
integer solver_mod::ixmin
integer solver_mod::ixmax
real(kind=r8) solver_mod::dw
integer solver_mod::bcs_left
integer solver_mod::bcs_right
logical solver_mod::phase_factor
integer solver_mod::curproc
integer solver_mod::fieldaligned
integer solver_mod::internal_boundary
integer, public solver_mod::multi_matrix
integer solver_mod::inner_bc
logical solver_mod::longwavelength
logical solver_mod::pade
logical solver_mod::electromagnetic
logical solver_mod::em_control_variate
logical solver_mod::pullback
logical solver_mod::efluid
integer solver_mod::species_ref
integer solver_mod::na_half_rho_ref
real(kind=r8) solver_mod::bref
real(kind=r8) solver_mod::tref
real(kind=r8) solver_mod::nref
real(kind=r8) solver_mod::omegaref
real(kind=r8) solver_mod::cref
real(kind=r8) solver_mod::rhoref
real(kind=r8) solver_mod::mref
real(kind=r8) solver_mod::qref
real(kind=r8) solver_mod::bnorm
real(kind=r8) solver_mod::lnorm
real(kind=r8), public solver_mod::tim_dyad_cumul
integer solver_mod::tgt_proc