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

#include <vlasov_f1.h>

Inheritance diagram for VlasovFunctor1D_f1_explicitE:
Collaboration diagram for VlasovFunctor1D_f1_explicitE:

Public Member Functions

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

Detailed Description

Definition at line 102 of file vlasov_f1.h.

Constructor & Destructor Documentation

◆ VlasovFunctor1D_f1_explicitE()

VlasovFunctor1D_f1_explicitE::VlasovFunctor1D_f1_explicitE ( 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 633 of file vlasov_f1.cpp.

References Spatial_Advection_1D_f1::Spatial_Advection_1D_f1().

634  {
635 //--------------------------------------------------------------
636 
637  for (size_t s(0); s < Nl.size(); ++s){
638 
639  double pmin( pmax[s] / ( double(Np[s] * 2 - 1)) );
640 
641  SA.push_back( Spatial_Advection_1D_f1(Nl[s], Nm[s], pmin, pmax[s], Np[s], xmin, xmax, Nx) );
642 
643  EF.push_back( Electric_Field_1D_f1(Nl[s], Nm[s], pmin, pmax[s], Np[s], xmin, xmax, Nx) );
644 
645  JX.push_back( Current_1D(pmin, pmax[s], Np[s], Nx) );
646 
647  BF.push_back( Magnetic_Field_1D_f1(Nl[s], Nm[s], pmin, pmax[s], Np[s], xmin, xmax, Nx) );
648 
649 // HA.push_back( Hydro_Advection_1D(Nl[s], Nm[s], pmin, pmax[s], Np[s], xmin, xmax, Nx) );
650 
651  AM.push_back( Ampere_1D(xmin, xmax, Nx) );
652 
653  FA.push_back( Faraday_1D(xmin, xmax, Nx) );
654 
655  }
656 }
vector< Current_1D > JX
Definition: vlasov_f1.h:123
vector< Ampere_1D > AM
Definition: vlasov_f1.h:124
vector< Spatial_Advection_1D_f1 > SA
Definition: vlasov_f1.h:121
vector< Electric_Field_1D_f1 > EF
Definition: vlasov_f1.h:122
vector< Faraday_1D > FA
Definition: vlasov_f1.h:126
vector< Magnetic_Field_1D_f1 > BF
Definition: vlasov_f1.h:125
Here is the call graph for this function:

◆ ~VlasovFunctor1D_f1_explicitE()

VlasovFunctor1D_f1_explicitE::~VlasovFunctor1D_f1_explicitE ( )
inline

Definition at line 109 of file vlasov_f1.h.

References Spatial_Advection_1D_f1::operator()().

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

Member Function Documentation

◆ operator()() [1/3]

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

Implements Algorithms::AbstFunctor< State1D >.

Definition at line 662 of file vlasov_f1.cpp.

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

662  {
663 //--------------------------------------------------------------
664 
665  Yslope = 0.0;
666 
667  for (size_t s(0); s < Yin.Species(); ++s) {
668 
669  SA[s](Yin.DF(s),Yslope.DF(s));
670 
671  EF[s](Yin.DF(s),Yin.EMF().Ex(),Yin.EMF().Ey(),Yin.EMF().Ez(),Yslope.DF(s));
672 
673  JX[s](Yin.DF(s),Yslope.EMF().Ex(),Yslope.EMF().Ey(),Yslope.EMF().Ez());
674 
675 // if (Input::List().hydromotion) HA[s](Yin.DF(s),Yin.HYDRO(),Yslope.DF(s));
676 
677  BF[s](Yin.DF(s),Yin.EMF().Bx(),Yin.EMF().By(),Yin.EMF().Bz(),Yslope.DF(s));
678 
679  AM[s](Yin.EMF(),Yslope.EMF());
680 
681  FA[s](Yin.EMF(),Yslope.EMF());
682 
683  Yslope.DF(s) = Yslope.DF(s).Filterp();
684  }
685 
686 }
vector< Current_1D > JX
Definition: vlasov_f1.h:123
Field1D & By()
Definition: state.h:294
DistFunc1D & Filterp()
Definition: state.cpp:934
vector< Ampere_1D > AM
Definition: vlasov_f1.h:124
vector< Spatial_Advection_1D_f1 > SA
Definition: vlasov_f1.h:121
Field1D & Ez()
Definition: state.h:292
Field1D & Bx()
Definition: state.h:293
vector< Electric_Field_1D_f1 > EF
Definition: vlasov_f1.h:122
vector< Faraday_1D > FA
Definition: vlasov_f1.h:126
Field1D & Bz()
Definition: state.h:295
DistFunc1D & DF(size_t s)
Definition: state.h:602
Field1D & Ex()
Definition: state.h:290
vector< Magnetic_Field_1D_f1 > BF
Definition: vlasov_f1.h:125
Field1D & Ey()
Definition: state.h:291
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_explicitE::operator() ( const State1D Yin,
const State1D Y2in,
State1D Yslope 
)

Definition at line 689 of file vlasov_f1.cpp.

689 {}

◆ operator()() [3/3]

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

Implements Algorithms::AbstFunctor< State1D >.

Definition at line 688 of file vlasov_f1.cpp.

688 {}

Field Documentation

◆ AM

vector<Ampere_1D> VlasovFunctor1D_f1_explicitE::AM
private

Definition at line 124 of file vlasov_f1.h.

◆ BF

vector<Magnetic_Field_1D_f1> VlasovFunctor1D_f1_explicitE::BF
private

Definition at line 125 of file vlasov_f1.h.

◆ EF

vector<Electric_Field_1D_f1> VlasovFunctor1D_f1_explicitE::EF
private

Definition at line 122 of file vlasov_f1.h.

◆ FA

vector<Faraday_1D> VlasovFunctor1D_f1_explicitE::FA
private

Definition at line 126 of file vlasov_f1.h.

◆ JX

vector<Current_1D> VlasovFunctor1D_f1_explicitE::JX
private

Definition at line 123 of file vlasov_f1.h.

◆ SA

vector<Spatial_Advection_1D_f1> VlasovFunctor1D_f1_explicitE::SA
private

Definition at line 121 of file vlasov_f1.h.


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