OSHUN  beta
Arbitrary Order Spherical-Harmonic 1D-3P Vlasov-Fokker-Planck-Maxwell code
nmethods.h
Go to the documentation of this file.
1 
10 #ifndef NUMERICAL_METHODS_H
11 #define NUMERICAL_METHODS_H
12 
13 
14 //------------------------------------------------------------------------------
27  valarray<complex<double> >& b,
28  valarray<complex<double> >& xk);
29 //-------------------------------------------------------------------
30 
31 //-------------------------------------------------------------------
32 
42 void TridiagonalSolve (const valarray<double>& a,
43  const valarray<double>& b,
44  valarray<double>& c,
45  valarray<complex<double> > d,
46  valarray<complex<double> >& x);
47 
48 void TridiagonalSolve (const valarray<double>& a,
49  const valarray<double>& b,
50  valarray<double>& c,
51  valarray<double> d,
52  valarray<double>& x);
53 
54 void TridiagonalSolve (const valarray<complex<double> >& a,
55  const valarray<complex<double> >& b,
56  valarray<complex<double> >& c,
57  valarray<complex<double> > d,
58  valarray<complex<double> >& x);
59 //-------------------------------------------------------------------
60 
61 
62 //------------------------------------------------------------------------------
72  valarray<double>& d,
73  valarray<double>& xk);
75  valarray<complex<double> >& d,
76  valarray<complex<double> >& xk);
77 bool Thomas_Tridiagonal(Array2D<complex<double> >& A,
78  valarray<complex<double> >& d,
79  valarray<complex<double> >& xk);
80 //-------------------------------------------------------------------
81 
82 
83 
84 
85 //-------------------------------------------------------------------
86 complex<double> Det33(/*const valarray<double>& D, */
87  Array2D<complex <double> >& A);
88 //-------------------------------------------------------------------
89 complex<double> Detx33(valarray<complex <double> >& D,
90  Array2D<complex <double> >& A);
91 //-------------------------------------------------------------------
92 
93 //-------------------------------------------------------------------
94 complex<double> Dety33(valarray<complex <double> >& D,
95  Array2D<complex <double> >& A);
96 //-------------------------------------------------------------------
97 
98 //-------------------------------------------------------------------
99 complex<double> Detz33(valarray<complex <double> >& D,
100  Array2D<complex <double> >& A);
101 //-------------------------------------------------------------------
102 
103 // Convert data structure to float structure
104 valarray<float> vfloat(const valarray<double>& vDouble);
105 // valarray<float> vfloat(const valarray<complex<double> >& vDouble);
106 // valarray<float> vfloat_complex(const valarray<complex<double> >& vDouble);
107 
108 vector<float> vfloat(const vector<double> vDouble);
109 vector<float> vfloat(const vector<complex<double> > vDouble);
110 vector<float> vfloat_complex(const vector<complex<double> > vDouble);
111 
112 //*******************************************************************
113 //
114 // Convert data structure to float structure
115 valarray<float> vfloat(const valarray<double>& vDouble);
116 // valarray<float> vfloat(const valarray<complex<double> >& vDouble);
117 // valarray<float> vfloat_complex(const valarray<complex<double> >& vDouble);
118 
119 vector<float> vfloat(const vector<double> vDouble);
120 vector<float> vfloat(const vector<complex<double> > vDouble);
121 vector<float> vfloat_complex(const vector<complex<double> > vDouble);
122 
123 
124 valarray<double> df_4thorder(const valarray<double>& f);
125 valarray<double> df_4thorder(valarray<double>& f);
126 
127 Array2D<complex<double> > df1_4thorder(Array2D<complex<double> >& f);
128 Array2D<complex<double> > df2_4thorder(Array2D<complex<double> >& f);
129 
130 #endif
complex< double > Detz33(valarray< complex< double > > &D, Array2D< complex< double > > &A)
void TridiagonalSolve(const valarray< double > &a, const valarray< double > &b, valarray< double > &c, valarray< complex< double > > d, valarray< complex< double > > &x)
Set up tridiagonal solver.
Definition: nmethods.cpp:121
bool Gauss_Seidel(Array2D< double > &A, valarray< complex< double > > &b, valarray< complex< double > > &xk)
Performs Gauss-Seidel method on Ax = b.
Definition: nmethods.cpp:29
valarray< double > df_4thorder(const valarray< double > &f)
Definition: nmethods.cpp:421
vector< float > vfloat_complex(const vector< complex< double > > vDouble)
Definition: nmethods.cpp:412
complex< double > Detx33(valarray< complex< double > > &D, Array2D< complex< double > > &A)
Array2D< complex< double > > df1_4thorder(Array2D< complex< double > > &f)
Definition: nmethods.cpp:469
complex< double > Det33(Array2D< complex< double > > &A)
Array2D< complex< double > > df2_4thorder(Array2D< complex< double > > &f)
Definition: nmethods.cpp:489
valarray< float > vfloat(const valarray< double > &vDouble)
Definition: nmethods.cpp:381
complex< double > Dety33(valarray< complex< double > > &D, Array2D< complex< double > > &A)
bool Thomas_Tridiagonal(Array2D< double > &A, valarray< double > &d, valarray< double > &xk)
The tridiagonal solver for implicit collisions.
Definition: nmethods.cpp:216