Parallel Finite Element - General geometry Ewald-like Method
Part of Continuum-particle Simulation Suite under MICCOM
Public Types | Public Member Functions | List of all members
libMesh::PMSystemStokes Class Reference

#include <pm_system_stokes.h>

Inheritance diagram for libMesh::PMSystemStokes:
Inheritance graph
[legend]
Collaboration diagram for libMesh::PMSystemStokes:
Collaboration graph
[legend]

Public Types

typedef PMSystemStokes sys_type
 
- Public Types inherited from libMesh::PMLinearImplicitSystem
typedef PMLinearImplicitSystem sys_type
 

Public Member Functions

 PMSystemStokes (EquationSystems &es, const std::string &name, const unsigned int number)
 
virtual ~PMSystemStokes ()
 
sys_typesystem ()
 
void reinit_hi_system (bool &neighbor_list_update_flag)
 
void reinit_fd_system (bool &neighbor_list_update_flag)
 
void clear ()
 
void assemble_matrix (const std::string &system_name, const std::string &option)
 
void assemble_rhs (const std::string &system_name, const std::string &option)
 
void solve (const std::string &option, const bool &re_init)
 
void add_local_solution ()
 
void test_l2_norm (bool &neighbor_list_update_flag)
 
void write_equation_systems (const std::size_t time_step, const std::string &output_filename, const std::string &output_format)
 
StokesSolver & stokes_solver ()
 
void compute_point_velocity (const std::string &option, std::vector< Real > &pv)
 
std::vector< Real > compute_unperturbed_point_velocity ()
 
std::vector< Real > point_velocity (const std::vector< Real > &vel_beads, const std::size_t i) const
 
std::vector< Real > local_velocity_fluid (const Point &p, const std::string &force_type) const
 
std::vector< Real > local_velocity_fluid (const Elem *elem, const Point &p, const std::string &force_type) const
 
Point local_velocity_bead (const std::size_t &bead_id, const std::string &force_type) const
 
Point global_self_exclusion (const std::size_t p_id) const
 
void test_velocity_profile (bool &neighbor_list_update_flag)
 
void write_fluid_velocity_data (const std::string &filename)
 
- Public Member Functions inherited from libMesh::PMLinearImplicitSystem
 PMLinearImplicitSystem (EquationSystems &es, const std::string &name, const unsigned int number)
 
virtual ~PMLinearImplicitSystem ()
 
sys_typesystem ()
 
void attach_point_mesh (PointMesh< 3 > *pm)
 
PointMesh< 3 > * point_mesh ()
 
PointMesh< 3 > * point_mesh () const
 
void attach_particle_mesh (ParticleMesh< 3 > *pm)
 
ParticleMesh< 3 > * particle_mesh ()
 
ParticleMesh< 3 > * particle_mesh () const
 
void attach_fixes (std::vector< Fix * > fixes)
 
std::vector< Fix * > fixes ()
 
std::vector< Fix * > fixes () const
 
void write_out_single_particle (const Point &coords, const std::vector< Real > &vel, const int i_step, const Real time) const
 
void write_out_point_coordinate (Vec *ROUT, const std::size_t istep, const Real &time, const std::string &f_name, const std::string &openmode) const
 
void write_point_csv (const std::string &filename, const std::vector< Real > &pv, const bool write_velocity) const
 
PetscErrorCode write_point_csv (const std::string &filename, Vec *petsc_vector, const bool write_velocity) const
 

Additional Inherited Members

- Protected Attributes inherited from libMesh::PMLinearImplicitSystem
PointMesh< 3 > * _point_mesh
 
ParticleMesh< 3 > * _particle_mesh
 
std::vector< Fix * > _fixes
 

Member Typedef Documentation

The type of system.

Constructor & Destructor Documentation

libMesh::PMSystemStokes::PMSystemStokes ( EquationSystems &  es,
const std::string &  name,
const unsigned int  number 
)

Constructor.

libMesh::PMSystemStokes::~PMSystemStokes ( )
virtual

Destructor.

Here is the call graph for this function:

Member Function Documentation

void libMesh::PMSystemStokes::add_local_solution ( )
virtual

