ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkFEMSolverHyperbolic.h>
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Element::Float | Float |
typedef SmartPointer< Self > | Pointer |
typedef SolverHyperbolic | Self |
typedef Solver< TDimension > | Superclass |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual const char * | GetNameOfClass () const |
virtual Float | GetTimeStep (void) const |
virtual void | SetTimeStep (Float dt) |
virtual void | SetGamma (Float _arg) |
virtual Float | GetGamma () |
virtual void | SetBeta (Float _arg) |
virtual Float | GetBeta () |
virtual void | SetNumberOfIterations (unsigned int _arg) |
virtual unsigned int | GetNumberOfIterations () |
Static Public Member Functions | |
static Pointer | New () |
Protected Types | |
enum | { matrix_K = 1, matrix_M = 2, matrix_C = 3, matrix_tmp = 4 } |
enum | { solution_d = 0, solution_v = 1, solution_a = 2 } |
enum | { vector_dhat = 2, vector_vhat = 3, vector_ahat = 4, vector_tmp = 5 } |
Protected Member Functions | |
virtual void | AssembleElementMatrix (Element::Pointer e) |
virtual void | FinalizeMatrixAfterAssembly (void) |
void | GenerateData () |
virtual void | InitializeLinearSystemWrapper (void) |
virtual void | InitializeMatrixForAssembly (unsigned int N) |
void | PrintSelf (std::ostream &os, Indent indent) const |
virtual void | RunSolver (void) |
void | Solve () |
SolverHyperbolic () | |
virtual | ~SolverHyperbolic () |
Protected Attributes | |
Float | m_Beta |
Float | m_Gamma |
unsigned int | m_NumberOfIterations |
Float | m_TimeStep |
Private Member Functions | |
void | operator= (const Self &) |
SolverHyperbolic (const Self &) |
Solver class suitable for hyperbolic problems.
M*ddu + C*du + K*u=F.
Definition at line 35 of file itkFEMSolverHyperbolic.h.
typedef SmartPointer<const Self> itk::fem::SolverHyperbolic< TDimension >::ConstPointer |
Reimplemented from itk::fem::Solver< TDimension >.
Definition at line 41 of file itkFEMSolverHyperbolic.h.
typedef Element::Float itk::fem::SolverHyperbolic< TDimension >::Float |
Some convenient typedefs.
Reimplemented from itk::fem::Solver< TDimension >.
Definition at line 47 of file itkFEMSolverHyperbolic.h.
typedef SmartPointer<Self> itk::fem::SolverHyperbolic< TDimension >::Pointer |
Reimplemented from itk::fem::Solver< TDimension >.
Definition at line 40 of file itkFEMSolverHyperbolic.h.
typedef SolverHyperbolic itk::fem::SolverHyperbolic< TDimension >::Self |
Standard class typedefs.
Reimplemented from itk::fem::Solver< TDimension >.
Definition at line 38 of file itkFEMSolverHyperbolic.h.
typedef Solver<TDimension> itk::fem::SolverHyperbolic< TDimension >::Superclass |
Reimplemented from itk::fem::Solver< TDimension >.
Definition at line 39 of file itkFEMSolverHyperbolic.h.
anonymous enum [protected] |
Constants that specify, where matrices are strored.
Definition at line 126 of file itkFEMSolverHyperbolic.h.
anonymous enum [protected] |
Constants that specify, where vectors are strored.
Definition at line 131 of file itkFEMSolverHyperbolic.h.
anonymous enum [protected] |
Definition at line 132 of file itkFEMSolverHyperbolic.h.
itk::fem::SolverHyperbolic< TDimension >::SolverHyperbolic | ( | ) | [protected] |
virtual itk::fem::SolverHyperbolic< TDimension >::~SolverHyperbolic | ( | ) | [inline, protected, virtual] |
Definition at line 84 of file itkFEMSolverHyperbolic.h.
itk::fem::SolverHyperbolic< TDimension >::SolverHyperbolic | ( | const Self & | ) | [private] |
virtual void itk::fem::SolverHyperbolic< TDimension >::AssembleElementMatrix | ( | Element::Pointer | e | ) | [protected, virtual] |
When assembling the element matrix into master matrix, we need to assemble the mass matrix too.
Reimplemented from itk::fem::Solver< TDimension >.
virtual::itk::LightObject::Pointer itk::fem::SolverHyperbolic< TDimension >::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::fem::Solver< TDimension >.
virtual void itk::fem::SolverHyperbolic< TDimension >::FinalizeMatrixAfterAssembly | ( | void | ) | [protected, virtual] |
Combines the M, C and K matrices into one big system of linear equations.
Reimplemented from itk::fem::Solver< TDimension >.
void itk::fem::SolverHyperbolic< TDimension >::GenerateData | ( | ) | [protected, virtual] |
Method invoked by the pipeline in order to trigger the computation.
Reimplemented from itk::fem::Solver< TDimension >.
virtual Float itk::fem::SolverHyperbolic< TDimension >::GetBeta | ( | ) | [virtual] |
Get/Set Beta
virtual Float itk::fem::SolverHyperbolic< TDimension >::GetGamma | ( | ) | [virtual] |
Get/Set Gamma
virtual const char* itk::fem::SolverHyperbolic< TDimension >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods)
Reimplemented from itk::fem::Solver< TDimension >.
virtual unsigned int itk::fem::SolverHyperbolic< TDimension >::GetNumberOfIterations | ( | ) | [virtual] |
Get/Set Number of Iterations
virtual Float itk::fem::SolverHyperbolic< TDimension >::GetTimeStep | ( | void | ) | const [inline, virtual] |
Returns the time step used for dynamic problems.
Reimplemented from itk::fem::Solver< TDimension >.
Definition at line 67 of file itkFEMSolverHyperbolic.h.
References itk::fem::SolverHyperbolic< TDimension >::m_TimeStep.
virtual void itk::fem::SolverHyperbolic< TDimension >::InitializeLinearSystemWrapper | ( | void | ) | [protected, virtual] |
Initialize the linear system wrapper.
Reimplemented from itk::fem::Solver< TDimension >.
virtual void itk::fem::SolverHyperbolic< TDimension >::InitializeMatrixForAssembly | ( | unsigned int | N | ) | [protected, virtual] |
Initializes the storasge for all master matrices.
Reimplemented from itk::fem::Solver< TDimension >.
static Pointer itk::fem::SolverHyperbolic< TDimension >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::fem::Solver< TDimension >.
void itk::fem::SolverHyperbolic< TDimension >::operator= | ( | const Self & | ) | [private] |
Make a DataObject of the correct type to be used as the specified output.
Reimplemented from itk::fem::Solver< TDimension >.
void itk::fem::SolverHyperbolic< TDimension >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Make a DataObject of the correct type to be used as the specified output.
Reimplemented from itk::fem::Solver< TDimension >.
virtual void itk::fem::SolverHyperbolic< TDimension >::RunSolver | ( | void | ) | [protected, virtual] |
Solve for the displacement vector u at a given time. Update the total solution as well.
Reimplemented from itk::fem::Solver< TDimension >.
virtual void itk::fem::SolverHyperbolic< TDimension >::SetBeta | ( | Float | _arg | ) | [virtual] |
Get/Set Beta
virtual void itk::fem::SolverHyperbolic< TDimension >::SetGamma | ( | Float | _arg | ) | [virtual] |
Get/Set Gamma
virtual void itk::fem::SolverHyperbolic< TDimension >::SetNumberOfIterations | ( | unsigned int | _arg | ) | [virtual] |
Get/Set Number of Iterations
virtual void itk::fem::SolverHyperbolic< TDimension >::SetTimeStep | ( | Float | dt | ) | [inline, virtual] |
Sets the time step used for the problems.
dt | New time step. |
Reimplemented from itk::fem::Solver< TDimension >.
Definition at line 77 of file itkFEMSolverHyperbolic.h.
References itk::fem::SolverHyperbolic< TDimension >::m_TimeStep.
void itk::fem::SolverHyperbolic< TDimension >::Solve | ( | ) | [protected] |
Solve for the displacement vector u for one iteration
Float itk::fem::SolverHyperbolic< TDimension >::m_Beta [protected] |
Definition at line 136 of file itkFEMSolverHyperbolic.h.
Float itk::fem::SolverHyperbolic< TDimension >::m_Gamma [protected] |
Definition at line 135 of file itkFEMSolverHyperbolic.h.
unsigned int itk::fem::SolverHyperbolic< TDimension >::m_NumberOfIterations [protected] |
Definition at line 137 of file itkFEMSolverHyperbolic.h.
Float itk::fem::SolverHyperbolic< TDimension >::m_TimeStep [protected] |
Definition at line 134 of file itkFEMSolverHyperbolic.h.
Referenced by itk::fem::SolverHyperbolic< TDimension >::GetTimeStep(), and itk::fem::SolverHyperbolic< TDimension >::SetTimeStep().