OSHUN  beta
Arbitrary Order Spherical-Harmonic 1D-3P Vlasov-Fokker-Planck-Maxwell code
VlasovFunctor1D_spatialpush Class Reference

#include <functors.h>

Inheritance diagram for VlasovFunctor1D_spatialpush:
Collaboration diagram for VlasovFunctor1D_spatialpush:

Public Member Functions

 VlasovFunctor1D_spatialpush (vector< size_t > Nl, vector< size_t > Nm, vector< double > pmax, vector< size_t > Np, double xmin, double xmax, size_t Nx)
 
 ~VlasovFunctor1D_spatialpush ()
 
void operator() (const State1D &Yin, State1D &Yslope)
 
void operator() (const State1D &Yin, State1D &Yslope, size_t dir)
 

Private Attributes

vector< Spatial_Advection_1DSA
 

Detailed Description

Definition at line 47 of file functors.h.

Constructor & Destructor Documentation

◆ VlasovFunctor1D_spatialpush()

VlasovFunctor1D_spatialpush::VlasovFunctor1D_spatialpush ( vector< size_t >  Nl,
vector< size_t >  Nm,
vector< double >  pmax,
vector< size_t >  Np,
double  xmin,
double  xmax,
size_t  Nx 
)

Definition at line 166 of file functors.cpp.

References VlasovFunctor1D_explicitE::SA.

167  {
168 //--------------------------------------------------------------
169 
170  for (size_t s(0); s < Nl.size(); ++s){
171 
172  SA.push_back( Spatial_Advection_1D(Nl[s], Nm[s], 0.0, pmax[s], Np[s], xmin, xmax, Nx) );
173 
174  }
175 }
vector< Spatial_Advection_1D > SA
Definition: functors.h:61

◆ ~VlasovFunctor1D_spatialpush()

VlasovFunctor1D_spatialpush::~VlasovFunctor1D_spatialpush ( )
inline

Definition at line 54 of file functors.h.

References VlasovFunctor1D_explicitE::operator()().

54 { };
Here is the call graph for this function:

Member Function Documentation

◆ operator()() [1/2]

void VlasovFunctor1D_spatialpush::operator() ( const State1D Yin,
State1D Yslope 
)
virtual

Implements Algorithms::AbstFunctor< State1D >.

Definition at line 181 of file functors.cpp.

References State1D::DF(), DistFunc1D::Filterp(), DistFunc1D::l0(), DistFunc1D::m0(), VlasovFunctor1D_explicitE::SA, and State1D::Species().

181  {
182 //--------------------------------------------------------------
183 
184  Yslope = 0.0;
185 
186  for (size_t s(0); s < Yin.Species(); ++s) {
187 
188  if (Yin.DF(s).l0() == 1) {
189 
190  SA[s].f1only(Yin.DF(s),Yslope.DF(s));
191 
192  }
193  else if (Yin.DF(s).m0() == 0) {
194 
195  SA[s].es1d(Yin.DF(s),Yslope.DF(s));
196 
197  }
198 
199  else {
200 
201  SA[s](Yin.DF(s),Yslope.DF(s));
202 
203  }
204 
205  Yslope.DF(s) = Yslope.DF(s).Filterp();
206  }
207 
208 }
vector< Spatial_Advection_1D > SA
Definition: functors.h:61
DistFunc1D & Filterp()
Definition: state.cpp:934
size_t m0() const
Definition: state.h:397
DistFunc1D & DF(size_t s)
Definition: state.h:602
size_t l0() const
Definition: state.h:396
size_t Species() const
Definition: state.h:596
Here is the call graph for this function:

◆ operator()() [2/2]

void VlasovFunctor1D_spatialpush::operator() ( const State1D Yin,
State1D Yslope,
size_t  dir 
)
virtual

Implements Algorithms::AbstFunctor< State1D >.

Definition at line 210 of file functors.cpp.

210 {}

Field Documentation

◆ SA

vector<Spatial_Advection_1D> VlasovFunctor1D_spatialpush::SA
private

Definition at line 61 of file functors.h.


The documentation for this class was generated from the following files: