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

#include <fluid.h>

Inheritance diagram for Hydro_Functor:
Collaboration diagram for Hydro_Functor:

Public Member Functions

 Hydro_Functor (double xmin, double xmax, size_t numx)
 Constructor for hydro equations. More...
 
 ~Hydro_Functor ()
 
void operator() (const State1D &Hin, State1D &Hslope)
 
void operator() (const State1D &Hin, State1D &Hslope, size_t dir)
 
void operator() (const State1D &H1in, const State1D &H2in, State1D &Hslope)
 

Private Attributes

double idx
 
size_t szx
 
Fluid_Equation_1D FEQ
 

Detailed Description

Definition at line 41 of file fluid.h.

Constructor & Destructor Documentation

◆ Hydro_Functor()

Hydro_Functor::Hydro_Functor ( double  xmin,
double  xmax,
size_t  numx 
)

Constructor for hydro equations.

Definition at line 36 of file fluid.cpp.

36  :
37  idx(numx/(xmax-xmin)), szx(numx), FEQ(xmin,xmax,numx) {}
Fluid_Equation_1D FEQ
Definition: fluid.h:56
size_t szx
Definition: fluid.h:55
double idx
Definition: fluid.h:54

◆ ~Hydro_Functor()

Hydro_Functor::~Hydro_Functor ( )
inline

Definition at line 46 of file fluid.h.

46 { };

Member Function Documentation

◆ operator()() [1/3]

void Hydro_Functor::operator() ( const State1D Hin,
State1D Hslope 
)
virtual

Implements Algorithms::AbstFunctor< State1D >.

Definition at line 40 of file fluid.cpp.

References Fluid_Equation_1D::chargefraction(), Fluid_Equation_1D::density(), State1D::DF(), State1D::EMF(), FEQ, DistFunc1D::getdensity(), DistFunc1D::getpressure(), State1D::HYDRO(), szx, Fluid_Equation_1D::updateE(), and Fluid_Equation_1D::velocity().

40  {
41  Yslope = 0.0;
42 
43  valarray<double> electronpressure(0.0,szx), electrondensity(0.0, szx);
44  Array2D<double> electroncurrent(3,szx);
45 
46  electrondensity = Yin.DF(0).getdensity();
47  electronpressure = Yin.DF(0).getpressure();
48 
49  FEQ.density( Yin.HYDRO(), Yslope.HYDRO());
50  FEQ.chargefraction( Yin.HYDRO(), Yslope.HYDRO());
51  FEQ.velocity( Yin , Yslope.HYDRO(), electrondensity, electronpressure, electroncurrent);
52  FEQ.updateE( Yin.HYDRO(), Yslope.EMF());
53 }
void velocity(const State1D &Yin, Hydro1D &Hslope, valarray< double > &electrondensity, valarray< double > &electronpressure, Array2D< double > &electroncurrent)
Definition: fluid.cpp:112
void density(const Hydro1D &Hin, Hydro1D &Hslope)
Momentum (and Energy and Density?) Update.
Definition: fluid.cpp:74
Fluid_Equation_1D FEQ
Definition: fluid.h:56
size_t szx
Definition: fluid.h:55
void chargefraction(const Hydro1D &Hin, Hydro1D &Hslope)
Definition: fluid.cpp:93
void updateE(Hydro1D &HYDRO, EMF1D &EMF)
Electric Field Update.
Definition: fluid.cpp:215
Here is the call graph for this function:

◆ operator()() [2/3]

void Hydro_Functor::operator() ( const State1D Hin,
State1D Hslope,
size_t  dir 
)
virtual

Implements Algorithms::AbstFunctor< State1D >.

Definition at line 56 of file fluid.cpp.

56 {}

◆ operator()() [3/3]

void Hydro_Functor::operator() ( const State1D H1in,
const State1D H2in,
State1D Hslope 
)

Definition at line 57 of file fluid.cpp.

57 {}

Field Documentation

◆ FEQ

Fluid_Equation_1D Hydro_Functor::FEQ
private

Definition at line 56 of file fluid.h.

Referenced by operator()().

◆ idx

double Hydro_Functor::idx
private

Definition at line 54 of file fluid.h.

◆ szx

size_t Hydro_Functor::szx
private

Definition at line 55 of file fluid.h.

Referenced by operator()().


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