Parallel Finite Element - General geometry Ewald-like Method
Part of Continuum-particle Simulation Suite under MICCOM
|
#include <brownian_system.h>
Public Member Functions | |
BrownianSystem (EquationSystems &es) | |
~BrownianSystem () | |
const EquationSystems & | get_equation_systems () const |
EquationSystems & | get_equation_systems () |
PetscErrorCode | petsc_vec_scatter_to_all (Vec f, Vec vf, VecScatter scatter, const std::string &mode) |
PetscErrorCode | extract_particle_vector (Vec *x, const std::string &vec_type, const std::string &mode) |
PetscErrorCode | vector_transform (std::vector< Real > &std_vec, Vec *petsc_vec, const std::string &mode) const |
RandomGenerator & | random_generator () |
void | set_std_random_seed (const std::size_t seed_val) |
PetscErrorCode | std_random_vector (const Real &a, const Real &b, const std::string &random_type, Vec *u) |
std::vector< Real > | std_random_vector (const std::size_t N, const Real &a, const Real &b, const std::string &random_type) |
PetscErrorCode | init_petsc_random (PetscRandom *rand_ctx) |
PetscErrorCode | petsc_random_vector (const PetscInt N, PetscRandom *rand_ctx, Vec *u) |
Real | compute_eigenvalue (const std::string &option, const Real tol) |
Real | compute_eigenvalue (const std::string &option, const Real tol, const bool use_init_space, Vec *v0) |
PetscErrorCode | compute_eigenvalues (Real &eigen_min, Real &eigen_max, const Real &tol) |
Real | power_iteration () |
DenseMatrix< Number > | chebyshev_transform_matrix (const std::size_t N) const |
DenseVector< Number > | chebyshev_quadrature_point (const std::size_t N) const |
bool | chebyshev_polynomial_approximation (const std::size_t N, const Real eigen_min, const Real eigen_max, const Real tol_cheb, Vec *dw) |
PetscErrorCode | hi_ewald (Mat M, Vec f, Vec u) |
PetscErrorCode | _test_diagonal_mat (Vec f, Vec u) |
PetscErrorCode | _vector_mean_variance (Vec u, Real &mean, Real &variance) const |
PetscErrorCode | _vector_mean_variance (const std::vector< Real > &u) const |
PetscErrorCode | _create_shell_mat (const std::size_t N, Mat *M) |
PetscErrorCode | _create_petsc_vec (const std::size_t N, Vec *V) |
Friends | |
PetscErrorCode | _MatMult_Stokes (Mat M, Vec f, Vec u) |
BrownianSystem::BrownianSystem | ( | EquationSystems & | es | ) |
BrownianSystem::~BrownianSystem | ( | ) |
PetscErrorCode BrownianSystem::_create_petsc_vec | ( | const std::size_t | N, |
Vec * | V | ||
) |
PetscErrorCode BrownianSystem::_create_shell_mat | ( | const std::size_t | N, |
Mat * | M | ||
) |
PetscErrorCode BrownianSystem::_test_diagonal_mat | ( | Vec | f, |
Vec | u | ||
) |
PetscErrorCode BrownianSystem::_vector_mean_variance | ( | Vec | u, |
Real & | mean, | ||
Real & | variance | ||
) | const |
PetscErrorCode BrownianSystem::_vector_mean_variance | ( | const std::vector< Real > & | u | ) | const |
bool BrownianSystem::chebyshev_polynomial_approximation | ( | const std::size_t | N, |
const Real | eigen_min, | ||
const Real | eigen_max, | ||
const Real | tol_cheb, | ||
Vec * | dw | ||
) |
DenseVector< Number > BrownianSystem::chebyshev_quadrature_point | ( | const std::size_t | N | ) | const |
DenseMatrix< Number > BrownianSystem::chebyshev_transform_matrix | ( | const std::size_t | N | ) | const |
Real BrownianSystem::compute_eigenvalue | ( | const std::string & | option, |
const Real | tol | ||
) |
Real BrownianSystem::compute_eigenvalue | ( | const std::string & | option, |
const Real | tol, | ||
const bool | use_init_space, | ||
Vec * | v0 | ||
) |
PetscErrorCode BrownianSystem::compute_eigenvalues | ( | Real & | eigen_min, |
Real & | eigen_max, | ||
const Real & | tol | ||
) |
PetscErrorCode BrownianSystem::extract_particle_vector | ( | Vec * | x, |
const std::string & | vec_type, | ||
const std::string & | mode | ||
) |
|
inline |
|
inline |
|
inline |
PetscErrorCode BrownianSystem::init_petsc_random | ( | PetscRandom * | rand_ctx | ) |
PetscErrorCode BrownianSystem::petsc_random_vector | ( | const PetscInt | N, |
PetscRandom * | rand_ctx, | ||
Vec * | u | ||
) |
PetscErrorCode BrownianSystem::petsc_vec_scatter_to_all | ( | Vec | f, |
Vec | vf, | ||
VecScatter | scatter, | ||
const std::string & | mode | ||
) |
Real BrownianSystem::power_iteration | ( | ) |
|
inline |
|
inline |
PetscErrorCode BrownianSystem::std_random_vector | ( | const Real & | a, |
const Real & | b, | ||
const std::string & | random_type, | ||
Vec * | u | ||
) |
std::vector< Real > BrownianSystem::std_random_vector | ( | const std::size_t | N, |
const Real & | a, | ||
const Real & | b, | ||
const std::string & | random_type | ||
) |
PetscErrorCode BrownianSystem::vector_transform | ( | std::vector< Real > & | std_vec, |
Vec * | petsc_vec, | ||
const std::string & | mode | ||
) | const |
|
friend |
Internal function if shell matrix mode is used, this just calls the shell matrix's matrix multiplication function. In this class, it will call Stokes solver. u = M*f NOTE that the pm_system should be reinit() before solving Stokes