![]() |
ORB5
v4.9.4
|
Functions/Subroutines | |
subroutine, public | 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 | destroysolvermodule () |
subroutine, public | assemblyrhs_tests (rhs_f, nmat, nqx, nqy) |
Project analytical field on B-splines. More... | |
subroutine, public | assemblyrhs_antenna (rhs_f, nmat, nqx, nqy, phase_shift, sprof, prof, nprof) |
Project antenna's analytical field on B-splines, adapted from assemblyRHS_tests. More... | |
subroutine, public | assemblymatrix (nqx, nqy) |
subroutine | assemblymassmatrix (nqx, nqy) |
subroutine, public | assemblyboltzman (isp, nqx, nqy, remove_trap_contribution) |
subroutine, public | assemblyboltzman_zf (isp, nqx, nqy, remove_trap_contribution, oldAvgJac) |
Assemble the ZF contribution of the adiabatic electrons to the LHS matrix. More... | |
subroutine, public | assemblyboltzmannpade (isp, nqx, nqy, remove_trap_contribution) |
Assembly of the pade approximation for adiabatic electrons without zonal flows. More... | |
subroutine, public | assemblyboltzmannpade_zf (isp, nqx, nqy, remove_trap_contribution) |
Computes Pade correction to the adiabatic electron model for zonal flows. More... | |
subroutine, public | assemblypoldrift_longwavelength_fourier (isp, nqx, nqy) |
subroutine, public | assemblypadematforrhs (isp, nqx, nqy) |
subroutine | domainofintegrationextended (imin, isp, smin, smax, ixmin_int, ixmax_int) |
subroutine, public | assemblypoldrift_arbitrary_wavelength_fourier (isp, nqx, nqy, iymin, iymax) |
logical function | fieldmodefilter (i, m, n) |
subroutine, public | assemblylhsfinalize () |
Boundary conditions, and merge of different matrices. More... | |
subroutine, public | finalizematrix () |
Boundary conditions, and merge of different matrices. More... | |
subroutine | backsolvephi (rhs_in, sol, sol_dft) |
Input is the RHS project on BSplines. More... | |
subroutine | backsolvephi_ (rhs_f, sol_dft) |
subroutine, public | backsolve_rhs_f (rhs_f, nmat, matnum) |
Input is the RHS in fourier and the toroidal mode number to backsolve. More... | |
subroutine | backsolve_rhs_f_julien (rhs_f, nmat) |
subroutine, public | backsolve_rhs_f_multi (rhs_f, nmat, matnum) |
subroutine, public | backsolve_mass_f (arr_f, out_f, nmat) |
Backsolve any quantity with the mass matrix (diagnostics purpose) More... | |
subroutine, public | multiply_mass_f (arr_f, nmat) |
Multiply by mass matrix arr_f = masmat(nmat) * arr_f. More... | |
subroutine, public | backsolve_mass_s (arr_f, out_f) |
Backsolve any quantity with the mass matrix (diagnostics purpose) More... | |
subroutine, public | backsolve_mass_sn (arr_, out_, nmode) |
double precision function, public | computetoroidalmasscoeff (n) |
subroutine, public | print_matrix_gbmatf (Mval, nqsmin, nx_, ny_, degree_, filename) |
integer function | getlocaltoroidalindex (n) |
subroutine, public | reduce_matrix (ierr, comm_, tgt_, me_) |
Perform a reduction by sum of the LHS. More... | |
subroutine, public | broadcast_matrix (ierr, comm_, src_, me_) |
subroutine | broadcast_matrix_julien (ierr, comm_, src_, me_) |
subroutine | broadcast_matrix_multi (ierr, comm_, src_) |
subroutine | dft1d (input, output, nx, ny) |
Compute the DFT of the RHS. More... | |
subroutine | 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) More... | |
subroutine | dftinverse1d (input, output, nx, ny) |
Compute the DFT of the RHS and divide it by the coeff m^(n). More... | |
subroutine | dftinverse1d_rc (input, output, nx, ny) |
Compute the DFT of the RHS and divide it by the coeff m^(n). More... | |
subroutine | dftinverse1d_full (input, output, nx, ny) |
Compute the DFT of the RHS and divide it by the coeff m^(n). More... | |
subroutine | def_matrix_filter_new |
subroutine, public | copy_matrix_filter (ixmin, ixmax, n, mmmincopy) |
subroutine | reality_condition (v_dft, ny, ny2) |
subroutine | print_rhs_debug (rhs, n) |
Print rhs array. More... | |
subroutine | print_phi_debug (phi, n) |
Print phi array. More... | |
subroutine | print_matrix_zpbmat (Mname, M, n) |
Print zpbmat matrix. More... | |
subroutine | init_multi_matrix (lapl_boundary_terms) |
Variables | |
integer | na_eff_lim |
integer | testcase |
integer | jj |
double precision, parameter | eqsign =-1d0 |
integer | kd |
Number of diagonals. More... | |
integer | em_kd |
Number of diagonals for EM matrix. More... | |
integer | kdx |
Number of radial diagonals i-i' < kdx. More... | |
integer | em_kdx |
Number of radial diagonals i-i' for EM matrices< kdx. More... | |
type(zpbmat), dimension(:), allocatable | lhs |
array of nz/2 matrices More... | |
type(zgbmat), dimension(:), allocatable | lhspade |
type(zgbmat), dimension(:), allocatable | lhspadesym |
General banded matrix for Padé implementation (non symmetric implementation) More... | |
logical, dimension(:), allocatable | isnfiltlocalysolved |
array of nz/2 logical which tell if the matrix is local to this cpu More... | |
logical, dimension(:), allocatable, public | isnfiltlocal |
array of nz/2 logical which tell if the matrix is local to this cpu More... | |
integer, public | nbmodeslocal |
number of modes local to the cpu =(1|0)+nphip/deltan More... | |
integer, dimension(:), allocatable | nfiltlocal |
array of local toroidal mode numbers (which require an assembled matrix) More... | |
type(zpbmat), dimension(:), allocatable | masmat |
type(pbmat) | masmat_s |
type(zpbmat), dimension(:), allocatable | padmat |
complex, parameter | pzero =0d0 |
complex, parameter | pone =1d0 |
integer, dimension(:,:), allocatable | mmin |
integer, dimension(:,:), allocatable | mmax |
integer, dimension(:,:), allocatable | mmin_ |
integer | dm |
integer | nm_min |
integer | nm_max |
integer | nm |
integer | nm2 |
integer | nw |
real | wmax |
integer | ixmin |
integer | ixmax |
real | dw |
integer | bcs_left |
integer | bcs_right |
logical | phase_factor |
integer | curproc |
integer | fieldaligned |
integer | internal_boundary |
integer, public | multi_matrix |
integer | inner_bc |
logical | longwavelength |
logical | pade |
logical | electromagnetic |
logical | em_control_variate |
logical | pullback |
logical | efluid |
integer | species_ref |
integer | na_half_rho_ref |
real | bref |
real | tref |
real | nref |
real | omegaref |
real | cref |
real | rhoref |
real | mref |
real | qref |
real | bnorm |
real | lnorm |
real, public | tim_dyad_cumul |
integer | tgt_proc |
subroutine, public solver_mod::assemblyboltzman | ( | integer, intent(in) | isp, |
integer, intent(in) | nqx, | ||
integer, intent(in) | nqy, | ||
logical, intent(in) | remove_trap_contribution | ||
) |
subroutine, public solver_mod::assemblyboltzman_zf | ( | integer, intent(in) | isp, |
integer, intent(in) | nqx, | ||
integer, intent(in) | nqy, | ||
logical, intent(in) | remove_trap_contribution, | ||
logical | oldAvgJac | ||
) |
Assemble the ZF contribution of the adiabatic electrons to the LHS matrix.
subroutine, public solver_mod::assemblyboltzmannpade | ( | integer, intent(in) | isp, |
integer, intent(in) | nqx, | ||
integer, intent(in) | nqy, | ||
logical, intent(in) | remove_trap_contribution | ||
) |
Assembly of the pade approximation for adiabatic electrons without zonal flows.
subroutine, public solver_mod::assemblyboltzmannpade_zf | ( | integer, intent(in) | isp, |
integer, intent(in) | nqx, | ||
integer, intent(in) | nqy, | ||
logical, intent(in) | remove_trap_contribution | ||
) |
Computes Pade correction to the adiabatic electron model for zonal flows.
subroutine, public solver_mod::assemblylhsfinalize |
Boundary conditions, and merge of different matrices.
subroutine solver_mod::assemblymassmatrix | ( | integer, intent(in) | nqx, |
integer, intent(in) | nqy | ||
) |
subroutine, public solver_mod::assemblymatrix | ( | integer, intent(in) | nqx, |
integer, intent(in) | nqy | ||
) |
subroutine, public solver_mod::assemblypadematforrhs | ( | integer, intent(in) | isp, |
integer, intent(in) | nqx, | ||
integer, intent(in) | nqy | ||
) |
subroutine, public solver_mod::assemblypoldrift_arbitrary_wavelength_fourier | ( | integer, intent(in) | isp, |
integer, intent(in) | nqx, | ||
integer, intent(in) | nqy, | ||
integer, intent(in) | iymin, | ||
integer, intent(in) | iymax | ||
) |
subroutine, public solver_mod::assemblypoldrift_longwavelength_fourier | ( | integer, intent(in) | isp, |
integer, intent(in) | nqx, | ||
integer, intent(in) | nqy | ||
) |
subroutine, public solver_mod::assemblyrhs_antenna | ( | complex, dimension(:), intent(out) | rhs_f, |
integer, intent(in) | nmat, | ||
integer, intent(in) | nqx, | ||
integer, intent(in) | nqy, | ||
real, intent(in) | phase_shift, | ||
real, dimension(:), intent(in), allocatable | sprof, | ||
real, dimension(:), intent(in), allocatable | prof, | ||
integer, intent(in) | nprof | ||
) |
Project antenna's analytical field on B-splines, adapted from assemblyRHS_tests.
[out] | rhs_f | DFT of \(\hat b_{ijk}=\int J_{s\chi\varphi}(s,\chi)f(s,\chi,\varphi)\Lambda_i(s)\Lambda_j(\chi)\Lambda_k(\varphi)~ds~d\chi~d\varphi\) |
[in] | nmat | Toroidal mode number |
[in] | nqx | Number of quadrature points in each radial cell |
[in] | nqy | Number of quadrature points in each poloidal cell |
[in] | phase_shift | Modes phase shift |
[in] | sprof | Radial positions of antenna profile, used if nsel_profile==interp |
[in] | prof | Values of antenna profile at s positions, used if nsel_profile==interp |
[in] | nprof | Number of points of antenna profile, used if nsel_profile==interp |
subroutine, public solver_mod::assemblyrhs_tests | ( | complex, dimension(:), intent(inout) | rhs_f, |
integer, intent(in) | nmat, | ||
integer, intent(in) | nqx, | ||
integer, intent(in) | nqy | ||
) |
Project analytical field on B-splines.
subroutine, public solver_mod::backsolve_mass_f | ( | complex, dimension(:), intent(in) | arr_f, |
complex, dimension(:), intent(out) | out_f, | ||
integer, intent(in) | nmat | ||
) |
Backsolve any quantity with the mass matrix (diagnostics purpose)
subroutine, public solver_mod::backsolve_mass_s | ( | real, dimension(:), intent(in) | arr_f, |
real, dimension(:), intent(out) | out_f | ||
) |
Backsolve any quantity with the mass matrix (diagnostics purpose)
subroutine, public solver_mod::backsolve_mass_sn | ( | real, dimension(:), intent(in) | arr_, |
real, dimension(:), intent(out) | out_, | ||
integer, intent(in) | nmode | ||
) |
subroutine, public solver_mod::backsolve_rhs_f | ( | complex, dimension(:), intent(inout) | rhs_f, |
integer, intent(in) | nmat, | ||
integer, intent(in) | matnum | ||
) |
Input is the RHS in fourier and the toroidal mode number to backsolve.
[in,out] | rhs_f | Right-hand side matrix |
[in] | nmat | Toroidal mode number \(n\) |
|
private |
[in,out] | rhs_f | Right-hand side matrix |
[in] | nmat | Toroidal mode number \(n\) |
subroutine, public solver_mod::backsolve_rhs_f_multi | ( | complex, dimension(:), intent(inout) | rhs_f, |
integer, intent(in) | nmat, | ||
integer, intent(in) | matnum | ||
) |
[in,out] | rhs_f | Right-hand side matrix |
[in] | nmat | Toroidal mode number \(n\) |
[in] | matnum | which matrix is to be back-solved |
subroutine solver_mod::backsolvephi | ( | double precision, dimension(:), intent(in) | rhs_in, |
double precision, dimension(:,:), intent(inout) | sol, | ||
double precision, dimension(:,:,:), intent(inout) | sol_dft | ||
) |
Input is the RHS project on BSplines.
|
private |
subroutine, public solver_mod::broadcast_matrix | ( | integer, intent(inout) | ierr, |
type(mpi_comm), intent(in) | comm_, | ||
integer, intent(in) | src_, | ||
integer, intent(in) | me_ | ||
) |
|
private |
|
private |
double precision function, public solver_mod::computetoroidalmasscoeff | ( | integer, intent(in) | n | ) |
subroutine, public solver_mod::copy_matrix_filter | ( | integer, intent(in) | ixmin, |
integer, intent(in) | ixmax, | ||
integer, intent(in) | n, | ||
integer, dimension(:), intent(inout) | mmmincopy | ||
) |
|
private |
subroutine, public solver_mod::destroysolvermodule |
|
private |
Compute the DFT of the RHS.
|
private |
Compute the DFT of the RHS and divide it by the coeff m^(n). isign=-1 (=_FFTW_FORWARD) or +1 (=_FFTW_BACKWARD)
|
private |
Compute the DFT of the RHS and divide it by the coeff m^(n).
|
private |
Compute the DFT of the RHS and divide it by the coeff m^(n).
|
private |
Compute the DFT of the RHS and divide it by the coeff m^(n).
subroutine solver_mod::domainofintegrationextended | ( | integer, intent(in) | imin, |
integer, intent(in) | isp, | ||
real, intent(inout) | smin, | ||
real, intent(inout) | smax, | ||
integer, intent(inout) | ixmin_int, | ||
integer, intent(inout) | ixmax_int | ||
) |
|
private |
subroutine, public solver_mod::finalizematrix |
Boundary conditions, and merge of different matrices.
integer function solver_mod::getlocaltoroidalindex | ( | integer, intent(in) | n | ) |
subroutine solver_mod::init_multi_matrix | ( | logical, intent(in) | lapl_boundary_terms | ) |
subroutine, public solver_mod::initsolvermodule | ( | integer, intent(in) | me_assembly, |
integer, intent(in) | tgt_assembly, | ||
integer, intent(in) | color, | ||
integer, intent(in) | nx_, | ||
integer, intent(in) | nz_, | ||
integer, intent(in) | nw_, | ||
double precision, intent(in) | wmax_, | ||
integer, intent(in) | kdx_, | ||
integer, intent(in) | em_kdx_, | ||
integer, intent(in) | dm_, | ||
logical, intent(in) | electromagnetic_, | ||
logical, intent(in) | em_control_variate_, | ||
logical, intent(in) | pullback_, | ||
integer, intent(in) | fieldaligned_, | ||
logical, intent(in) | longwavelength_, | ||
integer, intent(in) | na_half_rho_ref_, | ||
logical, intent(in) | phase_factor_, | ||
logical, dimension(0:nz_/2), intent(in) | isnfiltlocal_, | ||
logical, dimension(0:nz_/2), intent(in) | isnfiltlocalysolved_, | ||
integer, intent(in) | NBmodeslocal_, | ||
integer, dimension(1:nbmodeslocal_), intent(in) | nfiltlocal_, | ||
integer, intent(in) | navgmax_, | ||
integer, intent(in) | testcase_, | ||
integer, intent(in) | internal_boundary_, | ||
logical, intent(in) | pade_, | ||
integer, intent(in) | multi_matrix_, | ||
integer, intent(in) | inner_BC_, | ||
logical, intent(in) | lapl_boundary_terms_ | ||
) |
subroutine, public solver_mod::multiply_mass_f | ( | complex, dimension(:), intent(inout) | arr_f, |
integer, intent(in) | nmat | ||
) |
Multiply by mass matrix arr_f = masmat(nmat) * arr_f.
[in,out] | arr_f | Array in Fourier representation |
[in] | nmat | Toroidal mode number |
subroutine, public solver_mod::print_matrix_gbmatf | ( | complex, dimension(:,:), intent(in) | Mval, |
integer, dimension(:), intent(in) | nqsmin, | ||
integer, intent(in) | nx_, | ||
integer, intent(in) | ny_, | ||
integer, intent(in) | degree_, | ||
character(*), intent(in) | filename | ||
) |
subroutine solver_mod::print_matrix_zpbmat | ( | character(3) | Mname, |
type(zpbmat), intent(in) | M, | ||
integer, intent(in) | n | ||
) |
Print zpbmat matrix.
subroutine solver_mod::print_phi_debug | ( | double complex, dimension(:), intent(in) | phi, |
integer, intent(in) | n | ||
) |
Print phi array.
|
private |
Print rhs array.
|
private |
subroutine, public solver_mod::reduce_matrix | ( | integer, intent(inout) | ierr, |
type(mpi_comm), intent(in) | comm_, | ||
integer, intent(in) | tgt_, | ||
integer, intent(in) | me_ | ||
) |
Perform a reduction by sum of the LHS.
[in,out] | ierr | Error flag |
[in] | comm_ | Communicator |
[in] | tgt_ | Rank of the target process to which send the reduction |
[in] | me_ | Rank of the current process |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Number of diagonals for EM matrix.
|
private |
Number of radial diagonals i-i' for EM matrices< kdx.
|
private |
|
private |
|
private |
|
private |
logical, dimension(:), allocatable, public solver_mod::isnfiltlocal |
array of nz/2 logical which tell if the matrix is local to this cpu
|
private |
array of nz/2 logical which tell if the matrix is local to this cpu
|
private |
|
private |
|
private |
|
private |
Number of diagonals.
|
private |
Number of radial diagonals i-i' < kdx.
|
private |
array of nz/2 matrices
|
private |
|
private |
General banded matrix for Padé implementation (non symmetric implementation)
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
integer, public solver_mod::multi_matrix |
|
private |
|
private |
integer, public solver_mod::nbmodeslocal |
number of modes local to the cpu =(1|0)+nphip/deltan
|
private |
array of local toroidal mode numbers (which require an assembled matrix)
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
real, public solver_mod::tim_dyad_cumul |
|
private |
|
private |