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

#include <vlasov_f1.h>

Inheritance diagram for VlasovFunctor1D_f1_implicitE_p2:
Collaboration diagram for VlasovFunctor1D_f1_implicitE_p2:

Public Member Functions

 VlasovFunctor1D_f1_implicitE_p2 (vector< size_t > Nl, vector< size_t > Nm, vector< double > pmax, vector< size_t > Np, double xmin, double xmax, size_t Nx)
 
 ~VlasovFunctor1D_f1_implicitE_p2 ()
 
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< Electric_Field_1D_f1EF
 
vector< Faraday_1DFA
 

Detailed Description

Definition at line 218 of file vlasov_f1.h.

Constructor & Destructor Documentation

◆ VlasovFunctor1D_f1_implicitE_p2()

VlasovFunctor1D_f1_implicitE_p2::VlasovFunctor1D_f1_implicitE_p2 ( 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 892 of file vlasov_f1.cpp.

893  {
894 // //--------------------------------------------------------------
895 
896  for (size_t s(0); s < Nl.size(); ++s){
897 
898  double pmin( pmax[s] / ( double(Np[s] * 2 - 1)) );
899  FA.push_back( Faraday_1D(xmin, xmax, Nx) );
900  EF.push_back( Electric_Field_1D_f1(Nl[s], Nm[s], pmin, pmax[s], Np[s], xmin, xmax, Nx) );
901 
902  }
903 
904 }
vector< Faraday_1D > FA
Definition: vlasov_f1.h:239
vector< Electric_Field_1D_f1 > EF
Definition: vlasov_f1.h:235

◆ ~VlasovFunctor1D_f1_implicitE_p2()

VlasovFunctor1D_f1_implicitE_p2::~VlasovFunctor1D_f1_implicitE_p2 ( )
inline

Definition at line 225 of file vlasov_f1.h.

References Spatial_Advection_1D_f1::operator()().

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

Member Function Documentation

◆ operator()() [1/3]

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

Implements Algorithms::AbstFunctor< State1D >.

Definition at line 908 of file vlasov_f1.cpp.

References State1D::DF(), State1D::EMF(), EMF1D::Ex(), EMF1D::Ey(), EMF1D::Ez(), DistFunc1D::Filterp(), and State1D::Species().

908  {
909 // //---------------------------------------------------------------------------------------------------
910 
911  Yslope = 0.0;
912 
913  for (size_t s(0); s < Yin.Species(); ++s) {
914  FA[s](Yin.EMF(),Yslope.EMF());
915  EF[s](Yin.DF(s),Yin.EMF().Ex(),Yin.EMF().Ey(),Yin.EMF().Ez(),Yslope.DF(s));
916  Yslope.DF(s) = Yslope.DF(s).Filterp();
917 
918  }
919 
920 }
DistFunc1D & Filterp()
Definition: state.cpp:934
Field1D & Ez()
Definition: state.h:292
vector< Faraday_1D > FA
Definition: vlasov_f1.h:239
DistFunc1D & DF(size_t s)
Definition: state.h:602
Field1D & Ex()
Definition: state.h:290
Field1D & Ey()
Definition: state.h:291
vector< Electric_Field_1D_f1 > EF
Definition: vlasov_f1.h:235
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_f1_implicitE_p2::operator() ( const State1D Yin,
const State1D Y2in,
State1D Yslope 
)

Definition at line 952 of file vlasov_f1.cpp.

952 {}

◆ operator()() [3/3]

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

Implements Algorithms::AbstFunctor< State1D >.

Definition at line 923 of file vlasov_f1.cpp.

References State1D::DF(), State1D::EMF(), EMF1D::Ex(), EMF1D::Ey(), EMF1D::Ez(), DistFunc1D::Filterp(), and State1D::Species().

923  {
924 // //--------------------------------------------------------------------------------------------------
925 
926  Yslope = 0.0;
927 
928  if (direction == 1)
929  {
930  for (size_t s(0); s < Yin.Species(); ++s) {
931  EF[s].Implicit_Ex(Yin.DF(s),Yin.EMF().Ex(),Yslope.DF(s));
932  Yslope.DF(s) = Yslope.DF(s).Filterp();
933  }
934  }
935  else if (direction == 2)
936  {
937  for (size_t s(0); s < Yin.Species(); ++s) {
938  EF[s].Implicit_Ey(Yin.DF(s),Yin.EMF().Ey(),Yslope.DF(s));
939  Yslope.DF(s) = Yslope.DF(s).Filterp();
940  }
941  }
942  else
943  {
944  // complex<double> ii(0.0,1.0);
945  for (size_t s(0); s < Yin.Species(); ++s) {
946  EF[s].Implicit_Ez(Yin.DF(s),Yin.EMF().Ez(),Yslope.DF(s));
947  Yslope.DF(s) = Yslope.DF(s).Filterp();
948  }
949  }
950 
951 }
DistFunc1D & Filterp()
Definition: state.cpp:934
Field1D & Ez()
Definition: state.h:292
DistFunc1D & DF(size_t s)
Definition: state.h:602
Field1D & Ex()
Definition: state.h:290
Field1D & Ey()
Definition: state.h:291
vector< Electric_Field_1D_f1 > EF
Definition: vlasov_f1.h:235
size_t Species() const
Definition: state.h:596
EMF1D & EMF() const
Definition: state.h:610
Here is the call graph for this function:

Field Documentation

◆ EF

vector<Electric_Field_1D_f1> VlasovFunctor1D_f1_implicitE_p2::EF
private

Definition at line 235 of file vlasov_f1.h.

◆ FA

vector<Faraday_1D> VlasovFunctor1D_f1_implicitE_p2::FA
private

Definition at line 239 of file vlasov_f1.h.


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