Gyselalib++
 
Loading...
Searching...
No Matches
collisions_inter.hpp
1// SPDX-License-Identifier: MIT
2#pragma once
3#include <cassert>
4#include <cmath>
5
6#include <ddc/ddc.hpp>
7
8#include "ddc_aliases.hpp"
9#include "geometry.hpp"
10#include "irighthandside.hpp"
11#include "quadrature.hpp"
13
25{
26private:
27 double m_nustar0;
28 DFieldMemSpX m_nustar_profile_alloc;
29 DFieldSpX m_nustar_profile;
30
31public:
38 CollisionsInter(IdxRangeSpXVx const& mesh, double nustar0);
39
53 DFieldSpXVx operator()(DFieldSpXVx allfdistribu, double dt) const override;
54
60 double get_nustar0() const;
61
72 void get_derivative(DFieldSpXVx df, DConstFieldSpXVx allfdistribu) const;
73};
Class describing the inter-species collision operator.
Definition collisions_inter.hpp:25
double get_nustar0() const
Get the collision coefficient.
DFieldSpXVx operator()(DFieldSpXVx allfdistribu, double dt) const override
Update the distribution function for inter-species collision.
void get_derivative(DFieldSpXVx df, DConstFieldSpXVx allfdistribu) const
Computes the expression of the time derivative of the distribution function.
CollisionsInter(IdxRangeSpXVx const &mesh, double nustar0)
The constructor for the operator.
An abstract class representing a source in Boltzmann equation.
Definition irighthandside.hpp:16
File providing quadrature coefficients via the trapezoidal method.