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

#include <rigid_particle.h>

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

Public Member Functions

 RigidParticle (const dof_id_type &particle_id, const int &particle_type, const Point &pt, const Point &mag, const Point &rot, const Real &charge, const Real &epsilon_in, const Point &sedimentation_body_force_density, const Parallel::Communicator &comm_in)
 
 ~RigidParticle ()
 
void init ()
 
std::vector< int > & counter ()
 
dof_id_type id () const
 
Real radius () const
 
const Real & charge () const
 
const Real & epsilon_in () const
 
int processor_id () const
 
void set_processor_id (const int pid)
 
const std::string & mesh_type () const
 
void set_neighbor_list (const std::vector< std::pair< std::size_t, Real > > &nei_list)
 
std::vector< std::pair< std::size_t, Real > > neighbor_list () const
 
void attach_mesh_spring_network (MeshSpringNetwork *msn)
 
MeshSpringNetworkmesh_spring_network () const
 
void extract_surface_mesh (const std::string &vmesh, const std::string &smesh) const
 
void read_mesh (const std::string &filename, const std::string &mesh_type)
 
void read_mesh_sphere (const std::string &filename)
 
void read_mesh_cylinder (const std::string &filename)
 
void write_mesh (const std::string &filename)
 
void update_mesh (const std::vector< Point > &nodal_pos, const std::vector< Point > &nodal_vel)
 
void update_mesh (const std::vector< Point > &nodal_pos)
 
void translate_mesh (const Point &translationDist)
 
void extract_nodes (std::vector< Point > &node_xyz)
 
SerialMesh & mesh ()
 
std::vector< Real > mesh_size () const
 
const Point & mesh_point (const std::size_t i) const
 
const Real node_center_dist (const std::size_t i) const
 
std::size_t num_mesh_nodes () const
 
std::size_t num_mesh_elem () const
 
bool on_the_periodic_boundary ()
 
const bool & if_on_the_periodic_boundary () const
 
void rebuild_periodic_mesh ()
 
void restore_periodic_mesh ()
 
void build_nodal_sedimentation_force ()
 
void compute_volume ()
 
void compute_area ()
 
void compute_centroid ()
 
const Real & get_volume0 () const
 
const Real & get_volume () const
 
const Real & get_area0 () const
 
const Real & get_area () const
 
const Point & get_center0 () const
 
const Point & get_centroid0 ()
 
const Point & get_centroid ()
 
const std::string & get_particle_shape ()
 
Point elem_surface_normal (const Elem &s_elem, const Point &pt0) const
 
std::vector< Point > compute_surface_normal ()
 
void volume_conservation ()
 
void print_info () const
 
void set_node_velocity (std::vector< Point > &node_velocity)
 
void zero_node_force ()
 force on surface nodes More...
 
void add_node_force (std::vector< Point > &node_force)
 add force to surface nodes More...
 
void get_node_force (std::vector< Point > &node_force) const
 get force on surface nodes More...
 
void compute_centroid_velocity ()
 compute body velocity each node of this rigid particle does not have member velocity so we can only calculate centroid_velocity in point_mesh.C and assign it to this rigid particle More...
 
const Point & centroid_velocity ()
 get centroid velocity More...
 
void compute_centroid_force ()
 compute body force More...
 
const Point & centroid_force ()
 

Constructor & Destructor Documentation

libMesh::RigidParticle::RigidParticle ( const dof_id_type &  particle_id,
const int &  particle_type,
const Point &  pt,
const Point &  mag,
const Point &  rot,
const Real &  charge,
const Real &  epsilon_in,
const Point &  sedimentation_body_force_density,
const Parallel::Communicator &  comm_in 
)
libMesh::RigidParticle::~RigidParticle ( )

Member Function Documentation

void libMesh::RigidParticle::add_node_force ( std::vector< Point > &  node_force)

add force to surface nodes

Here is the caller graph for this function:

void libMesh::RigidParticle::attach_mesh_spring_network ( MeshSpringNetwork msn)
inline
void libMesh::RigidParticle::build_nodal_sedimentation_force ( )

Here is the caller graph for this function:

const Point& libMesh::RigidParticle::centroid_force ( )
inline

get centroid force

const Point& libMesh::RigidParticle::centroid_velocity ( )
inline

get centroid velocity

Here is the call graph for this function:

const Real& libMesh::RigidParticle::charge ( ) const
inline
void libMesh::RigidParticle::compute_area ( )

Here is the caller graph for this function:

void libMesh::RigidParticle::compute_centroid ( )

Here is the caller graph for this function:

void libMesh::RigidParticle::compute_centroid_force ( )

compute body force

Here is the caller graph for this function:

void libMesh::RigidParticle::compute_centroid_velocity ( )

