26 #include "libmesh/libmesh_common.h" 27 #include "libmesh/libmesh_config.h" 28 #include "libmesh/petsc_macro.h" 29 #include "libmesh/slepc_macro.h" 30 #include "libmesh/parallel_object.h" 31 #include "libmesh/reference_counted_object.h" 37 EXTERN_C_FOR_SLEPC_BEGIN
38 # include <slepceps.h> 39 EXTERN_C_FOR_SLEPC_END
62 class EquationSystems;
89 {
return _equation_systems; };
96 {
return _equation_systems; };
107 const std::string& mode);
116 const std::string& vec_type,
117 const std::string& mode);
128 const std::string& mode)
const;
139 { _random_generator.
set_seed(seed_val); }
147 const std::string& random_type,
160 const std::string& random_type);
176 PetscRandom* rand_ctx,
195 const bool use_init_space,
235 const Real eigen_min,
236 const Real eigen_max,
256 Real& variance)
const;
271 EquationSystems & _equation_systems;
274 unsigned int _n_points;
280 std::vector<Fix*> _fixes;
const EquationSystems & get_equation_systems() const
Definition: brownian_system.h:88
Definition: random_generator.h:43
PetscErrorCode _MatMult_Stokes(Mat M, Vec f, Vec u)
Definition: brownian_system.C:43
DenseVector< Number > chebyshev_quadrature_point(const std::size_t N) const
Definition: brownian_system.C:827
PetscErrorCode compute_eigenvalues(Real &eigen_min, Real &eigen_max, const Real &tol)
Definition: brownian_system.C:696
PetscErrorCode init_petsc_random(PetscRandom *rand_ctx)
Definition: brownian_system.C:411
PetscErrorCode extract_particle_vector(Vec *x, const std::string &vec_type, const std::string &mode)
Definition: brownian_system.C:180
PetscErrorCode petsc_random_vector(const PetscInt N, PetscRandom *rand_ctx, Vec *u)
Definition: brownian_system.C:433
PetscErrorCode _test_diagonal_mat(Vec f, Vec u)
Definition: brownian_system.C:1003
PetscErrorCode _create_petsc_vec(const std::size_t N, Vec *V)
Definition: brownian_system.C:1130
Definition: brownian_system.h:58
PetscErrorCode petsc_vec_scatter_to_all(Vec f, Vec vf, VecScatter scatter, const std::string &mode)
Definition: brownian_system.C:146
EquationSystems & get_equation_systems()
Definition: brownian_system.h:95
PetscErrorCode std_random_vector(const Real &a, const Real &b, const std::string &random_type, Vec *u)
Definition: brownian_system.C:344
Real compute_eigenvalue(const std::string &option, const Real tol)
Definition: brownian_system.C:461
void set_std_random_seed(const std::size_t seed_val)
Definition: brownian_system.h:138
~BrownianSystem()
Definition: brownian_system.C:138
RandomGenerator & random_generator()
Definition: brownian_system.h:132
PetscErrorCode _vector_mean_variance(Vec u, Real &mean, Real &variance) const
Definition: brownian_system.C:1035
PetscErrorCode vector_transform(std::vector< Real > &std_vec, Vec *petsc_vec, const std::string &mode) const
Definition: brownian_system.C:280
DenseMatrix< Number > chebyshev_transform_matrix(const std::size_t N) const
Definition: brownian_system.C:804
Real power_iteration()
Definition: brownian_system.C:738
PetscErrorCode hi_ewald(Mat M, Vec f, Vec u)
Definition: brownian_system.h:244
bool chebyshev_polynomial_approximation(const std::size_t N, const Real eigen_min, const Real eigen_max, const Real tol_cheb, Vec *dw)
Definition: brownian_system.C:842
void set_seed(std::size_t seed_val)
Definition: random_generator.C:101
friend PetscErrorCode _MatMult_Stokes(Mat M, Vec f, Vec u)
Definition: brownian_system.C:43
BrownianSystem(EquationSystems &es)
Definition: brownian_system.C:125
PetscErrorCode _create_shell_mat(const std::size_t N, Mat *M)
Definition: brownian_system.C:1101
Definition: brownian_system.h:72