Trilinos based (stochastic) FEM solvers
shinozukapp_2d.hpp
Go to the documentation of this file.
1 /*
2 Brian Staber (brian.staber@gmail.com)
3 */
4 
5 #ifndef SHINOZUKAPP_2D_HPP
6 #define SHINOZUKAPP_2D_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 
17 {
18 public:
19 
20  shinozuka_2d();
21  shinozuka_2d(int & nu, double & L1, double & L2);
22  ~shinozuka_2d();
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 
30  void icdf_gamma(Epetra_Vector & V, Epetra_Vector & G, double & alpha, double & beta);
31  void icdf_beta(Epetra_Vector & V, Epetra_Vector & B, double & tau1, double & tau2);
32 
33  int order;
34  double l1;
35  double l2;
36  double rotation = 0.0;
37  boost::random::mt19937 rng;
38  boost::random::uniform_real_distribution<> phi_;
39  boost::random::uniform_real_distribution<> psi_;
40 };
41 #endif
double s_tau(double &tau)
double tau_beta(typearg &beta)
void icdf_gamma(Epetra_Vector &V, Epetra_Vector &G, double &alpha, double &beta)
boost::random::uniform_real_distribution psi_
void icdf_beta(Epetra_Vector &V, Epetra_Vector &B, double &tau1, double &tau2)
Definition: meshpp.hpp:49
void generator(Epetra_Vector &v, mesh &Mesh)
boost::random::mt19937 rng
modelParameters beta
Definition: run_station15.m:10
boost::random::uniform_real_distribution phi_