Peano
Loading...
Searching...
No Matches
ElementMatrix.h
Go to the documentation of this file.
1
// This file is part of the Peano project. For conditions of distribution and
2
// use, please see the copyright notice at www.peano-framework.org
3
#pragma once
4
5
6
#include "
Stencil.h
"
7
#include <bitset>
8
9
10
namespace
toolbox
{
71
namespace
finiteelements {
95
ElementWiseAssemblyMatrix
getElementWiseAssemblyMatrix
(
const
Stencil
& stencil );
96
103
ComplexElementWiseAssemblyMatrix
getElementWiseAssemblyMatrix
(
const
ComplexStencil
& complexStencil );
104
105
122
Stencil
reconstructUniformStencilFragments
(
const
ElementWiseAssemblyMatrix
& matrix );
123
132
tarch::la::Vector<TwoPowerD * ThreePowerD, double>
reconstructStencilFragments
(
const
ElementWiseAssemblyMatrix
& matrix );
133
168
ElementWiseAssemblyMatrix
getElementWiseAssemblyMatrix
(
const
VectorOfStencils
& vectorOfStencils );
169
173
ComplexElementWiseAssemblyMatrix
getElementWiseAssemblyMatrix
(
const
VectorOfComplexStencils
& vectorOfComplexStencils );
174
217
ElementWiseAssemblyMatrix
getElementWiseAssemblyMatrix
(
const
VectorOfStencils
& vectorOfStencils,
const
std::bitset<ThreePowerD>& cellIsInside );
218
222
ComplexElementWiseAssemblyMatrix
getElementWiseAssemblyMatrix
(
const
VectorOfComplexStencils
& vectorOfStencils,
const
std::bitset<ThreePowerD>& cellIsInside );
223
238
int
mapElementMatrixEntryOntoStencilEntry
(
int
row,
int
col);
239
240
int
mapElementMatrixEntryOntoStencilEntry
(
const
tarch::la::Vector<Dimensions,int>
& row,
const
tarch::la::Vector<Dimensions,int>
& col);
241
242
double
getDiagonalElement
(
const
ElementWiseAssemblyMatrix
& matrix );
243
double
getDiagonalElement
(
const
Stencil
& stencil );
244
245
template
<
int
StencilSize>
246
tarch::la::Vector<StencilSize*StencilSize,double>
stencilProduct
(
247
const
tarch::la::Vector<StencilSize,double>
& a,
248
const
tarch::la::Vector<StencilSize,double>
& b
249
);
250
251
template
<
int
StencilSize>
252
tarch::la::Vector<StencilSize*StencilSize*StencilSize,double>
stencilProduct
(
253
const
tarch::la::Vector<StencilSize,double>
& a,
254
const
tarch::la::Vector<StencilSize,double>
& b,
255
const
tarch::la::Vector<StencilSize,double>
& c
256
);
257
261
ElementWiseAssemblyMatrix
hierarchicalTransform
(
262
const
ElementWiseAssemblyMatrix
& matrix,
263
const
tarch::la::Vector<Dimensions,double>
& h,
264
double
weight = 1.0
265
);
266
ElementWiseAssemblyMatrix
inverseHierarchicalTransform
(
267
const
ElementWiseAssemblyMatrix
& matrix,
268
const
tarch::la::Vector<Dimensions,double>
& h,
269
double
weight = 1.0
270
);
271
}
272
}
273
274
#include "ElementMatrix.cpph"
275
Stencil.h
tarch::la::Matrix
Static (i.e.
Definition
Matrix.h:42
toolbox::finiteelements::getDiagonalElement
double getDiagonalElement(const ElementWiseAssemblyMatrix &matrix)
toolbox::finiteelements::getElementWiseAssemblyMatrix
ElementWiseAssemblyMatrix getElementWiseAssemblyMatrix(const Stencil &stencil)
Derive element-wise matrix from stencil.
toolbox::finiteelements::mapElementMatrixEntryOntoStencilEntry
int mapElementMatrixEntryOntoStencilEntry(int row, int col)
An element-wise assembly matrix is distilled from a sequence of stencils which are in turn double a...
toolbox::finiteelements::reconstructUniformStencilFragments
Stencil reconstructUniformStencilFragments(const ElementWiseAssemblyMatrix &matrix)
Reconstruct stencils from element matrices.
toolbox::finiteelements::hierarchicalTransform
ElementWiseAssemblyMatrix hierarchicalTransform(const ElementWiseAssemblyMatrix &matrix, const tarch::la::Vector< Dimensions, double > &h, double weight=1.0)
toolbox::finiteelements::stencilProduct
tarch::la::Vector< StencilSize *StencilSize, double > stencilProduct(const tarch::la::Vector< StencilSize, double > &a, const tarch::la::Vector< StencilSize, double > &b)
toolbox::finiteelements::reconstructStencilFragments
tarch::la::Vector< TwoPowerD *ThreePowerD, double > reconstructStencilFragments(const ElementWiseAssemblyMatrix &matrix)
Reconstruct stencils from element matrices.
toolbox::finiteelements::inverseHierarchicalTransform
ElementWiseAssemblyMatrix inverseHierarchicalTransform(const ElementWiseAssemblyMatrix &matrix, const tarch::la::Vector< Dimensions, double > &h, double weight=1.0)
toolbox
Definition
InterpolationRestriction.h:10
tarch::la::Vector
Simple vector class.
Definition
Vector.h:159
src
toolbox
finiteelements
ElementMatrix.h
Generated on Sat Feb 14 2026 09:42:20 for Peano by
1.10.0