Gyselalib++
 
Loading...
Searching...
No Matches
koliop_interface.hpp
1// SPDX-License-Identifier: MIT
2#pragma once
3
4#include <ddc/ddc.hpp>
5
6#include <KOLIOP/koliop.h>
7
22template <typename Extent>
23using MDL = Kokkos::View<
24 Extent,
25 Kokkos::LayoutLeft,
26 Kokkos::DefaultExecutionSpace::memory_space,
27 Kokkos::MemoryTraits<Kokkos::Restrict>>;
28
54::koliop_Operator DoOperatorInitialization(
55 std::size_t the_mu_extent,
56 std::size_t the_vpar_extent,
57 std::size_t the_r_extent,
58 std::size_t the_theta_extent,
59 std::size_t the_phi_extent,
60 std::size_t the_species_extent,
61 std::int8_t collision_interspecies,
62 std::int64_t ir_SOL_separatrix,
63 const double* hat_As,
64 const double* hat_Zs,
65 const double* mug,
66 const double* vparg,
67 const double* coeff_intdmu,
68 const double* coeff_intdvpar,
69 const double* coeff_AD_r,
70 const double* mask_buffer_r,
71 const double* mask_LIM,
72 const double* B_norm,
73 const double* Bstar_s);
74
80void DoCombMatComputation(MDL<double[6][6]>& comb_mat);
81
82
88void DoOperatorDeinitialization(::koliop_Operator the_operator_handle);
89}; // namespace koliop_interface
A namespace containing functions which call the koliop library.
Definition koliop_interface.hpp:11
void DoOperatorDeinitialization(::koliop_Operator the_operator_handle)
Destructor for koliop.
void DoCombMatComputation(MDL< double[6][6]> &comb_mat)
Calculate the combinatory (6x6) matrix.
::koliop_Operator DoOperatorInitialization(std::size_t the_mu_extent, std::size_t the_vpar_extent, std::size_t the_r_extent, std::size_t the_theta_extent, std::size_t the_phi_extent, std::size_t the_species_extent, std::int8_t collision_interspecies, std::int64_t ir_SOL_separatrix, const double *hat_As, const double *hat_Zs, const double *mug, const double *vparg, const double *coeff_intdmu, const double *coeff_intdvpar, const double *coeff_AD_r, const double *mask_buffer_r, const double *mask_LIM, const double *B_norm, const double *Bstar_s)
Initialise the collision operator defined in koliop.
Kokkos::View< Extent, Kokkos::LayoutLeft, Kokkos::DefaultExecutionSpace::memory_space, Kokkos::MemoryTraits< Kokkos::Restrict > > MDL
MDL is a helper type which avoids repetition of a lengthy type name.
Definition koliop_interface.hpp:27