OSHUN  beta
Arbitrary Order Spherical-Harmonic 1D-3P Vlasov-Fokker-Planck-Maxwell code
fluid.h
Go to the documentation of this file.
1 
2 //--------------------------------------------------------------
3 //--------------------------------------------------------------
4 // Spatial advection
6 //--------------------------------------------------------------
7  public:
9  Fluid_Equation_1D(double xmin, double xmax, size_t Nx);
10 
12  void density(const Hydro1D& Hin, Hydro1D& Hslope);//State1D& Yin, double deltat);
13  void chargefraction(const Hydro1D& Hin, Hydro1D& Hslope);//State1D& Yin, double deltat);
14  void velocity(const State1D& Yin, Hydro1D& Hslope,
15  valarray<double>& electrondensity, valarray<double>& electronpressure,
16  Array2D<double>& electroncurrent); //State1D& Yin,double deltat);
17  // void energy()(const valarray<double>& energy, valarray<double>& newenergy);
18 
19 
21  void updateE( Hydro1D& HYDRO,
22  EMF1D& EMF);
23 
24 
26 // void calcquantities(const State1D& Yin);
27  // void evaluatekineticenergyexchange(const State1D& Yin);
28 
29  private:
30 
31  double idx;
32  size_t szx, Nbc;
33 
34  valarray<double> dummy;
35 
36 
37  };
38 //--------------------------------------------------------------
39 //--------------------------------------------------------------
40 // Functor to be used in the Runge-Kutta methods
41  class Hydro_Functor : public Algorithms::AbstFunctor<State1D> {
42 //--------------------------------------------------------------
43  public:
44 // Constructor
45  Hydro_Functor(double xmin, double xmax, size_t numx);
47 
48 // Collect all the operators and apply on Yin
49  void operator()(const State1D& Hin, State1D& Hslope);
50  void operator()(const State1D& Hin, State1D& Hslope, size_t dir);
51  void operator()(const State1D& H1in, const State1D& H2in, State1D& Hslope);
52  private:
53  // Variables
54  double idx;
55  size_t szx;
57  };
58 //--------------------------------------------------------------
59 //--------------------------------------------------------------
60 // Spatial advection
62 //--------------------------------------------------------------
63  public:
64  // Constructors/Destructors
65  Hydro_Advection_1D(size_t Nl, size_t Nm,
66  double pmin, double pmax, size_t Np,
67  double xmin, double xmax, size_t Nx);
68 
69  // Advance
70  void operator()(const DistFunc1D& Din, const Hydro1D& hydro, DistFunc1D& Dh);
71 
72  private:
73  void MakeGH( SHarmonic1D& f, size_t l);
74  void MakeG00( SHarmonic1D& f);
75 
78  Array2D< complex<double> > XX1, XX2, XX3, XX4;
80  valarray< complex<double> > pr, invpr, Hp0;
81  size_t szx, Nbc;
82  double idp, idx;
83  };
84 //--------------------------------------------------------------
85 
86 //--------------------------------------------------------------
void velocity(const State1D &Yin, Hydro1D &Hslope, valarray< double > &electrondensity, valarray< double > &electronpressure, Array2D< double > &electroncurrent)
Definition: fluid.cpp:112
Fluid_Equation_1D(double xmin, double xmax, size_t Nx)
Constructors/Destructors.
Definition: fluid.cpp:65
double idx
Evaluate Quantities from Distribution Functions.
Definition: fluid.h:31
SHarmonic1D fd2
Definition: fluid.h:77
A Collection of relevant 1D Hydrodynamic Quantities.
Definition: state.h:507
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
valarray< complex< double > > pr
Definition: fluid.h:80
~Hydro_Functor()
Definition: fluid.h:46
Array2D< complex< double > > A2
Definition: fluid.h:79
size_t szx
Definition: fluid.h:81
double idx
Definition: fluid.h:82
A 1D Spherical Harmonic.
Definition: state.h:57
Array2D< complex< double > > XX4
Definition: fluid.h:78
Definition: state.h:577
size_t szx
Definition: fluid.h:55
void chargefraction(const Hydro1D &Hin, Hydro1D &Hslope)
Definition: fluid.cpp:93
double idx
Definition: fluid.h:54
void updateE(Hydro1D &HYDRO, EMF1D &EMF)
Electric Field Update.
Definition: fluid.cpp:215
SHarmonic1D TMP
Definition: fluid.h:76
Definition: state.h:271
size_t Nbc
Definition: fluid.h:32
size_t szx
Definition: fluid.h:32
valarray< double > dummy
Definition: fluid.h:34
The 1D distribution function is the container for all SHarmonic1D per species.
Definition: state.h:376