Contains special operators that work with the BSG
Initializes the BSG operators type
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(bsg_operators_t), | intent(inout) | :: | this |
Instance of the type |
||
| type(mesh_5d_t), | intent(in), | target | :: | mesh |
Mesh instance |
|
| integer, | intent(in) | :: | num_blocks |
Number of blocks |
||
| integer, | intent(in), | optional | :: | interp_order |
Interpolation order |
Initializes the velocity space grid pointer accessors
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(bsg_operators_t), | intent(inout) | :: | this |
Instance of the type |
||
| integer, | intent(in) | :: | block_number |
Block number |
||
| real(kind=GP), | intent(in), | dimension(:), target | :: | ptr_from_mesh |
Pointer from mesh |
|
| type(vspace_bsg_t), | intent(inout), | dimension(:), pointer | :: | ptr_accessor |
Pointer accessor |
Updates the distribution function value of neighbor points through interpolation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(bsg_operators_t), | intent(inout) | :: | this |
Instance of type |
||
| integer, | intent(in) | :: | nb_point |
Block number of RZ point |
||
| integer, | intent(in) | :: | nb_neigh |
Block number of neighbor point |
||
| integer, | intent(in) | :: | i_neigh |
Neighbor point index |
||
| integer, | intent(in) | :: | k |
Index for phi dimension of the dist function |
||
| integer, | intent(in) | :: | l |
Index for vp dimension of the dist function |
||
| real(kind=GP), | intent(in), | dimension(lb1:,lb2:,lb3:) | :: | f_in |
Input distribution function |
|
| integer, | intent(in) | :: | lb1 |
Lower bound of RZ dimension |
||
| integer, | intent(in) | :: | lb2 |
Lower bound of phi dimension |
||
| integer, | intent(in) | :: | lb3 |
Lower bound of vp dimension |
||
| real(kind=GP), | intent(inout) | :: | f_interp |
Final interpolated value |
Performs the dot product for neighbors situated in different blocks
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(bsg_operators_t), | intent(inout) | :: | this |
Instance of the type |
||
| real(kind=GP), | intent(in), | dimension(:) | :: | coeff |
Coefficient vector |
|
| integer, | intent(in), | dimension(:) | :: | points_neigh |
Indices i of RZ dimension of all neighbor points |
|
| integer, | intent(in) | :: | lb1 |
Lower bound of RZ dimension |
||
| integer, | intent(in) | :: | lb2 |
Lower bound of phi dimension |
||
| integer, | intent(in) | :: | lb3 |
Lower bound of vp dimension |
||
| real(kind=GP), | intent(in), | dimension(lb1:,lb2:,lb3:) | :: | f_in |
Input distribution function |
|
| integer, | intent(in) | :: | nb_point |
Block number of RZ point |
||
| integer, | intent(in) | :: | k |
Index for phi dimension of the dist function |
||
| integer, | intent(in) | :: | l |
Index for vp dimension of the dist function |
||
| real(kind=GP), | intent(out) | :: | f_dot |
Final dot product value |
Derived type for all BSG defined operators
| procedure, public :: initialize | |
| procedure, public :: interpolate_dist | |
| procedure, public :: dot_product_bsg | |
| procedure, public :: get_local_start_idx_pointer | |
| procedure, public :: get_local_end_idx_pointer | |
| procedure, public :: get_is_internal_pointer | |
| procedure, public :: get_vp_pointer | |
| procedure, public :: get_vpw_pointer | |
| procedure, public :: get_vp_delta_pointer | |
| procedure, public :: get_prefac_vp_pointer | |
| procedure, public :: is_initialized |
Returns a pointer to the vp array
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(bsg_operators_t), | intent(inout), | target | :: | this |
Instance of the type |
Returns a pointer to the vpw array
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(bsg_operators_t), | intent(inout), | target | :: | this |
Instance of the type |
Returns a pointer to the local start index array
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(bsg_operators_t), | intent(inout), | target | :: | this |
Instance of the type |
Returns a pointer to the local end index array
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(bsg_operators_t), | intent(inout), | target | :: | this |
Instance of the type |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(bsg_operators_t), | intent(inout), | target | :: | this |
Instance of the type |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(bsg_operators_t), | intent(inout), | target | :: | this |
Instance of the type |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(bsg_operators_t), | intent(inout), | target | :: | this |
Instance of the type |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(bsg_operators_t), | intent(in) | :: | this |
Instance of the type |