G+Smo
24.08.0
Geometry + Simulation Modules
|
Grid Hierarchy.
This class allows to construct a grid hierarchy and stors a grid hierarchy (vector of bases, local transfer matrices and transfer matrices). The transfer matrices can then be used for the setup of a gsMultiGridOp object.
Public Member Functions | |
void | clear () |
Reset the object (to save memory) | |
const std::vector < gsMultiBasis< T > > & | getMultiBases () const |
Get the vector of gsMultiBasis objects (by reference) | |
const std::vector < gsSparseMatrix< T, RowMajor > > & | getTransferMatrices () const |
Get the vector of transfer matrices (by reference) | |
gsGridHierarchy & | moveMultiBasesTo (std::vector< gsMultiBasis< T > > &o) |
Get the vector of gsMultiBasis objects. | |
gsGridHierarchy & | moveTransferMatricesTo (std::vector< gsSparseMatrix< T, RowMajor > > &o) |
Get the vector of transfer matrices. | |
Static Public Member Functions | |
static gsGridHierarchy | buildByCoarsening (gsMultiBasis< T > mBasis, const gsBoundaryConditions< T > &boundaryConditions, const gsOptionList &assemblerOptions, index_t levels, index_t degreesOfFreedom=0, index_t unk=0) |
This function sets up a grid hierarchy by coarsening. More... | |
static gsGridHierarchy | buildByCoarsening (gsMultiBasis< T > mBasis, const gsBoundaryConditions< T > &boundaryConditions, const gsOptionList &options) |
This function sets up a grid hierarchy by coarsening. More... | |
static gsGridHierarchy | buildByRefinement (gsMultiBasis< T > mBasis, const gsBoundaryConditions< T > &boundaryConditions, const gsOptionList &assemblerOptions, index_t levels, index_t numberOfKnotsToBeInserted=1, index_t multiplicityOfKnotsToBeInserted=1, index_t unk=0) |
This function sets up a multigrid hierarchy by uniform refinement. More... | |
static gsGridHierarchy | buildByRefinement (gsMultiBasis< T > mBasis, const gsBoundaryConditions< T > &boundaryConditions, const gsOptionList &options) |
This function sets up a multigrid hierarchy by uniform refinement. More... | |
static gsOptionList | defaultOptions () |
Get the default options. | |
|
static |
This function sets up a grid hierarchy by coarsening.
mBasis | The gsMultiBasis to be coarsened (initial basis) |
boundaryConditions | The boundary conditions |
assemblerOptions | A gsOptionList defining a "DirichletStrategy" and a "InterfaceStrategy" |
levels | The maximum number of levels |
degreesOfFreedom | Number of dofs in the coarsest grid in the grid hierarchy |
unk | Since the gsBoundaryCondition object can obtain data for systems of PDEs, we have to provide information concerning which unknown we are refering to. |
The algorithm terminates if either the number of levels is reached or the number of degrees of freedom is below the given threshold.
|
inlinestatic |
This function sets up a grid hierarchy by coarsening.
mBasis | The gsMultiBasis to be coarsened (initial basis) |
boundaryConditions | The boundary conditions |
options | A gsOptionList defining the necessary infomation |
Takes boundary conditions for unkown 0.
|
static |
This function sets up a multigrid hierarchy by uniform refinement.
mBasis | The gsMultiBasis to be refined (initial basis) |
boundaryConditions | The boundary conditions |
assemblerOptions | A gsOptionList defining a "DirichletStrategy" and a "InterfaceStrategy" |
levels | The number of levels |
numberOfKnotsToBeInserted | The number of knots to be inserted, defaulted to 1 |
multiplicityOfKnotsToBeInserted | The multiplicity of the knots to be inserted, defaulted to 1 |
unk | Since the gsBoundaryCondition object can obtain data for systems of PDEs, we have to provide information concerning which unknown we are refering to. |
|
inlinestatic |
This function sets up a multigrid hierarchy by uniform refinement.
mBasis | The gsMultiBasis to be refined (initial basis) |
boundaryConditions | The boundary conditions |
options | A gsOptionList defining the necessary infomation Takes boundary conditions for unknown 0. |