Trilinos based (stochastic) FEM solvers
shinozukapp.hpp
Go to the documentation of this file.
1 /*
2 Brian Staber (brian.staber@gmail.com)
3 */
4 
5 #ifndef SHINOZUKAPP_HPP
6 #define SHINOZUKAPP_HPP
7 
8 #include "meshpp.hpp"
9 #include <boost/random/mersenne_twister.hpp>
10 #include <boost/random/uniform_real_distribution.hpp>
11 #include <boost/math/special_functions/erf.hpp>
12 #include <boost/random/normal_distribution.hpp>
13 #include <boost/math/special_functions/gamma.hpp>
14 #include <boost/math/special_functions/beta.hpp>
15 
16 class shinozuka
17 {
18 public:
19 
20  shinozuka();
21  shinozuka(int & nu, double & L1, double & L2, double & L3);
22  ~shinozuka();
23 
24  template<typename typearg>
25  double tau_beta(typearg & beta);
26  double s_tau(double & tau);
27 
28  void generator(Epetra_Vector & v, mesh & Mesh);
29  void generator_gauss_points(Epetra_SerialDenseVector & v, mesh & Mesh);
30  void generator_one_gauss_point(Epetra_SerialDenseVector & v, mesh & Mesh, double & xi, double & eta, double & zeta);
31 
32  void icdf_gamma(Epetra_Vector & V, Epetra_Vector & G, double & alpha, double & beta);
33  void icdf_beta(Epetra_Vector & V, Epetra_Vector & B, double & tau1, double & tau2);
34 
35  int order;
36  double l1;
37  double l2;
38  double l3;
39  boost::random::mt19937 rng;
40  boost::random::uniform_real_distribution<> phi_;
41  boost::random::uniform_real_distribution<> psi_;
42 };
43 #endif
double s_tau(double &tau)
Definition: shinozukapp.cpp:21
void generator_one_gauss_point(Epetra_SerialDenseVector &v, mesh &Mesh, double &xi, double &eta, double &zeta)
void generator(Epetra_Vector &v, mesh &Mesh)
Definition: shinozukapp.cpp:29
boost::random::uniform_real_distribution psi_
Definition: shinozukapp.hpp:41
double l3
Definition: shinozukapp.hpp:38
boost::random::uniform_real_distribution phi_
Definition: shinozukapp.hpp:40
Definition: meshpp.hpp:49
double l2
Definition: shinozukapp.hpp:37
void icdf_beta(Epetra_Vector &V, Epetra_Vector &B, double &tau1, double &tau2)
boost::random::mt19937 rng
Definition: shinozukapp.hpp:39
void icdf_gamma(Epetra_Vector &V, Epetra_Vector &G, double &alpha, double &beta)
double tau_beta(typearg &beta)
Definition: shinozukapp.cpp:16
modelParameters beta
Definition: run_station15.m:10
double l1
Definition: shinozukapp.hpp:36
void generator_gauss_points(Epetra_SerialDenseVector &v, mesh &Mesh)
Definition: shinozukapp.cpp:64
output eta
Definition: costFunction.m:33