![]() |
ORB5
4.00
|
Particle-to-fields and fields-to-particle operations. More...
Data Types | |
| interface | deposition |
Functions/Subroutines | |
| subroutine, public | 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. | |
| subroutine | init_deposition_by_part |
| Initialization routine for deposition by particle. | |
| subroutine | init_deposition_by_cell |
| Initialization routine for deposition by cell. | |
| subroutine | init_deposition_by_color |
| Initialization routine for deposition using the color scheme algorithm. | |
| subroutine | init_deposition_by_color_buf |
| Initialization routine for deposition using the buffered color scheme algorithm. | |
| subroutine | deposition_r4_bas1 (np, x, y, z, w, rhs, nl_depos, displs, first) |
| Deposit marker attribute to field with splines of order 1. | |
| subroutine | deposition_r4_by_part_bas1 (np, x, y, z, w, rhs, nl_depos, first) |
| Loop on particles version of deposition_r4_bas1. | |
| subroutine | deposition_r4_by_cell_bas1 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Loop on cells version of deposition_r4_bas1. | |
| subroutine | deposition_r4_by_color_bas1 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Color scheme algorithm version of deposition_r4_bas1. | |
| subroutine | deposition_r4_by_color_buf_bas1 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Buffer color scheme algorithm version of deposition_r4_bas1. | |
| subroutine | deposition_r8_bas1 (np, x, y, z, w, rhs, nl_depos, displs, first) |
| Deposit marker attribute to field with splines of order 1. | |
| subroutine | deposition_r8_by_part_bas1 (np, x, y, z, w, rhs, nl_depos, first) |
| Loop on particles version of deposition_r8_bas1. | |
| subroutine | deposition_r8_by_cell_bas1 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Loop on cells version of deposition_r8_bas1. | |
| subroutine | deposition_r8_by_color_bas1 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Color scheme algorithm version of deposition_r8_bas1. | |
| subroutine | deposition_r8_by_color_buf_bas1 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Buffer color scheme algorithm version of deposition_r8_bas1. | |
| subroutine | get_field_bas1 (pot_coef, np, x, y, z, displs, pot, dpot_dx, dpot_dy, dpot_dz) |
| Compute the field and/or its gradient at marker positions with splines of order 1. | |
| subroutine | get_field_by_part_bas1 (pot_coef, np, x, y, z, pot, dpot_dx, dpot_dy, dpot_dz) |
| Loop on particles version of get_field_bas1. | |
| subroutine | get_field_by_cell_bas1 (pot_coef, np, x, y, z, displs, pot, dpot_dx, dpot_dy, dpot_dz) |
| Loop on cells version of get_field_bas1. | |
| subroutine | deposition_r4_bas2 (np, x, y, z, w, rhs, nl_depos, displs, first) |
| Deposit marker attribute to field with splines of order 2. | |
| subroutine | deposition_r4_by_part_bas2 (np, x, y, z, w, rhs, nl_depos, first) |
| Loop on particles version of deposition_r4_bas2. | |
| subroutine | deposition_r4_by_cell_bas2 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Loop on cells version of deposition_r4_bas2. | |
| subroutine | deposition_r4_by_color_bas2 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Color scheme algorithm version of deposition_r4_bas2. | |
| subroutine | deposition_r4_by_color_buf_bas2 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Buffer color scheme algorithm version of deposition_r4_bas2. | |
| subroutine | deposition_r8_bas2 (np, x, y, z, w, rhs, nl_depos, displs, first) |
| Deposit marker attribute to field with splines of order 2. | |
| subroutine | deposition_r8_by_part_bas2 (np, x, y, z, w, rhs, nl_depos, first) |
| Loop on particles version of deposition_r8_bas2. | |
| subroutine | deposition_r8_by_cell_bas2 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Loop on cells version of deposition_r8_bas2. | |
| subroutine | deposition_r8_by_color_bas2 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Color scheme algorithm version of deposition_r8_bas2. | |
| subroutine | deposition_r8_by_color_buf_bas2 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Buffer color scheme algorithm version of deposition_r8_bas2. | |
| subroutine | get_field_bas2 (pot_coef, np, x, y, z, displs, pot, dpot_dx, dpot_dy, dpot_dz) |
| Compute the field and/or its gradient at marker positions with splines of order 2. | |
| subroutine | get_field_by_part_bas2 (pot_coef, np, x, y, z, pot, dpot_dx, dpot_dy, dpot_dz) |
| Loop on particles version of get_field_bas2. | |
| subroutine | get_field_by_cell_bas2 (pot_coef, np, x, y, z, displs, pot, dpot_dx, dpot_dy, dpot_dz) |
| Loop on cells version of get_field_bas2. | |
| subroutine | deposition_r4_bas3 (np, x, y, z, w, rhs, nl_depos, displs, first) |
| Deposit marker attribute to field with splines of order 3. | |
| subroutine | deposition_r4_by_part_bas3 (np, x, y, z, w, rhs, nl_depos, first) |
| Loop on particles version of deposition_r4_bas3. | |
| subroutine | deposition_r4_by_cell_bas3 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Loop on cells version of deposition_r4_bas3. | |
| subroutine | deposition_r4_by_color_bas3 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Color scheme algorithm version of deposition_r4_bas3. | |
| subroutine | deposition_r4_by_color_buf_bas3 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Buffer color scheme algorithm version of deposition_r4_bas3. | |
| subroutine | deposition_r8_bas3 (np, x, y, z, w, rhs, nl_depos, displs, first) |
| Deposit marker attribute to field with splines of order 3. | |
| subroutine | deposition_r8_by_part_bas3 (np, x, y, z, w, rhs, nl_depos, first) |
| Loop on particles version of deposition_r8_bas3. | |
| subroutine | deposition_r8_by_cell_bas3 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Loop on cells version of deposition_r8_bas3. | |
| subroutine | deposition_r8_by_color_bas3 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Color scheme algorithm version of deposition_r8_bas3. | |
| subroutine | deposition_r8_by_color_buf_bas3 (np, x, y, z, w, rhs, displs, nl_depos, first) |
| Buffer color scheme algorithm version of deposition_r8_bas3. | |
| subroutine | get_field_bas3 (pot_coef, np, x, y, z, displs, pot, dpot_dx, dpot_dy, dpot_dz) |
| Compute the field and/or its gradient at marker positions with splines of order 3. | |
| subroutine | get_field_by_part_bas3 (pot_coef, np, x, y, z, pot, dpot_dx, dpot_dy, dpot_dz) |
| Loop on particles version of get_field_bas3. | |
| subroutine | get_field_by_cell_bas3 (pot_coef, np, x, y, z, displs, pot, dpot_dx, dpot_dy, dpot_dz) |
| Loop on cells version of get_field_bas3. | |
| subroutine | deposition_r8 (np, x, y, z, w, rhs, nl_depos, displs, first) |
| Deposit some marker attribute to field with the proper splines order. | |
| subroutine | deposition_r4 (np, x, y, z, w, rhs, nl_depos, displs, first) |
| Deposit some marker attribute to field with the proper splines order (r4). | |
| subroutine | nullify_rhs_omp (ithread) |
| Set rhs_omp to 0. | |
| subroutine | nullify_rhs (rhs) |
| Set rhs to 0. | |
| subroutine | reduction_threads (rhs) |
| Sum up OpenMP threads rhs replications. | |
| subroutine, public | 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. | |
| pure real(kind=r8) function, dimension(0:1) | splines_bas1 (x) |
| Evaluate linear B-splines at point x in interval [0, 1]. | |
| pure real(kind=r8) function, dimension(0:2) | splines_bas2 (x) |
| Evaluate quadratic B-splines at point x in interval [0, 1]. | |
| pure real(kind=r8) function, dimension(0:3) | splines_bas3 (x) |
| Evaluate cubic B-splines at point x in interval [0, 1]. | |
| pure real(kind=r8) function, dimension(0:1) | grad_splines_bas1 (x) |
| Evaluate linear B-spline gradients at point x in interval [0, 1]. | |
| pure real(kind=r8) function, dimension(0:2) | grad_splines_bas2 (x) |
| Evaluate quadratic B-spline gradients at point x in interval [0, 1]. | |
| pure real(kind=r8) function, dimension(0:3) | grad_splines_bas3 (x) |
| Evaluate cubic B-spline gradients at point x in interval [0, 1]. | |
Variables | |
| integer, save | nidbas |
| Spline order. | |
| integer, save | nx |
| Number of radial intervals. | |
| integer, save | ny |
| Number of poloidal intervals. | |
| integer, save | nz |
| Number of local toroidal intervals. | |
| integer, save | iz_offset |
| Starting toroidal interval. | |
| real(kind=r8), save | dx_inv |
| Inverse radial mesh size. | |
| real(kind=r8), save | dy_inv |
| Inverse poloidal mesh size. | |
| real(kind=r8), save | dz_inv |
| Inverse toroidal mesh size. | |
| real(kind=r8), save | xmin |
| Inner boundary position. | |
| logical, save | nl_gradgyr |
| Take gradient of gyroaverage potential instead of gyroaverage gradient of potential. | |
| integer, save | nsel_depos |
| Deposition method. | |
| integer, save | nsel_get_field |
| Get field method. | |
| integer, save | nbin_x |
| Number of radial bins. | |
| integer, save | nbin_y |
| Number of poloidal bins. | |
| integer, save | nbin_z |
| Number of local toroidal bins. | |
| integer, save | color_nbin_x |
| Number of radial bins for color scheme. | |
| integer, save | color_nbin_y |
| Number of poloidal bins for color scheme. | |
| real(kind=r8), dimension(:,:,:,:), allocatable, save | rhs_omp |
| Working array for deposition (field replicated among OpenMP threads). | |
| integer, dimension(:,:), allocatable, save | bin_array |
| Array containing the index of the particles in a bucket. | |
| real(kind=r8), dimension(:,:,:), allocatable, save | color_buffer |
| Buffer used for the buffered version of color scheme. | |
| integer, save | number_of_bins_per_bucket |
| integer, save | number_of_buckets |
| Number of bins per bucket and total # of buckets. | |
| integer, save | nbin_x_avg |
| integer, save | nbin_y_avg |
| Number of sorting bins in each color bucket. | |
| logical, save | use_vectorized = .false. |
| Flag to use the vectorized version. | |
| integer, save | grid_cells_in_x_color_bucket |
| Number of grid cell per bucket in s. | |
| integer, save | grid_cells_in_y_color_bucket |
| Number of grid cell per bucket in chi. | |
| integer, save | k_start |
| integer, save | k_end |
| Indexes of the local subdomain. | |
Particle-to-fields and fields-to-particle operations.
In this module,
|
private |
Deposit some marker attribute to field with the proper splines order (r4).
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flags to deposit markers or not |
| [in] | displs | Displacements to access markers in specific bin |
|
private |
Deposit marker attribute to field with splines of order 1.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | first | Flag to indicate first iteration of deposition |
|
private |
Deposit marker attribute to field with splines of order 2.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | first | Flag to indicate first iteration of deposition |
|
private |
Deposit marker attribute to field with splines of order 3.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | first | Flag to indicate first iteration of deposition |
|
private |
Loop on cells version of deposition_r4_bas1.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Loop on cells version of deposition_r4_bas2.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Loop on cells version of deposition_r4_bas3.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Color scheme algorithm version of deposition_r4_bas1.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Color scheme algorithm version of deposition_r4_bas2.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Color scheme algorithm version of deposition_r4_bas3.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Buffer color scheme algorithm version of deposition_r4_bas1.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Buffer color scheme algorithm version of deposition_r4_bas2.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Buffer color scheme algorithm version of deposition_r4_bas3.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Loop on particles version of deposition_r4_bas1.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag to indicate first iteration of deposition |
|
private |
Loop on particles version of deposition_r4_bas2.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag to indicate first iteration of deposition |
|
private |
Loop on particles version of deposition_r4_bas3.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag to indicate first iteration of deposition |
|
private |
Deposit some marker attribute to field with the proper splines order.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | first | Flag to indicate first deposition iteration |
|
private |
Deposit marker attribute to field with splines of order 1.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | first | Flag to indicate first iteration of deposition |
|
private |
Deposit marker attribute to field with splines of order 2.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | first | Flag to indicate first iteration of deposition |
|
private |
Deposit marker attribute to field with splines of order 3.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | first | Flag to indicate first iteration of deposition |
|
private |
Loop on cells version of deposition_r8_bas1.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Loop on cells version of deposition_r8_bas2.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Loop on cells version of deposition_r8_bas3.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Color scheme algorithm version of deposition_r8_bas1.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Color scheme algorithm version of deposition_r8_bas2.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Color scheme algorithm version of deposition_r8_bas3.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Buffer color scheme algorithm version of deposition_r8_bas1.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Buffer color scheme algorithm version of deposition_r8_bas2.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Buffer color scheme algorithm version of deposition_r8_bas3.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | displs | Displacements to access markers in specific bin |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag indicating first iteration when reusing atts buffers |
|
private |
Loop on particles version of deposition_r8_bas1.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag to indicate first iteration of deposition |
|
private |
Loop on particles version of deposition_r8_bas2.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag to indicate first iteration of deposition |
|
private |
Loop on particles version of deposition_r8_bas3.
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | w | Marker attribute to be deposited |
| [out] | rhs | Resulting field |
| [in] | nl_depos | Flags to deposit markers or not |
| [in] | first | Flag to indicate first iteration of deposition |
| subroutine, public part_fields::get_field | ( | real(kind=r8), dimension(0:nx+nidbas-1, 0:ny+nidbas-1, 0:nz+nidbas-1), intent(in) | pot_coef, |
| integer, intent(in) | np, | ||
| real(kind=r8), dimension(np), intent(in) | x, | ||
| real(kind=r8), dimension(np), intent(in) | y, | ||
| real(kind=r8), dimension(np), intent(in) | z, | ||
| integer, dimension(:), intent(in), optional | displs, | ||
| real(kind=r8), dimension(np), intent(out), optional | pot, | ||
| real(kind=r8), dimension(np), intent(out), optional | dpot_dx, | ||
| real(kind=r8), dimension(np), intent(out), optional | dpot_dy, | ||
| real(kind=r8), dimension(np), intent(out), optional | dpot_dz ) |
Compute field and/or its gradient at marker positions with the proper spline order.
| [in] | pot_coef | Field B-spline coefficients |
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | displs | Displacements to access markers in specific bin |
| [out] | pot | Potential at marker positions |
| [out] | dpot_dx | Radial derivative of potential |
| [out] | dpot_dy | Poloidal derivative of potential |
| [out] | dpot_dz | Toroidal derivative of potential |
|
private |
Compute the field and/or its gradient at marker positions with splines of order 1.
| [in] | pot_coef | Potential B-spline coefficients |
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | displs | Displacements to access markers in specific bin |
| [out] | pot | Potential at marker positions |
| [out] | dpot_dx | Radial derivative of potential |
| [out] | dpot_dy | Poloidal derivative of potential |
| [out] | dpot_dz | Toroidal derivative of potential |
|
private |
Compute the field and/or its gradient at marker positions with splines of order 2.
| [in] | pot_coef | Potential B-spline coefficients |
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | displs | Displacements to access markers in specific bin |
| [out] | pot | Potential at marker positions |
| [out] | dpot_dx | Radial derivative of potential |
| [out] | dpot_dy | Poloidal derivative of potential |
| [out] | dpot_dz | Toroidal derivative of potential |
|
private |
Compute the field and/or its gradient at marker positions with splines of order 3.
| [in] | pot_coef | Potential B-spline coefficients |
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | displs | Displacements to access markers in specific bin |
| [out] | pot | Potential at marker positions |
| [out] | dpot_dx | Radial derivative of potential |
| [out] | dpot_dy | Poloidal derivative of potential |
| [out] | dpot_dz | Toroidal derivative of potential |
|
private |
Loop on cells version of get_field_bas1.
| [in] | pot_coef | Potential B-spline coefficients |
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | displs | Displacements to access markers in specific bin |
| [out] | pot | Potential at marker positions |
| [out] | dpot_dx | Radial derivative of potential |
| [out] | dpot_dy | Poloidal derivative of potential |
| [out] | dpot_dz | Toroidal derivative of potential |
|
private |
Loop on cells version of get_field_bas2.
| [in] | pot_coef | Potential B-spline coefficients |
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | displs | Displacements to access markers in specific bin |
| [out] | pot | Potential at marker positions |
| [out] | dpot_dx | Radial derivative of potential |
| [out] | dpot_dy | Poloidal derivative of potential |
| [out] | dpot_dz | Toroidal derivative of potential |
|
private |
Loop on cells version of get_field_bas3.
| [in] | pot_coef | Potential B-spline coefficients |
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [in] | displs | Displacements to access markers in specific bin |
| [out] | pot | Potential at marker positions |
| [out] | dpot_dx | Radial derivative of potential |
| [out] | dpot_dy | Poloidal derivative of potential |
| [out] | dpot_dz | Toroidal derivative of potential |
|
private |
Loop on particles version of get_field_bas1.
| [in] | pot_coef | Potential B-spline coefficients |
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [out] | pot | Potential at marker positions |
| [out] | dpot_dx | Radial derivative of potential |
| [out] | dpot_dy | Poloidal derivative of potential |
| [out] | dpot_dz | Toroidal derivative of potential |
|
private |
Loop on particles version of get_field_bas2.
| [in] | pot_coef | Potential B-spline coefficients |
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [out] | pot | Potential at marker positions |
| [out] | dpot_dx | Radial derivative of potential |
| [out] | dpot_dy | Poloidal derivative of potential |
| [out] | dpot_dz | Toroidal derivative of potential |
|
private |
Loop on particles version of get_field_bas3.
| [in] | pot_coef | Potential B-spline coefficients |
| [in] | np | Number of markers |
| [in] | x | Marker radial positions |
| [in] | y | Marker poloidal positions |
| [in] | z | Marker toroidal positions |
| [out] | pot | Potential at marker positions |
| [out] | dpot_dx | Radial derivative of potential |
| [out] | dpot_dy | Poloidal derivative of potential |
| [out] | dpot_dz | Toroidal derivative of potential |
|
private |
Evaluate linear B-spline gradients at point x in interval [0, 1].
|
private |
Evaluate quadratic B-spline gradients at point x in interval [0, 1].
|
private |
Evaluate cubic B-spline gradients at point x in interval [0, 1].
|
private |
Initialization routine for deposition by cell.
|
private |
Initialization routine for deposition using the color scheme algorithm.
|
private |
Initialization routine for deposition using the buffered color scheme algorithm.
|
private |
Initialization routine for deposition by particle.
| subroutine, public part_fields::init_module | ( | integer, intent(in) | nidbas_, |
| integer, intent(in) | ns_, | ||
| integer, intent(in) | nchi_, | ||
| integer, intent(in) | nphi_, | ||
| integer, intent(in) | iz_offset_, | ||
| real(kind=r8), intent(in) | ds_, | ||
| real(kind=r8), intent(in) | dchi_, | ||
| real(kind=r8), intent(in) | dphi_, | ||
| real(kind=r8), intent(in) | xmin_, | ||
| logical, intent(in) | nl_gradgyr_, | ||
| integer, intent(in) | nsel_depos_, | ||
| integer, intent(in) | nsel_get_field_, | ||
| integer, intent(in) | nbin_x_, | ||
| integer, intent(in) | nbin_y_, | ||
| integer, intent(in) | nbin_z_, | ||
| integer, intent(in) | color_nbin_x_, | ||
| integer, intent(in) | color_nbin_y_ ) |
Initialize module variables.
|
private |
Set rhs to 0.
|
private |
Set rhs_omp to 0.
| [in] | ithread | OpenMP thread ID |
|
private |
Sum up OpenMP threads rhs replications.
| [out] | rhs | Resulting field |
|
private |
Evaluate linear B-splines at point x in interval [0, 1].
|
private |
Evaluate quadratic B-splines at point x in interval [0, 1].
|
private |
Evaluate cubic B-splines at point x in interval [0, 1].
|
private |
Array containing the index of the particles in a bucket.
|
private |
Buffer used for the buffered version of color scheme.
|
private |
Number of radial bins for color scheme.
|
private |
Number of poloidal bins for color scheme.
|
private |
Inverse radial mesh size.
|
private |
Inverse poloidal mesh size.
|
private |
Inverse toroidal mesh size.
|
private |
Number of grid cell per bucket in s.
|
private |
Number of grid cell per bucket in chi.
|
private |
Starting toroidal interval.
|
private |
Indexes of the local subdomain.
|
private |
|
private |
Number of radial bins.
|
private |
|
private |
Number of poloidal bins.
|
private |
Number of sorting bins in each color bucket.
|
private |
Number of local toroidal bins.
|
private |
Spline order.
|
private |
Take gradient of gyroaverage potential instead of gyroaverage gradient of potential.
|
private |
Deposition method.
|
private |
Get field method.
|
private |
|
private |
Number of bins per bucket and total # of buckets.
|
private |
Number of radial intervals.
|
private |
Number of poloidal intervals.
|
private |
Number of local toroidal intervals.
|
private |
Working array for deposition (field replicated among OpenMP threads).
|
private |
Flag to use the vectorized version.
|
private |
Inner boundary position.