Gyselalib++
 
Loading...
Searching...
No Matches
splitvlasovsolver.hpp
1// SPDX-License-Identifier: MIT
2
3#pragma once
4
5#include "geometry.hpp"
6#include "iboltzmannsolver.hpp"
7
9template <class Geometry, class GridX>
12template <class Geometry, class GridV>
14
25{
28
31
32public:
41
42 ~SplitVlasovSolver() override = default;
43
53 DFieldSpXVx operator()(DFieldSpXVx allfdistribu, DConstFieldX electric_field, double dt)
54 const override;
55};
A class which provides an advection operator.
Definition iadvectionx.hpp:16
A class which provides an advection operator.
Definition iadvectionvx.hpp:17
An abstract class for solving a Boltzmann equation.
Definition iboltzmannsolver.hpp:11
A class that solves a Vlasov equation using Strang's splitting.
Definition splitvlasovsolver.hpp:25
DFieldSpXVx operator()(DFieldSpXVx allfdistribu, DConstFieldX electric_field, double dt) const override
Solves a Vlasov equation on a timestep dt.
SplitVlasovSolver(IAdvectionSpatial< GeometryXVx, GridX > const &advec_x, IAdvectionVelocity< GeometryXVx, GridVx > const &advec_vx)
Creates an instance of the split vlasov solver class.