Go to the source code of this file.
◆ compute_shape_factor()
template<int depos_order>
Compute shape factor and return index of leftmost cell where particle writes. Specialized templates are defined below for orders 0 to 3.
◆ compute_shape_factor< 0 >()
Compute shape factor and return index of leftmost cell where particle writes. Specialization for order 0
◆ compute_shape_factor< 1 >()
Compute shape factor and return index of leftmost cell where particle writes. Specialization for order 1
◆ compute_shape_factor< 2 >()
Compute shape factor and return index of leftmost cell where particle writes. Specialization for order 2
◆ compute_shape_factor< 3 >()
Compute shape factor and return index of leftmost cell where particle writes. Specialization for order 3
◆ compute_single_shape_factor()
template<bool branchless, int depos_order>
Compute a single shape factor and return the index of the cell where the particle writes.
- Template Parameters
-
branchless | whether to use a branchless calculation or one with branches depending in ix |
depos_order | Order of the shape factor |
- Parameters
-
[in] | xmid | exact position of the particle in index space |
[in] | ix | index of the shape factor, must be 0 <= ix <= depos_order |
◆ single_derivative_shape_factor()
template<int derivative_type, int depos_order>
Compute a single derivative shape factor and return the index of the cell where the particle writes.
- Template Parameters
-
derivative_type | which type of derivative to use |
depos_order | Order of the shape factor |
- Parameters
-
[in] | xmid | exact position of the particle in index space |
[in] | ix | index of the shape factor, must be 0 <= ix <= (depos_order + derivative_type) |