Namespaces | Classes
oomph Namespace Reference

Namespaces

namespace  MultiDomainBoussinesqHelper
 Namespace for default parameters in multi-domain Boussinesq.
 
namespace  Pseudo_Elastic_Preconditioner_Subsidiary_Operator_Helper
 Functions to create instances of optimal subsidiary operators for the PseudoElasticPreconditioner.
 

Classes

class  AdvectionDiffusionBoussinesqElement
 Build AdvectionDiffusionBoussinesqElement that inherits from ElementWithExternalElement so that it can "communicate" with the Navier Stokes element. More...
 
class  BuoyantQCrouzeixRaviartElement
 A class that solves the Boussinesq approximation of the Navier–Stokes and energy equations by coupling two pre-existing classes. The QAdvectionDiffusionElement with bi-quadratic interpolation for the scalar variable (temperature) and QCrouzeixRaviartElement which solves the Navier–Stokes equations using bi-quadratic interpolation for the velocities and a discontinuous bi-linear interpolation for the pressure. Note that we are free to choose the order in which we store the variables at the nodes. In this case we choose to store the variables in the order fluid velocities followed by temperature. We must, therefore, overload the function AdvectionDiffusionEquations<DIM>::u_index_adv_diff() to indicate that the temperature is stored at the DIM-th position not the 0-th. We do not need to overload the corresponding function in the NavierStokesEquations<DIM> class because the velocities are stored first. More...
 
class  FaceGeometry< BuoyantQCrouzeixRaviartElement< DIM > >
 Face geometry of the 2D Buoyant Crouzeix_Raviart elements. More...
 
class  FaceGeometry< FaceGeometry< BuoyantQCrouzeixRaviartElement< 2 > > >
 Face geometry of the Face geometry of 2D Buoyant Crouzeix_Raviart elements. More...
 
class  FaceGeometry< FaceGeometry< NavierStokesBoussinesqElement< NST_ELEMENT, AD_ELEMENT > > >
 Explicit definition of the face geometry of these elements. More...
 
class  FaceGeometry< NavierStokesBoussinesqElement< NST_ELEMENT, AD_ELEMENT > >
 Explicit definition of the face geometry of these elements. More...
 