Implements libMesh::PMLinearImplicitSystem.

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::PMSystemStokes::assemble_matrix ( const std::string &  system_name,
const std::string &  option 
)
virtual

Assemble the system matrix. option == "undisturbed" : undisturbed velocity field (without particles) option == "disturbed" : disturbed velocity field (with particles)

Implements libMesh::PMLinearImplicitSystem.

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::PMSystemStokes::assemble_rhs ( const std::string &  system_name,
const std::string &  option 
)
virtual

Assemble the system rhs.

Implements libMesh::PMLinearImplicitSystem.

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::PMSystemStokes::clear ( )
virtual

Clear all the data structures associated with the system.

Implements libMesh::PMLinearImplicitSystem.

Here is the caller graph for this function:

void libMesh::PMSystemStokes::compute_point_velocity ( const std::string &  option,
std::vector< Real > &  pv 
)

Compute the purturbed velocity vector of moving points according to physical fields. which is a dim*N vector NOTE that the "self-term" should be excluded, which is done in GGEMSystem. See ref. [1] Y Zhang, J J de Pablo, and M D Graham, J Chem Phys (2012) 014901. [2] P Pranay, S G Anekal, J P Hernandez-Ortiz, Phys Fluids (2010)

option = "disturbed" or "undistrubed" pv = particle_velocity

Here is the call graph for this function:

Here is the caller graph for this function:

std::vector< Real > libMesh::PMSystemStokes::compute_unperturbed_point_velocity ( )

Compute the unperturbed velocity vector at the location of particles

Here is the call graph for this function:

Here is the caller graph for this function:

Point libMesh::PMSystemStokes::global_self_exclusion ( const std::size_t  p_id) const

Here is the call graph for this function:

Here is the caller graph for this function:

Point libMesh::PMSystemStokes::local_velocity_bead ( const std::size_t &  bead_id,
const std::string &  force_type 
) const

Local velocity of a bead in an unbounded space, which is computed from Green's function. force_type: "regularized" or "smooth"

Here is the call graph for this function:

Here is the caller graph for this function:

std::vector< Number > libMesh::PMSystemStokes::local_velocity_fluid ( const Point &  p,
const std::string &  force_type 
) const

Local velocity of a fluid point in an unbounded space, which is computed from Green's function force_type: "regularized" or "smooth"

Here is the call graph for this function:

Here is the caller graph for this function:

std::vector< Number > libMesh::PMSystemStokes::local_velocity_fluid ( const Elem *  elem,
const Point &  p,
const std::string &  force_type 
) const

Local velocity of a fluid point in an unbounded space, which is computed from Green's function force_type: "regularized" or "smooth"

Here is the call graph for this function:

std::vector< Real > libMesh::PMSystemStokes::point_velocity ( const std::vector< Real > &  vel_beads,
const std::size_t  i 
) const

Here is the caller graph for this function:

void libMesh::PMSystemStokes::reinit_fd_system ( bool &  neighbor_list_update_flag)

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::PMSystemStokes::reinit_hi_system ( bool &  neighbor_list_update_flag)

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::PMSystemStokes::solve ( const std::string &  option,
const bool &  re_init 
)
virtual

Solve the system.

Implements libMesh::PMLinearImplicitSystem.

Here is the call graph for this function:

Here is the caller graph for this function:

StokesSolver& libMesh::PMSystemStokes::stokes_solver ( )
inline

Here is the call graph for this function:

Here is the caller graph for this function:

sys_type& libMesh::PMSystemStokes::system ( )
inline
Returns
a clever pointer to the system.

Here is the call graph for this function:

void libMesh::PMSystemStokes::test_l2_norm ( bool &  neighbor_list_update_flag)
virtual

Implements libMesh::PMLinearImplicitSystem.

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::PMSystemStokes::test_velocity_profile ( bool &  neighbor_list_update_flag)

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::PMSystemStokes::write_equation_systems ( const std::size_t  time_step,
const std::string &  output_filename,
const std::string &  output_format 
)
virtual

Implements libMesh::PMLinearImplicitSystem.

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::PMSystemStokes::write_fluid_velocity_data ( const std::string &  filename)

Here is the caller graph for this function:


The documentation for this class was generated from the following files: