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

#include <functors.h>

Inheritance diagram for VlasovFunctor1D_explicitE_implicitB:
Collaboration diagram for VlasovFunctor1D_explicitE_implicitB:

Public Member Functions

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

Private Attributes

vector< Spatial_Advection_1DSA
 
vector< Electric_Field_1DEF
 
vector< Current_1DJX
 
vector< Ampere_1DAM
 
vector< Faraday_1DFA
 

Detailed Description

Definition at line 96 of file functors.h.

Constructor & Destructor Documentation

◆ VlasovFunctor1D_explicitE_implicitB()

VlasovFunctor1D_explicitE_implicitB::VlasovFunctor1D_explicitE_implicitB ( 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 288 of file functors.cpp.

References VlasovFunctor1D_explicitE::AM, VlasovFunctor1D_explicitE::EF, VlasovFunctor1D_explicitE::FA, VlasovFunctor1D_explicitE::JX, and VlasovFunctor1D_explicitE::SA.

289  {
290 //--------------------------------------------------------------
291 
292  for (size_t s(0); s < Nl.size(); ++s){
293 
294  SA.push_back( Spatial_Advection_1D(Nl[s], Nm[s], 0.0, pmax[s], Np[s], xmin, xmax, Nx) );
295 
296  EF.push_back( Electric_Field_1D(Nl[s], Nm[s], 0.0, pmax[s], Np[s], xmin, xmax, Nx) );
297 
298  JX.push_back( Current_1D(0.0, pmax[s], Np[s], Nx) );
299 
300  AM.push_back( Ampere_1D(xmin, xmax, Nx) );
301 
302  FA.push_back( Faraday_1D(xmin, xmax, Nx) );
303 
304  }
305 }
vector< Electric_Field_1D > EF
Definition: functors.h:116
vector< Spatial_Advection_1D > SA
Definition: functors.h:115

◆ ~VlasovFunctor1D_explicitE_implicitB()

VlasovFunctor1D_explicitE_implicitB::~VlasovFunctor1D_explicitE_implicitB ( )
inline

Definition at line 103 of file functors.h.

References VlasovFunctor1D_explicitE::operator()().

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

Member Function Documentation

◆ operator()() [1/3]

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

Implements Algorithms::AbstFunctor< State1D >.

Definition at line 311 of file functors.cpp.

References VlasovFunctor1D_explicitE::AM, State1D::DF(), VlasovFunctor1D_explicitE::EF, State1D::EMF(), EMF1D::Ex(), EMF1D::Ey(), EMF1D::Ez(), VlasovFunctor1D_explicitE::FA, DistFunc1D::Filterp(), VlasovFunctor1D_explicitE::JX, DistFunc1D::l0(), VlasovFunctor1D_explicitE::SA, and State1D::Species().

311  {
312 //--------------------------------------------------------------
313 
314  Yslope = 0.0;
315 
316  for (size_t s(0); s < Yin.Species(); ++s) {
317 
318  if (Yin.DF(s).l0() == 1) {
319  SA[s].f1only(Yin.DF(s),Yslope.DF(s));
320  EF[s].f1only(Yin.DF(s),Yin.EMF().Ex(),Yin.EMF().Ey(),Yin.EMF().Ez(),Yslope.DF(s));
321  }
322  else{
323  SA[s](Yin.DF(s),Yslope.DF(s));
324  EF[s](Yin.DF(s),Yin.EMF().Ex(),Yin.EMF().Ey(),Yin.EMF().Ez(),Yslope.DF(s));
325  }
326 
327  JX[s](Yin.DF(s),Yslope.EMF().Ex(),Yslope.EMF().Ey(),Yslope.EMF().Ez());
328 
329  AM[s](Yin.EMF(),Yslope.EMF());
330 
331  FA[s](Yin.EMF(),Yslope.EMF());
332 
333  Yslope.DF(s) = Yslope.DF(s).Filterp();
334  }
335 
336 }
vector< Electric_Field_1D > EF
Definition: functors.h:116
DistFunc1D & Filterp()
Definition: state.cpp:934
Field1D & Ez()
Definition: state.h:292
vector< Spatial_Advection_1D > SA
Definition: functors.h:115
DistFunc1D & DF(size_t s)
Definition: state.h:602
Field1D & Ex()
Definition: state.h:290
Field1D & Ey()
Definition: state.h:291
size_t l0() const
Definition: state.h:396
size_t Species() const
Definition: state.h:596
EMF1D & EMF() const
Definition: state.h:610
Here is the call graph for this function:

◆ operator()() [2/3]

void VlasovFunctor1D_explicitE_implicitB::operator() ( const State1D Yin,
const State1D Y2in,
State1D Yslope 
)

◆ operator()() [3/3]

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

Implements Algorithms::AbstFunctor< State1D >.

Definition at line 338 of file functors.cpp.

338 {}

Field Documentation

◆ AM

vector<Ampere_1D> VlasovFunctor1D_explicitE_implicitB::AM
private

Definition at line 118 of file functors.h.

◆ EF

vector<Electric_Field_1D> VlasovFunctor1D_explicitE_implicitB::EF
private

Definition at line 116 of file functors.h.

◆ FA

vector<Faraday_1D> VlasovFunctor1D_explicitE_implicitB::FA
private

Definition at line 120 of file functors.h.

◆ JX

vector<Current_1D> VlasovFunctor1D_explicitE_implicitB::JX
private

Definition at line 117 of file functors.h.

◆ SA

vector<Spatial_Advection_1D> VlasovFunctor1D_explicitE_implicitB::SA
private

Definition at line 115 of file functors.h.


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