compute body velocity each node of this rigid particle does not have member velocity so we can only calculate centroid_velocity in point_mesh.C and assign it to this rigid particle

Here is the caller graph for this function:

std::vector< Point > libMesh::RigidParticle::compute_surface_normal ( )

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::RigidParticle::compute_volume ( )

Here is the call graph for this function:

Here is the caller graph for this function:

std::vector<int>& libMesh::RigidParticle::counter ( )
inline
Point libMesh::RigidParticle::elem_surface_normal ( const Elem &  s_elem,
const Point &  pt0 
) const

Here is the caller graph for this function:

const Real& libMesh::RigidParticle::epsilon_in ( ) const
inline
void libMesh::RigidParticle::extract_nodes ( std::vector< Point > &  node_xyz)

Here is the caller graph for this function:

void libMesh::RigidParticle::extract_surface_mesh ( const std::string &  vmesh,
const std::string &  smesh 
) const

Here is the caller graph for this function:

const Real& libMesh::RigidParticle::get_area ( ) const
inline
const Real& libMesh::RigidParticle::get_area0 ( ) const
inline
const Point& libMesh::RigidParticle::get_center0 ( ) const
inline
const Point& libMesh::RigidParticle::get_centroid ( )
inline
const Point& libMesh::RigidParticle::get_centroid0 ( )
inline
void libMesh::RigidParticle::get_node_force ( std::vector< Point > &  node_force) const
inline

get force on surface nodes

Here is the call graph for this function:

const std::string& libMesh::RigidParticle::get_particle_shape ( )
inline

Here is the call graph for this function:

const Real& libMesh::RigidParticle::get_volume ( ) const
inline
const Real& libMesh::RigidParticle::get_volume0 ( ) const
inline
dof_id_type libMesh::RigidParticle::id ( ) const
inline
const bool& libMesh::RigidParticle::if_on_the_periodic_boundary ( ) const
inline

Here is the call graph for this function:

void libMesh::RigidParticle::init ( )

Here is the call graph for this function:

Here is the caller graph for this function:

SerialMesh & libMesh::RigidParticle::mesh ( )

Here is the caller graph for this function:

const Point & libMesh::RigidParticle::mesh_point ( const std::size_t  i) const

Here is the caller graph for this function:

std::vector< Real > libMesh::RigidParticle::mesh_size ( ) const

Here is the caller graph for this function:

MeshSpringNetwork* libMesh::RigidParticle::mesh_spring_network ( ) const
inline

Here is the call graph for this function:

const std::string& libMesh::RigidParticle::mesh_type ( ) const
inline

Here is the caller graph for this function:

std::vector<std::pair<std::size_t,Real> > libMesh::RigidParticle::neighbor_list ( ) const
inline
const Real libMesh::RigidParticle::node_center_dist ( const std::size_t  i) const

Here is the caller graph for this function:

std::size_t libMesh::RigidParticle::num_mesh_elem ( ) const

Here is the caller graph for this function:

std::size_t libMesh::RigidParticle::num_mesh_nodes ( ) const

Here is the caller graph for this function:

bool libMesh::RigidParticle::on_the_periodic_boundary ( )

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::RigidParticle::print_info ( ) const

Here is the call graph for this function:

Here is the caller graph for this function:

int libMesh::RigidParticle::processor_id ( ) const
inline
Real libMesh::RigidParticle::radius ( ) const
inline
void libMesh::RigidParticle::read_mesh ( const std::string &  filename,
const std::string &  mesh_type 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::RigidParticle::read_mesh_cylinder ( const std::string &  filename)

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::RigidParticle::read_mesh_sphere ( const std::string &  filename)

Here is the caller graph for this function:

void libMesh::RigidParticle::rebuild_periodic_mesh ( )

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::RigidParticle::restore_periodic_mesh ( )

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::RigidParticle::set_neighbor_list ( const std::vector< std::pair< std::size_t, Real > > &  nei_list)
inline
void libMesh::RigidParticle::set_node_velocity ( std::vector< Point > &  node_velocity)
inline

Here is the call graph for this function:

void libMesh::RigidParticle::set_processor_id ( const int  pid)
inline
void libMesh::RigidParticle::translate_mesh ( const Point &  translationDist)

Here is the caller graph for this function:

void libMesh::RigidParticle::update_mesh ( const std::vector< Point > &  nodal_pos,
const std::vector< Point > &  nodal_vel 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::RigidParticle::update_mesh ( const std::vector< Point > &  nodal_pos)

Here is the call graph for this function:

void libMesh::RigidParticle::volume_conservation ( )

Here is the call graph for this function:

Here is the caller graph for this function:

void libMesh::RigidParticle::write_mesh ( const std::string &  filename)

Here is the caller graph for this function:

void libMesh::RigidParticle::zero_node_force ( )

force on surface nodes

Here is the caller graph for this function:


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