ITK
4.10.0
Insight Segmentation and Registration Toolkit
|
#include <itkFEMSolverHyperbolic.h>
Solver class suitable for hyperbolic problems.
M*ddu + C*du + K*u=F.
Definition at line 35 of file itkFEMSolverHyperbolic.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::fem::Solver< TDimension > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
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 Attributes | |
Float | m_Beta |
Float | m_Gamma |
unsigned int | m_NumberOfIterations |
Float | m_TimeStep |
Protected Attributes inherited from itk::fem::Solver< TDimension > | |
unsigned int | m_NGFN |
unsigned int | m_NMFC |
LinearSystemWrapper::Pointer | m_LinearSystem |
LinearSystemWrapperVNL | m_LinearSystemVNL |
InterpolationGridPointerType | m_InterpolationGrid |
FEMObjectPointer | m_FEMObject |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
Private Member Functions | |
void | operator= (const Self &) ITK_DELETE_FUNCTION |
SolverHyperbolic (const Self &) ITK_DELETE_FUNCTION | |
Additional Inherited Members | |
Static Public Attributes inherited from itk::fem::Solver< TDimension > | |
static const unsigned int | FEMDimension |
static const unsigned int | MaxDimensions |
typedef SmartPointer<const Self> itk::fem::SolverHyperbolic< TDimension >::ConstPointer |
Definition at line 41 of file itkFEMSolverHyperbolic.h.
typedef Element::Float itk::fem::SolverHyperbolic< TDimension >::Float |
Definition at line 47 of file itkFEMSolverHyperbolic.h.
typedef SmartPointer<Self> itk::fem::SolverHyperbolic< TDimension >::Pointer |
Definition at line 40 of file itkFEMSolverHyperbolic.h.
typedef SolverHyperbolic itk::fem::SolverHyperbolic< TDimension >::Self |
Definition at line 38 of file itkFEMSolverHyperbolic.h.
typedef Solver<TDimension> itk::fem::SolverHyperbolic< TDimension >::Superclass |
Definition at line 39 of file itkFEMSolverHyperbolic.h.
|
protected |
Constants that specify where matrices are strored.
Enumerator | |
---|---|
matrix_K | |
matrix_M | |
matrix_C | |
matrix_tmp |
Definition at line 117 of file itkFEMSolverHyperbolic.h.
|
protected |
Constants that specify where vectors are strored.
Enumerator | |
---|---|
solution_d | |
solution_v | |
solution_a |
Definition at line 120 of file itkFEMSolverHyperbolic.h.
|
protected |
Enumerator | |
---|---|
vector_dhat | |
vector_vhat | |
vector_ahat | |
vector_tmp |
Definition at line 121 of file itkFEMSolverHyperbolic.h.
|
protected |
Referenced by itk::fem::SolverHyperbolic< TDimension >::SetTimeStep().
|
inlineprotectedvirtual |
Definition at line 84 of file itkFEMSolverHyperbolic.h.
References itk::fem::SolverHyperbolic< TDimension >::AssembleElementMatrix(), itk::Math::e, itk::fem::SolverHyperbolic< TDimension >::FinalizeMatrixAfterAssembly(), itk::fem::SolverHyperbolic< TDimension >::GenerateData(), itk::fem::SolverHyperbolic< TDimension >::InitializeLinearSystemWrapper(), itk::fem::SolverHyperbolic< TDimension >::InitializeMatrixForAssembly(), itk::fem::SolverHyperbolic< TDimension >::PrintSelf(), itk::fem::SolverHyperbolic< TDimension >::RunSolver(), and itk::fem::SolverHyperbolic< TDimension >::Solve().
|
private |
|
overrideprotectedvirtual |
When assembling the element matrix into master matrix, we need to assemble the mass matrix too.
Reimplemented from itk::fem::Solver< TDimension >.
Referenced by itk::fem::SolverHyperbolic< TDimension >::~SolverHyperbolic().
|
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::Object.
|
overrideprotectedvirtual |
Combine the M, C and K matrices into one big system of linear equations.
Reimplemented from itk::fem::Solver< TDimension >.
Referenced by itk::fem::SolverHyperbolic< TDimension >::~SolverHyperbolic().
|
overrideprotectedvirtual |
Method invoked by the pipeline in order to trigger the computation.
Reimplemented from itk::fem::Solver< TDimension >.
Referenced by itk::fem::SolverHyperbolic< TDimension >::~SolverHyperbolic().
|
virtual |
Get/Set Beta.
|
virtual |
Get/Set Gamma.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::fem::Solver< TDimension >.
|
virtual |
Get/Set Number of Iterations.
|
inlineoverridevirtual |
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.
|
overrideprotectedvirtual |
Initialize the linear system wrapper.
Reimplemented from itk::fem::Solver< TDimension >.
Referenced by itk::fem::SolverHyperbolic< TDimension >::~SolverHyperbolic().
|
overrideprotectedvirtual |
Initialize the storage for all master matrices.
Reimplemented from itk::fem::Solver< TDimension >.
Referenced by itk::fem::SolverHyperbolic< TDimension >::~SolverHyperbolic().
|
static |
Method for creation through the object factory.
|
private |
|
overrideprotectedvirtual |
Make a DataObject of the correct type to be used as the specified output.
Reimplemented from itk::fem::Solver< TDimension >.
Referenced by itk::fem::SolverHyperbolic< TDimension >::~SolverHyperbolic().
|
overrideprotectedvirtual |
Solve for the displacement vector u at a given time. Update the total solution as well.
Reimplemented from itk::fem::Solver< TDimension >.
Referenced by itk::fem::SolverHyperbolic< TDimension >::~SolverHyperbolic().
|
virtual |
Get/Set Beta.
|
virtual |
Get/Set Gamma.
|
virtual |
Get/Set Number of Iterations.
|
inlineoverridevirtual |
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, and itk::fem::SolverHyperbolic< TDimension >::SolverHyperbolic().
|
protected |
Solve for the displacement vector u for one iteration.
Referenced by itk::fem::SolverHyperbolic< TDimension >::~SolverHyperbolic().
|
protected |
Definition at line 125 of file itkFEMSolverHyperbolic.h.
|
protected |
Definition at line 124 of file itkFEMSolverHyperbolic.h.
|
protected |
Definition at line 126 of file itkFEMSolverHyperbolic.h.
|
protected |
Definition at line 123 of file itkFEMSolverHyperbolic.h.
Referenced by itk::fem::SolverHyperbolic< TDimension >::GetTimeStep(), and itk::fem::SolverHyperbolic< TDimension >::SetTimeStep().