Gyselalib++
 
Loading...
Searching...
No Matches
iadvectionrp.hpp
1// SPDX-License-Identifier: MIT
2
3#pragma once
4#include <ddc/ddc.hpp>
5
6#include "ddc_aliases.hpp"
7#include "geometry.hpp"
8
13{
14public:
15 virtual ~IAdvectionRTheta() = default;
16
30 virtual host_t<DFieldRTheta> operator()(
31 host_t<DFieldRTheta> allfdistribu,
32 host_t<DConstVectorFieldRTheta<X, Y>> advection_field,
33 double const dt) const = 0;
34
51 virtual host_t<DFieldRTheta> operator()(
52 host_t<DFieldRTheta> allfdistribu,
53 host_t<DConstVectorFieldRTheta<R, Theta>> advection_field,
54 CoordXY const& advection_field_xy_center,
55 double const dt) const = 0;
56};
Define the base class of 2D advection operators in polar index range.
Definition iadvectionrp.hpp:13
virtual host_t< DFieldRTheta > operator()(host_t< DFieldRTheta > allfdistribu, host_t< DConstVectorFieldRTheta< R, Theta > > advection_field, CoordXY const &advection_field_xy_center, double const dt) const =0
Advect a function along the advection field given on dt with a given advection field along RTheta.
virtual host_t< DFieldRTheta > operator()(host_t< DFieldRTheta > allfdistribu, host_t< DConstVectorFieldRTheta< X, Y > > advection_field, double const dt) const =0
Advect a function along the advection field given on dt with a given advection field along XY.
A class which holds multiple (scalar) fields in order to represent a vector field.
Definition vector_field.hpp:64