Free Electron
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
fe::ext::SemiImplicit Class Reference

Semi Implicit time integration. More...

#include <SemiImplicit.h>

Inheritance diagram for fe::ext::SemiImplicit:
Inheritance graph
[legend]

Public Types

typedef unsigned int t_size
 
typedef std::pair< t_size, t_size > t_pair
 
typedef std::vector< t_pair > t_pairs
 

Public Member Functions

virtual void compile (sp< RecordGroup > rg_input)
 
virtual void initialize (sp< Scope > a_spScope)
 
virtual void extract (sp< RecordGroup > rg_output)
 
virtual void prestep (void)
 
virtual void step (t_solve_real a_timestep, t_solve_v3 &a_totalConstraintForce)
 
virtual void setGravity (t_solve_v3 a_g)
 
virtual void setDirectSolve (bool a_flag)
 
virtual void set2D (bool a_flag)
 
virtual void setRayleighDamping (bool a_flag)
 
virtual void setRayleighDamping (t_solve_real a_stiffness, t_solve_real a_mass)
 
std::vector< Particle > & particles (void)
 
bool lookupIndex (unsigned int &a_particle, Record &r_particle)
 
virtual void addForce (sp< Force > a_force, bool a_add_damping=false)
 
- Public Member Functions inherited from fe::Handled< SemiImplicit >
const hp< SemiImplicit > & getHandle (void) const
 Get a safe handle to this object. More...
 
- Public Member Functions inherited from fe::Protectable
virtual I32 protection (void) const
 
virtual void protect (void)
 
virtual void unprotect (void)
 
virtual Protectableclone (Protectable *pInstance=NULL)
 
- Public Member Functions inherited from fe::Counted
virtual void acquire (void)
 Increment the reference count. More...
 
virtual void acquire (int &rCount)
 Increment the reference count (and get the count) More...
 
virtual void release (void)
 Decrement the reference count. More...
 
virtual void abandon (void)
 Decrement the reference count. More...
 
int count (void) const
 Return the count of references. More...
 
void setName (const String &)
 
void trackReference (void *pReference, String what)
 
void untrackReference (void *pReference)
 
void registerRegion (void *pT, U32 bytes)
 

Private Member Functions

void reorder (std::vector< unsigned int > &a_order, t_pairs &a_pairs)
 

Private Attributes

std::vector< Particle > m_particles
 
AsParticle m_asParticle
 
AsSolverParticle m_asSolverParticle
 
AsLineConstrained m_asLineConstrained
 
AsPlaneConstrained m_asPlaneConstrained
 
AsComponent m_asComponent
 
AsForcePoint m_asForcePoint
 
AsTemporal m_asTemporal
 
AsValidate m_asValidate
 
AsAccumulate m_asAccumulate
 
AsClear m_asClear
 
AsUpdate m_asUpdate
 
AsColored m_asColored
 
AsForceFilter m_asForceFilter
 
hp< SignalerIm_hpSignaler
 
unsigned int m_n
 
unsigned int m_n_sim
 
std::vector< sp< Force > > m_forces_add_damping
 
std::vector< sp< Force > > m_forces_as_is
 
t_solve_matrix m_dummy_block
 
sp< UpperTriangularBCRS< t_solve_real > > m_dfdx
 
sp< UpperTriangularBCRS< t_solve_real > > m_dfdv
 
sp< UpperTriangularBCRS< t_solve_real > > m_lhs
 
sp< UpperTriangularBCRS< t_solve_real > > m_lhs_snapshot
 
std::vector< t_solve_v3m_rhs
 
std::vector< t_solve_v3m_dv
 
std::vector< t_solve_v3m_tmp
 
t_solve_v3 m_gravity
 
std::map< FE_UWORD, unsigned int > m_recordToParticle
 
BlockDiagonalPreconditioner< t_solve_real > m_preconditioner
 
BlockPCG< t_solve_real > m_solver
 
t_solve_real m_dv2dxRatio
 
t_solve_real m_dxImplicitness
 
t_solve_real m_dvImplicitness
 
t_solve_real m_ratio
 
unsigned int m_subdivcnt
 
unsigned int m_subdivsz
 
t_solve_real m_subdivmult
 
bool m_direct_solve
 
bool m_2D
 
bool m_rayleigh_damping
 
t_solve_real m_rayleigh_stiffness
 
t_solve_real m_rayleigh_mass
 
std::vector< t_solve_v3m_perturb
 
std::vector< FilterConstraint< t_solve_real > > m_dummy_filters
 

Additional Inherited Members

- Static Public Member Functions inherited from fe::Counted
static String reportTracker (void)
 
static U32 trackerCount (void)
 
- Protected Member Functions inherited from fe::Handled< SemiImplicit >
void abandonHandle (void)
 
- Protected Member Functions inherited from fe::Counted
int releaseInternal (void)
 Decrement the reference count. More...
 
void suppressReport (void)
 

Detailed Description

Semi Implicit time integration.


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