Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123456789]
oCoomph::AbsCmp< T >
oCoomph::CommandLineArgs::ArgInfo< T >Structure to store information on a command line argument
oCoomph::AssemblyHandlerA class that is used to define the functions used to assemble the elemental contributions to the residuals vector and Jacobian matrix that define the problem being solved. The main use of this class is to assemble and solve the augmented systems used in bifurcation detection and tracking. The default implementation merely calls the underlying elemental functions with no augmentation
oCoomph::UnstructuredTwoDMeshGeometryBase::base_vertex_infoData structure to store the base vertex info, initial or final vertex in the polylines have an associated base vertex
oCoomph::TriangleBoundaryHelper::BCInfoStructure for Boundary Informations
oCoomph::BellElementShape< DIM >
oCoomph::BellElementShape< 2 >
oCoomph::BlockSelectorData structure to store information about a certain "block" or sub-matrix from the overall matrix in the block preconditioning framework
oCoomph::BoundaryNodeBaseA class that contains the information required by Nodes that are located on Mesh boundaries. A BoundaryNode of a particular type is obtained by combining a given Node with this class. By differentiating between Nodes and BoundaryNodes we avoid a lot of un-necessary storage in the bulk Nodes
oCoomph::BoundingElementType< ELEMENT >This policy class is used to associate specific bounding elements with specific FluidInterface elements. It must be filled in for every class that uses the SpineUpdateFluidInterface<...> or ElasticUpdateFluidInterface<....> generic template classes. Examples for our default Line, Axisymmetric and Surface types are included below
oCoomph::C1CurvedElement< DIM, NNODE_1D >
oCoomph::C1CurvedElementShape< DIM, NNODE_1D >
oCoomph::C1CurvedElementShape< 2, NNODE_1D >
oCoomph::CompareBoundaryCoordinate< ELEMENT >A class to do comparison of the elements by lexicographic ordering, based on the boundary coordinates at the element's first node
oCoomph::ComplexMatrixBaseAbstract base class for matrices of complex doubles – adds abstract interfaces for solving, LU decomposition and multiplication by vectors
oCoomph::CompressedMatrixCoefficientClass for a compressed-matrix coefficent (for either CC or CR matrices). Contains the (row or column) index and value of a coefficient in a compressed row or column. Currently only used in ILU(0) for CCDoubleMatrices to allow the coefficients in each compressed column [row] to be sorted by their row [column] index
oCoomph::CRDoubleMatrix::CRDoubleMatrixComparisonHelperCreate a struct to provide a comparison function for std::sort
oCoomph::CurvedTGauss< DIM, NNODE_1D >
oCoomph::DataA class that represents a collection of data; each Data object may contain many different individual values, as would be natural in non-scalar problems. Data provides storage for auxiliary `history' values that are used by TimeStepper objects to calculate the time derivatives of the stored data and also stores a pointer to the appropriate TimeStepper object. In addition, an associated (global) equation number is stored for each value
oCoomph::DGScalarAdvectionElement< DIM, NNODE_1D >General DGScalarAdvectionClass. Establish the template parameters
oCoomph::DGSpectralEulerElement< DIM, NNODE_1D >General DGEulerClass. Establish the template parameters
oCoomph::DGSpectralScalarAdvectionElement< DIM, NNODE_1D >General DGScalarAdvectionClass. Establish the template parameters
oCoomph::DistributableLinearAlgebraObjectBase class for any linear algebra object that is distributable. Just contains storage for the LinearAlgebraDistribution object and access functions
oCoomph::DistributionPredicateClass to allow sorting of column indices in conversion to epetra matrix
oCoomph::DocInfoInformation for documentation of results: Directory and file number to enable output in the form RESLT/filename11.dat, say. Documentation can be switched on and off
oCoomph::DocLinearSolverInfoCollection of data structures for storing information about linear solves. Currently only contains storage for the iteration counts and the linear solver time
oCoomph::DomainBase class for Domains with curvilinear and/or time-dependent boundaries. Domain boundaries are typically represented by GeomObject s and the Domain itself is decomposed into a number of MacroElement s as shown in this 2D example:
oCoomph::DoubleMatrixBaseAbstract base class for matrices of doubles – adds abstract interfaces for solving, LU decomposition and multiplication by vectors
oCoomph::EdgeEdge class
oCoomph::ErrorEstimatorBase class for spatial error estimators
oCoomph::ExplicitTimeStepperA Base class for explicit timesteppers
oCoomph::FaceGeometry< ELEMENT >
oCoomph::FaceGeometry< BiharmonicElement< 2 > >
oCoomph::FaceGeometry< ELASTICITY_BULK_ELEMENT >
oCoomph::FaceGeometry< FaceGeometry< ELEMENT > >
oCoomph::FaceGeometry< FaceGeometry< GeneralisedNewtonianQCrouzeixRaviartElement< DIM > > >
oCoomph::FaceGeometry< FaceGeometry< GeneralisedNewtonianQTaylorHoodElement< DIM > > >
oCoomph::FaceGeometry< FaceGeometry< NST_ELEMENT > >
oCoomph::FaceGeometry< FaceGeometry< QCrouzeixRaviartElement< DIM > > >
oCoomph::FaceGeometry< FaceGeometry< QTaylorHoodElement< DIM > > >
oCoomph::FaceGeometry< FaceGeometry< SOLID > >
oCoomph::FaceGeometry< FLUID_BULK_ELEMENT >
oCoomph::FaceGeometry< GeneralisedNewtonianQCrouzeixRaviartElement< DIM > >
oCoomph::FaceGeometry< GeneralisedNewtonianQTaylorHoodElement< DIM > >
oCoomph::FaceGeometry< HELMHOLTZ_BULK_ELEMENT >
oCoomph::FaceGeometry< NST_ELEMENT >
oCoomph::FaceGeometry< QCrouzeixRaviartElement< DIM > >
oCoomph::FaceGeometry< QTaylorHoodElement< DIM > >
oCoomph::FaceGeometry< SOLID >
oCoomph::FluidInterfaceAdditionalValues< ELEMENT >This policy class is used to allow additional values to be added to the nodes from new surface equations, for examples of usage see the SurfactantTransportFluidInterfaceElements. The use of this class avoids issues with calling virtual functions in constructors and avoids having a global look-up able, although it functions in much the same way. Typically, this will only be filled in by "expert users" and is only required if you want to write generic surface-element classes. Specific classes can always be overloaded on a case-by-case basis
oCoomph::FluidInterfaceAdditionalValues< FluidInterfaceElement >Specific policy class for the FluidInterfaceElemetnts, which do not require any additional values at the nodes
oCoomph::FluidInterfaceAdditionalValues< SurfactantTransportInterfaceElement >
oCoomph::Gauss< DIM, NPTS_1D >
oCoomph::Gauss< 1, NNODE_1D >
oCoomph::Gauss< 2, NNODE_1D >
oCoomph::Gauss< 3, NNODE_1D >
oCoomph::Gauss< DIM, 3 >
oCoomph::GaussLegendre< DIM, NPTS_1D >
oCoomph::GaussLobattoLegendre< DIM, NPTS_1D >
oCoomph::GaussLobattoLegendre< 1, NNODE_1D >
oCoomph::GaussLobattoLegendre< 2, NNODE_1D >
oCoomph::GaussLobattoLegendre< 3, NNODE_1D >
oCoomph::GeneralisedElementA Generalised Element class
oCoomph::GeneralisedNewtonianConstitutiveEquation< DIM >A Base class defining the generalise Newtonian constitutive relation
oCoomph::GeneralisedNewtonianConstitutiveEquation< 3 >
oCoomph::GeometricTElement< DIM >
oCoomph::GeometricTElement< 2 >
oCoomph::TreeBasedRefineableMeshBase::HangHelperStructHelper struct to collate data required during TreeBasedRefineableMeshBase::synchronise_hanging_nodes
oCoomph::HangInfoClass that contains data for hanging nodes
oCoomph::LinearAlgebraDistributionDescribes the distribution of a distributable linear algebra type object. Typically this is a container (such as a DoubleVector) or an operator (e.g Preconditioner or LinearSolver). This object is used in both serial and parallel implementations. In the serial context (no MPI) this just contains an integer indicating the number of rows. In parallel either each processor holds a subset of the set of global rows. (each processor contains only a single continuous block of rows - parametised with variables denoting the first row and the number of local rows) or, all rows are be duplicated across all processors. In parallel this object also contains an OomphCommunicator object which primarily contains the MPI_Comm communicator associated with this object
oCoomph::LinearTElement< DIM >A class for Linear triangular shape function with 3 vertex nodes
oCoomph::LinearTElement< 2 >
oCoomph::LineVisualiserClass to aid visualisation of the values on a set of points. NOTE: in a distributed problem, output is only done on processor 0
oCoomph::MacroElementNodeUpdateElementBaseBase class for elements that allow MacroElement-based node update
oCoomph::MapMatrixMixed< KEY_TYPE, KEY_TYPE, VALUE_TYPE >
oCoomph::MapMatrixMixed< unsigned, unsigned, oomph::CRDoubleMatrix * >
oCoomph::Matrix< T, MATRIX_TYPE >Abstract base class for matrices, templated by the type of object that is stored in them and the type of matrix. The MATRIX_TYPE template argument is used as part of the Curiously Recurring Template Pattern, see The pattern is used to force the inlining of the round bracket access functions by ensuring that they are NOT virtual functions
oCoomph::Matrix< double, CCMatrix< double > >
oCoomph::Matrix< double, CRDoubleMatrix >
oCoomph::Matrix< double, CRMatrix< double > >
oCoomph::Matrix< double, SumOfMatrices >
oCoomph::Matrix< std::complex< double >, CCMatrix< std::complex< double > > >
oCoomph::Matrix< std::complex< double >, CRMatrix< std::complex< double > > >
oCoomph::Matrix< T, CCMatrix< T > >
oCoomph::Matrix< T, CRMatrix< T > >
oCoomph::Matrix< T, DenseMatrix< T > >
oCoomph::MeshA general mesh class
oCoomph::MPI_HelpersMPI_Helpers class contains static helper methods to support MPI within oomph-lib. The methods init(...) and finalize() initialize and finalize MPI in oomph-lib and manage the oomph-libs global communicator communicator_pt(). NOTE: This class encapsulates static helper methods and instances of it CANNOT be instantiated
oCAnasazi::MultiVecTraits< double, oomph::DoubleMultiVector >
oCoomph::NewtonSolverErrorA class to handle errors in the Newton solver
oCoomph::OomphCommunicatorAn oomph-lib wrapper to the MPI_Comm communicator object. Just contains an MPI_Comm object (which is a pointer) and wrappers to the MPI_... methods
oCAnasazi::OperatorTraits< double, oomph::DoubleMultiVector, oomph::DoubleMultiVectorOperator >
oCoomph::PicardConvergenceDataObject that collates convergence data of Picard iteration
oCoomph::PMLElementBase< DIM >Base class for elements with pml capabilities
oCoomph::PMLElementBase< 2 >
oCoomph::PMLLayerElement< ELEMENT >
oCoomph::TriangleMesh< ELEMENT >::Point
oCoomph::PreconditionerArrayPreconditionerArray - NOTE - first implementation, a number of assumptions / simplifications were made:
oCoomph::PRefineableQElement< DIM, INITIAL_NNODE_1D >
oCoomph::PRefineableQElement< DIM >
oCoomph::PRefineableQElement< DIM, 3 >
oCoomph::ProjectableElementBaseTemplate-free Base class for projectable elements
oCoomph::QElement< DIM, NNODE_1D >