template<typename TDomain, typename TAlgebra, typename TElem>
class ug::Electromagnetism::NedelecProlongationMatrixHelper< TDomain, TAlgebra, TElem >
Helper class for assembling the prolongation matrix
template<typename TDomain , typename TAlgebra , typename TElem >
assembles the prolongation matrix for one type of the grid elements
Assembles the prolongation matrix for the DoFs between the edges for one type of the grid elements. (This instantiation assumes that the dimensionality of the element is greater than 1.) To get the total prolongation matrix, the functions for all the types should be called.
- Parameters
-
[in] | domain | the domain |
[in] | coarseDD | the coarse grid DD |
[in] | fineDD | the fine grid DD |
[out] | mat | the interpolation matrix |
[out] | vIsRestricted | whether a coarse grid DoF has children |
References ug::DoFDistribution::dof_indices(), ug::DoFRef(), SmartPtr< MultiGrid >::get(), ug::Electromagnetism::NedelecT1_LDisc< TDomain, TElem >::get_shapes(), grid(), ug::DoFDistribution::inner_dof_indices(), ug::DimReferenceMapping< TDim, TWorldDim >::local_to_global(), ug::DoFDistribution::multi_grid(), ug::DoFDistributionInfoProvider::num_fct(), ug::DoFDistributionInfoProvider::num_subsets(), UG_ASSERT, UG_THROW, ug::DimReferenceMapping< TDim, TWorldDim >::update(), ug::VecAdd(), ug::VecDot(), ug::VecSubtract(), and ug::EdgeVertices::vertex().
Referenced by ug::Electromagnetism::NedelecTransfer< TDomain, TAlgebra >::AssembleProlongationMatrix::operator()().
template<typename TDomain , typename TAlgebra , typename TElem >
computes the local coordinates of a vertex according to the assumption of the regular refinement
Computes the local coordinates of a vertex according to the assumption of the regular refinement. The local coordinates are computed w.r.t. a given basis element that should be associated with the parent of the vertex whose all corners must be corners of the base element. (Otherwise an exception is thrown.) The vector of the local coordinates of the given vertex is the arithmetical average of the vectors of the local coordinates of its parent w.r.t. the base element.
Acknowledgements to S. Reiter.
- Parameters
-
[in] | mg | the grid hierarchy |
[in] | v | the vertex |
[in] | base | the base element (for the local coordinates) |
[out] | local | to save the local coordinates |
References ug::Provider< class >::get(), ug::MultiGrid::get_parent(), ug::GetVertexIndex(), local(), ug::PointerConstArray< class >::size(), UG_ASSERT, and UG_THROW.