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
ElementMatrix.cpph
Stencil.h
a
const float const float const float struct part *restrict struct part *restrict const float a
Definition
hydro_iact.h:55
toolbox::finiteelements::ComplexStencil
tarch::la::Vector< ThreePowerD, std::complex< double > > ComplexStencil
Definition
Stencil.h:30
toolbox::finiteelements::ElementWiseAssemblyMatrix
tarch::la::Matrix< TwoPowerD, TwoPowerD, double > ElementWiseAssemblyMatrix
Element-wise Matrix.
Definition
Stencil.h:18
toolbox::finiteelements::VectorOfComplexStencils
tarch::la::Vector< ThreePowerD *TwoPowerD, std::complex< double > > VectorOfComplexStencils
Definition
Stencil.h:36
toolbox::finiteelements::getDiagonalElement
double getDiagonalElement(const ElementWiseAssemblyMatrix &matrix)
Definition
ElementMatrix.cpp:59
toolbox::finiteelements::inverseHierarchicalTransform
ElementWiseAssemblyMatrix inverseHierarchicalTransform(const ElementWiseAssemblyMatrix &matrix, const tarch::la::Vector< Dimensions, double > &h, double weight=1.0)
Definition
ElementMatrix.cpp:322
toolbox::finiteelements::Stencil
tarch::la::Vector< ThreePowerD, double > Stencil
Stencil.
Definition
Stencil.h:29
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...
Definition
ElementMatrix.cpp:220
toolbox::finiteelements::hierarchicalTransform
ElementWiseAssemblyMatrix hierarchicalTransform(const ElementWiseAssemblyMatrix &matrix, const tarch::la::Vector< Dimensions, double > &h, double weight=1.0)
Definition
ElementMatrix.cpp:302
toolbox::finiteelements::reconstructUniformStencilFragments
Stencil reconstructUniformStencilFragments(const ElementWiseAssemblyMatrix &matrix)
Reconstruct stencils from element matrices.
Definition
ElementMatrix.cpp:70
toolbox::finiteelements::VectorOfStencils
tarch::la::Vector< ThreePowerD *TwoPowerD, double > VectorOfStencils
Vectors.
Definition
Stencil.h:35
toolbox::finiteelements::ComplexElementWiseAssemblyMatrix
tarch::la::Matrix< TwoPowerD, TwoPowerD, std::complex< double > > ComplexElementWiseAssemblyMatrix
Definition
Stencil.h:20
toolbox::finiteelements::stencilProduct
tarch::la::Vector< StencilSize *StencilSize, double > stencilProduct(const tarch::la::Vector< StencilSize, double > &a, const tarch::la::Vector< StencilSize, double > &b)
Definition
ElementMatrix.cpph:2
toolbox::finiteelements::getElementWiseAssemblyMatrix
ElementWiseAssemblyMatrix getElementWiseAssemblyMatrix(const Stencil &stencil)
Derive element-wise matrix from stencil.
Definition
ElementMatrix.cpp:10
toolbox::finiteelements::reconstructStencilFragments
tarch::la::Vector< TwoPowerD *ThreePowerD, double > reconstructStencilFragments(const ElementWiseAssemblyMatrix &matrix)
Reconstruct stencils from element matrices.
Definition
ElementMatrix.cpp:84
toolbox
Definition
InterpolationRestriction.h:10
tarch::la::Vector
Simple vector class.
Definition
Vector.h:150
src
toolbox
finiteelements
ElementMatrix.h
Generated on Fri Apr 11 2025 10:18:13 for Peano by
1.10.0