Gyselalib++
 
Loading...
Searching...
No Matches
krook_source_constant.hpp
1// SPDX-License-Identifier: MIT
2#pragma once
3
4#include "geometry.hpp"
5#include "irighthandside.hpp"
6
23{
24private:
25 RhsType m_type;
26 double m_extent;
27 double m_stiffness;
28 double m_amplitude;
29 double m_density;
30 double m_temperature;
31 DFieldMemX m_mask;
32 DFieldMemVx m_ftarget;
33
34public:
49 IdxRangeX const& gridx,
50 IdxRangeVx const& gridv,
51 RhsType const type,
52 double extent,
53 double stiffness,
54 double amplitude,
55 double density,
56 double temperature);
57
62
63 ~KrookSourceConstant() override = default;
64
76 DFieldSpXVx operator()(DFieldSpXVx allfdistribu, double dt) const override;
77};
An abstract class representing a source in Boltzmann equation.
Definition irighthandside.hpp:16
A class that describes a source of particles.
Definition krook_source_constant.hpp:23
KrookSourceConstant(IdxRangeX const &gridx, IdxRangeVx const &gridv, RhsType const type, double extent, double stiffness, double amplitude, double density, double temperature)
Creates an instance of the KrookSourceConstant class.
DFieldSpXVx operator()(DFieldSpXVx allfdistribu, double dt) const override
Update the distribution function following the KrookSourceConstant operator.
KrookSourceConstant(KrookSourceConstant &&)=default
Creates an instance of the KrookSourceConstant class.