ORB5  v4.9.4
part_fields.F90 File Reference
#include "precomp.h"
#include "deposition.inc"
#include "get_field.inc"
+ Include dependency graph for part_fields.F90:

Data Types

interface  part_fields::deposition
 

Modules

module  part_fields
 Particle-to-fields and fields-to-particle operations.
 

Macros

#define NIDBAS   1
 
#define W_LENGTH   4
 
#define W_LENGTH   8
 
#define NIDBAS   2
 
#define W_LENGTH   4
 
#define W_LENGTH   8
 
#define NIDBAS   3
 
#define W_LENGTH   4
 
#define W_LENGTH   8
 

Functions/Subroutines

subroutine, public part_fields::init_module (nidbas_, ns_, nchi_, nphi_, iz_offset_, ds_, dchi_, dphi_, xmin_, nl_gradgyr_, nsel_depos_, nsel_get_field_, nbin_x_, nbin_y_, nbin_z_, color_nbin_x_, color_nbin_y_)
 Initialize module variables. More...
 
subroutine part_fields::init_deposition_by_part
 Initialization routine for deposition by particle. More...
 
subroutine part_fields::init_deposition_by_cell
 Initialization routine for deposition by cell. More...
 
subroutine part_fields::init_deposition_by_color
 Initialization routine for deposition using the color scheme algorithm. More...
 
subroutine part_fields::init_deposition_by_color_buf
 Initialization routine for deposition using the buffered color scheme algorithm. More...
 
subroutine part_fields::deposition_r8 (np, x, y, z, w, rhs, nl_depos, displs, first)
 Deposit some marker attribute to field with the proper splines order. More...
 
subroutine part_fields::deposition_r4 (np, x, y, z, w, rhs, nl_depos, displs, first)
 Deposit some marker attribute to field with the proper splines order (r4) More...
 
subroutine part_fields::nullify_rhs_omp (ithread)
 Set rhs_omp to 0. More...
 
subroutine part_fields::nullify_rhs (rhs)
 Set rhs to 0. More...
 
subroutine part_fields::reduction_threads (rhs)
 Sum up OpenMP threads rhs replications. More...
 
subroutine, public part_fields::get_field (pot_coef, np, x, y, z, displs, pot, dpot_dx, dpot_dy, dpot_dz)
 Compute field and/or its gradient at marker positions with the proper spline order. More...
 
pure real function, dimension(0:1) part_fields::splines_bas1 (x)
 Evaluate linear B-splines at point x in interval [0, 1]. More...
 
pure real function, dimension(0:2) part_fields::splines_bas2 (x)
 Evaluate quadratic B-splines at point x in interval [0, 1]. More...
 
pure real function, dimension(0:3) part_fields::splines_bas3 (x)
 Evaluate cubic B-splines at point x in interval [0, 1]. More...
 
pure real function, dimension(0:1) part_fields::grad_splines_bas1 (x)
 Evaluate linear B-spline gradients at point x in interval [0, 1]. More...
 
pure real function, dimension(0:2) part_fields::grad_splines_bas2 (x)
 Evaluate quadratic B-spline gradients at point x in interval [0, 1]. More...
 
pure real function, dimension(0:3) part_fields::grad_splines_bas3 (x)
 Evaluate cubic B-spline gradients at point x in interval [0, 1]. More...
 

Variables

integer, save part_fields::nidbas
 Spline order. More...
 
integer, save part_fields::nx
 Number of radial intervals. More...
 
integer, save part_fields::ny
 Number of poloidal intervals. More...
 
integer, save part_fields::nz
 Number of local toroidal intervals. More...
 
integer, save part_fields::iz_offset
 Starting toroidal interval. More...
 
real, save part_fields::dx_inv
 Inverse radial mesh size. More...
 
real, save part_fields::dy_inv
 Inverse poloidal mesh size. More...
 
real, save part_fields::dz_inv
 Inverse toroidal mesh size. More...
 
real, save part_fields::xmin
 Inner boundary position. More...
 
logical, save part_fields::nl_gradgyr
 Take gradient of gyroaverage potential instead of gyroaverage gradient of potential. More...
 
integer, save part_fields::nsel_depos
 Deposition method. More...
 
integer, save part_fields::nsel_get_field
 Get field method. More...
 
integer, save part_fields::nbin_x
 Number of radial bins. More...
 
integer, save part_fields::nbin_y
 Number of poloidal bins. More...
 
integer, save part_fields::nbin_z
 Number of local toroidal bins. More...
 
integer, save part_fields::color_nbin_x
 Number of radial bins for color scheme. More...
 
integer, save part_fields::color_nbin_y
 Number of poloidal bins for color scheme. More...
 
real, dimension(:,:,:,:), allocatable, save part_fields::rhs_omp
 Working array for deposition (field replicated among OpenMP threads) More...
 
integer, dimension(:,:), allocatable, save part_fields::bin_array
 Array containing the index of the particles in a bucket. More...
 
real, dimension(:,:,:), allocatable, save part_fields::color_buffer
 Buffer used for the buffered version of color scheme. More...
 
integer, save part_fields::number_of_bins_per_bucket
 
integer, save part_fields::number_of_buckets
 Number of bins per bucket and total # of buckets. More...
 
integer, save part_fields::nbin_x_avg
 
integer, save part_fields::nbin_y_avg
 Number of sorting bins in each color bucket. More...
 
logical, save part_fields::use_vectorized = .false.
 Flag to use the vectorized version. More...
 
integer, save part_fields::grid_cells_in_x_color_bucket
 Number of grid cell per bucket in s. More...
 
integer, save part_fields::grid_cells_in_y_color_bucket
 Number of grid cell per bucket in chi. More...
 
integer, save part_fields::k_start
 
integer, save part_fields::k_end
 Indexes of the local subdomain. More...
 

Macro Definition Documentation

◆ NIDBAS [1/3]

#define NIDBAS   1

◆ NIDBAS [2/3]

#define NIDBAS   2

◆ NIDBAS [3/3]

#define NIDBAS   3

◆ W_LENGTH [1/6]

#define W_LENGTH   4

◆ W_LENGTH [2/6]

#define W_LENGTH   8

◆ W_LENGTH [3/6]

#define W_LENGTH   4

◆ W_LENGTH [4/6]

#define W_LENGTH   8

◆ W_LENGTH [5/6]

#define W_LENGTH   4

◆ W_LENGTH [6/6]

#define W_LENGTH   8