class  FourierDecomposedHelmholtzFluxFromNormalDisplacementBCElement
 A class for elements that allow the imposition of an prescribed flux (determined from the normal displacements of an adjacent linearly elastic solid. Normal derivative for displacement potential is given by normal displacement of adjacent solid multiplies by FSI parameter (q = k^2 B/E). The element geometry is obtained from the FaceGeometry<ELEMENT> policy class. More...
 
class  FourierDecomposedTimeHarmonicLinElastLoadedByHelmholtzPressureBCElement
 A class for elements that allow the imposition of an applied traction in the equations of time-harmonic linear elasticity from a Helmholtz potential (interpreted as a displacement potential for the fluid in a quasi-steady, linearised FSI problem.) The geometrical information can be read from the FaceGeometry<ELEMENT> class and and thus, we can be generic enough without the need to have a separate equations class. More...
 
class  FSIPreconditioner
 FSI preconditioner. This extracts upper/lower triangular blocks in the 3x3 overall block matrix structure arising from the monolithic discretisation of FSI problems with algebraic node updates. Dofs are decomposed into fluid velocity, pressure and solid unknowns. NavierStokesSchurComplementPreconditioner is used as the inexact solver for the fluid block; SuperLU (in its incarnation as an "exact" preconditioner) is used for the solid block. By default we retain the fluid on solid off diagonal blocks. More...
 
class  HelmholtzFluxFromNormalDisplacementBCElement
 A class for elements that allow the imposition of an prescribed flux (determined from the normal displacements of an adjacent linearly elastic solid. Normal derivative for displacement potential is given by normal displacement of adjacent solid multiplies by FSI parameter (q = k^2 B/E). The element geometry is obtained from the FaceGeometry<ELEMENT> policy class. More...
 
class  NavierStokesBoussinesqElement
 Build NavierStokesBoussinesqElement that inherits from ElementWithExternalElement so that it can "communicate" with AdvectionDiffusionElementWithExternalElement. More...
 
class  PicardConvergenceData
 Object that collates convergence data of Picard iteration. More...
 
class  PMLHelmholtzFluxFromNormalDisplacementBCElement
 A class for elements that allow the imposition of an prescribed flux (determined from the normal displacements of an adjacent linearly elastic solid. Normal derivative for displacement potential is given by normal displacement of adjacent solid multiplies by FSI parameter (q = k^2 B/E). The element geometry is obtained from the FaceGeometry<ELEMENT> policy class. More...
 
class  PseudoElasticFSIPreconditioner
 Preconditioner for FSI problems with pseudo-elastic fluid node updates. Note: NavierStokesSchurComplementPreconditioner is applied to the Navier Stokes subsidiary system. Default solid preconditioner is ExactPreconditioner. Enumeration of Elastic DOF types in the Pseudo-Elastic Elements The method get_dof_types_for_unknowns() must be implemented such that DOFs subject be Lagrange multiplier and DOFs NOT subject to Lagrange multiplier have different labels. For example in a 3D problem there are 6 DOF types and the following labelling must be implemented: 0 - x displacement (without lagr mult traction) 1 - y displacement (without lagr mult traction) 2 - z displacement (without lagr mult traction) 3 - x displacement (with lagr mult traction) 4 - y displacement (with lagr mult traction) 5 - z displacement (with lagr mult traction) More...
 
class  PseudoElasticPreconditioner
 A subsidiary preconditioner for the pseudo-elastic FSI preconditioner. Also a stand-alone preconditioner for the problem of non-linear elasticity subject to prescribed displacement by Lagrange multiplier. Enumeration of Elastic DOF types in the Pseudo-Elastic Elements The method get_dof_types_for_unknowns() must be implemented such that DOFs subject be Lagrange multiplier and DOFs NOT subject to Lagrange multiplier have different labels. For example in a 3D problem there are 6 DOF types and the following labelling must be implemented: 0 - x displacement (without lagr mult traction) 1 - y displacement (without lagr mult traction) 2 - z displacement (without lagr mult traction) 4 - x displacement (with lagr mult traction) 5 - y displacement (with lagr mult traction) 6 - z displacement (with lagr mult traction) More...
 
class  PseudoElasticPreconditionerOld
 A subsidiary preconditioner for the pseudo-elastic FSI preconditioner. Also a stand-alone preconditioner for the problem of non-linear elasticity subject to prescribed displacement by Lagrange multiplier.. Enumeration of Elastic DOF types in the Pseudo-Elastic Elements The method get_dof_types_for_unknowns() must be implemented such that DOFs subject be Lagrange multiplier and DOFs NOT subject to Lagrange multiplier have different labels. For example in a 3D problem there are 6 DOF types and the following labelling must be implemented: 0 - x displacement (without lagr mult traction) 1 - y displacement (without lagr mult traction) 2 - z displacement (without lagr mult traction) 4 - x displacement (with lagr mult traction) 5 - y displacement (with lagr mult traction) 6 - z displacement (with lagr mult traction) More...
 
class  PseudoElasticPreconditionerScalingHelperOld
 A helper class for PseudoElasticPreconditioner. Note that this is NOT actually a functioning preconditioner. We simply derive from this class to get access to the blocks. More...
 
class  PseudoElasticPreconditionerSubsidiaryBlockPreconditionerOld
 Subsidiary helper preconditioner for the PseudoElasticPreconditioner. Required for block preconditioner of the augmented elastic subsidiary problem. NOTE: More...
 
class  PseudoElasticPreconditionerSubsidiaryPreconditionerOld
 Subsidiary helper preconditioner for the PseudoElasticPreconditioner. Required to construct the augmented elastic system prior to preconditioning. NOTE: More...
 
class  RanOutOfIterationsInSegregatedSolverError
 ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// More...
 
class  RefineableAdvectionDiffusionBoussinesqElement
 Build an AdvectionDiffusionElement that inherits from ElementWithExternalElement so that it can "communicate" with the a NavierStokesElement that provides its wind. More...
 
class  RefineableBuoyantQCrouzeixRaviartElement
 A RefineableElement class that solves the Boussinesq approximation of the Navier–Stokes and energy equations by coupling two pre-existing classes. The RefineableQAdvectionDiffusionElement with bi-quadratic interpolation for the scalar variable (temperature) and RefineableQCrouzeixRaviartElement which solves the Navier–Stokes equations using bi-quadratic interpolation for the velocities and a discontinuous bi-linear interpolation for the pressure. Note that we are free to choose the order in which we store the variables at the nodes. In this case we choose to store the variables in the order fluid velocities followed by temperature. We must, therefore, overload the function AdvectionDiffusionEquations<DIM>::u_index_adv_diff() to indicate that the temperature is stored at the DIM-th position not the 0-th. We do not need to overload the corresponding function in the NavierStokesEquations<DIM> class because the velocities are stored first. Finally, we choose to use the flux-recovery calculation from the fluid velocities to provide the error used in the mesh adaptation. More...
 
class  RefineableNavierStokesBoussinesqElement
 Build a refineable Navier Stokes element that inherits from ElementWithExternalElement so that it can "communicate" with an advection diffusion element that provides the temperature in the body force term. More...
 
class  SegregatableFSIProblem
 Base class for problems that can be solved by segregated FSI solver. More...
 
class  SegregatedSolverError
 A class to handle errors in the Segregated solver. More...
 
class  SimpleFSIPreconditioner
 FSI preconditioner. This extracts upper/lower triangular blocks in the 3x3 overall block matrix structure arising from the monolithic discretisation of FSI problems with algebraic node updates. Dofs are decomposed into fluid velocity, pressure and solid unknowns. Blocks are then re-assembled into one global matrix and solved with a direct solver (SuperLU in its incarnation as an exact preconditioner). By default we retain the fluid on solid off diagonal blocks. More...
 
class  TimeHarmonicLinElastLoadedByHelmholtzPressureBCElement
 A class for elements that allow the imposition of an applied traction in the equations of time-harmonic linear elasticity from a Helmholtz potential (interpreted as a displacement potential for the fluid in a quasi-steady, linearised FSI problem.) The geometrical information can be read from the FaceGeometry<ELEMENT> class and and thus, we can be generic enough without the need to have a separate equations class. More...
 
class  TimeHarmonicLinElastLoadedByPMLHelmholtzPressureBCElement
 A class for elements that allow the imposition of an applied traction in the equations of time-harmonic linear elasticity from a PMLHelmholtz potential (interpreted as a displacement potential for the fluid in a quasi-steady, linearised FSI problem.) The geometrical information can be read from the FaceGeometry<ELEMENT> class and thus, we can be generic enough without the need to have a separate equations class. More...