Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Backofen, Rainer
amdis
Commits
7d1f4b51
Commit
7d1f4b51
authored
Sep 28, 2009
by
Thomas Witkowski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Changed introduction comments.
parent
0382ae63
Changes
152
Hide whitespace changes
Inline
Side-by-side
Showing
152 changed files
with
1174 additions
and
1174 deletions
+1174
-1174
AMDiS/compositeFEM/src/CFE_Integration.h
AMDiS/compositeFEM/src/CFE_Integration.h
+23
-7
AMDiS/compositeFEM/src/CFE_NormAndErrorFcts.h
AMDiS/compositeFEM/src/CFE_NormAndErrorFcts.h
+92
-168
AMDiS/compositeFEM/src/CompositeFEMMethods.h
AMDiS/compositeFEM/src/CompositeFEMMethods.h
+23
-5
AMDiS/compositeFEM/src/CompositeFEMOperator.h
AMDiS/compositeFEM/src/CompositeFEMOperator.h
+22
-5
AMDiS/compositeFEM/src/ElementLevelSet.h
AMDiS/compositeFEM/src/ElementLevelSet.h
+106
-125
AMDiS/compositeFEM/src/LevelSetAdaptMesh.h
AMDiS/compositeFEM/src/LevelSetAdaptMesh.h
+51
-58
AMDiS/compositeFEM/src/PenaltyOperator.h
AMDiS/compositeFEM/src/PenaltyOperator.h
+34
-42
AMDiS/compositeFEM/src/SubElementAssembler.h
AMDiS/compositeFEM/src/SubElementAssembler.h
+19
-0
AMDiS/compositeFEM/src/SubPolytope.h
AMDiS/compositeFEM/src/SubPolytope.h
+43
-41
AMDiS/compositeFEM/src/TranslateLsFct.h
AMDiS/compositeFEM/src/TranslateLsFct.h
+33
-19
AMDiS/compositeFEM/src/compositeFEM.h
AMDiS/compositeFEM/src/compositeFEM.h
+21
-0
AMDiS/src/AMDiS_fwd.h
AMDiS/src/AMDiS_fwd.h
+5
-5
AMDiS/src/AbstractFunction.h
AMDiS/src/AbstractFunction.h
+5
-5
AMDiS/src/AdaptBase.h
AMDiS/src/AdaptBase.h
+5
-5
AMDiS/src/AdaptInfo.h
AMDiS/src/AdaptInfo.h
+5
-5
AMDiS/src/AdaptInstationary.h
AMDiS/src/AdaptInstationary.h
+5
-5
AMDiS/src/AdaptStationary.h
AMDiS/src/AdaptStationary.h
+5
-5
AMDiS/src/Assembler.h
AMDiS/src/Assembler.h
+5
-5
AMDiS/src/BallProject.h
AMDiS/src/BallProject.h
+5
-5
AMDiS/src/BasisFunction.h
AMDiS/src/BasisFunction.h
+5
-5
AMDiS/src/Boundary.h
AMDiS/src/Boundary.h
+5
-5
AMDiS/src/BoundaryCondition.h
AMDiS/src/BoundaryCondition.h
+5
-5
AMDiS/src/BoundaryManager.h
AMDiS/src/BoundaryManager.h
+5
-5
AMDiS/src/Cholesky.h
AMDiS/src/Cholesky.h
+5
-5
AMDiS/src/CoarseningManager.h
AMDiS/src/CoarseningManager.h
+5
-5
AMDiS/src/CoarseningManager1d.h
AMDiS/src/CoarseningManager1d.h
+5
-5
AMDiS/src/CoarseningManager2d.h
AMDiS/src/CoarseningManager2d.h
+5
-5
AMDiS/src/CoarseningManager3d.h
AMDiS/src/CoarseningManager3d.h
+5
-5
AMDiS/src/ComponentTraverseInfo.h
AMDiS/src/ComponentTraverseInfo.h
+5
-5
AMDiS/src/ConditionalEstimator.h
AMDiS/src/ConditionalEstimator.h
+5
-5
AMDiS/src/ConditionalMarker.h
AMDiS/src/ConditionalMarker.h
+5
-5
AMDiS/src/CouplingTimeInterface.h
AMDiS/src/CouplingTimeInterface.h
+5
-5
AMDiS/src/CreatorInterface.h
AMDiS/src/CreatorInterface.h
+5
-5
AMDiS/src/CreatorMap.h
AMDiS/src/CreatorMap.h
+5
-5
AMDiS/src/CylinderProject.h
AMDiS/src/CylinderProject.h
+5
-5
AMDiS/src/DOFAdmin.h
AMDiS/src/DOFAdmin.h
+5
-5
AMDiS/src/DOFContainer.h
AMDiS/src/DOFContainer.h
+5
-5
AMDiS/src/DOFIndexed.h
AMDiS/src/DOFIndexed.h
+5
-5
AMDiS/src/DOFIterator.h
AMDiS/src/DOFIterator.h
+5
-5
AMDiS/src/DOFMatrix.h
AMDiS/src/DOFMatrix.h
+5
-5
AMDiS/src/DOFVector.h
AMDiS/src/DOFVector.h
+5
-5
AMDiS/src/DataCollector.h
AMDiS/src/DataCollector.h
+5
-5
AMDiS/src/DirichletBC.h
AMDiS/src/DirichletBC.h
+5
-5
AMDiS/src/DualTraverse.h
AMDiS/src/DualTraverse.h
+5
-5
AMDiS/src/ElInfo.h
AMDiS/src/ElInfo.h
+5
-5
AMDiS/src/ElInfo1d.h
AMDiS/src/ElInfo1d.h
+5
-5
AMDiS/src/ElInfo2d.h
AMDiS/src/ElInfo2d.h
+5
-5
AMDiS/src/ElInfo3d.h
AMDiS/src/ElInfo3d.h
+5
-5
AMDiS/src/ElInfoStack.h
AMDiS/src/ElInfoStack.h
+5
-5
AMDiS/src/Element.h
AMDiS/src/Element.h
+5
-5
AMDiS/src/ElementData.h
AMDiS/src/ElementData.h
+5
-5
AMDiS/src/ElementDofIterator.h
AMDiS/src/ElementDofIterator.h
+5
-5
AMDiS/src/ElementFunction.h
AMDiS/src/ElementFunction.h
+5
-5
AMDiS/src/ElementInfo.h
AMDiS/src/ElementInfo.h
+5
-5
AMDiS/src/ElementRegion_ED.h
AMDiS/src/ElementRegion_ED.h
+5
-5
AMDiS/src/EmptyElementData.h
AMDiS/src/EmptyElementData.h
+5
-5
AMDiS/src/Error.h
AMDiS/src/Error.h
+5
-5
AMDiS/src/Estimator.h
AMDiS/src/Estimator.h
+5
-5
AMDiS/src/FileWriter.h
AMDiS/src/FileWriter.h
+5
-5
AMDiS/src/FiniteElemSpace.h
AMDiS/src/FiniteElemSpace.h
+5
-5
AMDiS/src/FixVec.h
AMDiS/src/FixVec.h
+5
-5
AMDiS/src/FixVecConvert.h
AMDiS/src/FixVecConvert.h
+5
-5
AMDiS/src/Flag.h
AMDiS/src/Flag.h
+5
-5
AMDiS/src/GNUPlotWriter.h
AMDiS/src/GNUPlotWriter.h
+5
-5
AMDiS/src/Global.h
AMDiS/src/Global.h
+5
-5
AMDiS/src/GlobalDOFNumbering.h
AMDiS/src/GlobalDOFNumbering.h
+5
-5
AMDiS/src/GlobalElementNumbering.h
AMDiS/src/GlobalElementNumbering.h
+5
-5
AMDiS/src/GridWriter.h
AMDiS/src/GridWriter.h
+5
-5
AMDiS/src/ITL_OEMSolver.h
AMDiS/src/ITL_OEMSolver.h
+10
-8
AMDiS/src/ITL_Preconditioner.h
AMDiS/src/ITL_Preconditioner.h
+5
-5
AMDiS/src/ITL_Solver.h
AMDiS/src/ITL_Solver.h
+5
-5
AMDiS/src/InteriorBoundary.h
AMDiS/src/InteriorBoundary.h
+5
-5
AMDiS/src/Lagrange.h
AMDiS/src/Lagrange.h
+5
-5
AMDiS/src/LeafData.h
AMDiS/src/LeafData.h
+5
-5
AMDiS/src/Line.h
AMDiS/src/Line.h
+5
-5
AMDiS/src/MacroElement.h
AMDiS/src/MacroElement.h
+5
-5
AMDiS/src/MacroReader.h
AMDiS/src/MacroReader.h
+5
-5
AMDiS/src/MacroWriter.h
AMDiS/src/MacroWriter.h
+5
-5
AMDiS/src/Marker.h
AMDiS/src/Marker.h
+5
-5
AMDiS/src/MatrixVector.h
AMDiS/src/MatrixVector.h
+5
-5
AMDiS/src/Mesh.h
AMDiS/src/Mesh.h
+5
-5
AMDiS/src/MeshStructure.h
AMDiS/src/MeshStructure.h
+5
-5
AMDiS/src/MeshStructure_ED.h
AMDiS/src/MeshStructure_ED.h
+5
-5
AMDiS/src/MpCCIAdapter.h
AMDiS/src/MpCCIAdapter.h
+5
-5
AMDiS/src/Newton.h
AMDiS/src/Newton.h
+5
-5
AMDiS/src/NewtonS.h
AMDiS/src/NewtonS.h
+5
-5
AMDiS/src/NonLinSolver.h
AMDiS/src/NonLinSolver.h
+5
-5
AMDiS/src/NonLinUpdater.h
AMDiS/src/NonLinUpdater.h
+5
-5
AMDiS/src/OEMSolver.h
AMDiS/src/OEMSolver.h
+5
-5
AMDiS/src/Operator.h
AMDiS/src/Operator.h
+5
-5
AMDiS/src/ParMetisPartitioner.h
AMDiS/src/ParMetisPartitioner.h
+5
-5
AMDiS/src/ParallelDomainBase.h
AMDiS/src/ParallelDomainBase.h
+5
-5
AMDiS/src/ParallelDomainScal.h
AMDiS/src/ParallelDomainScal.h
+5
-5
AMDiS/src/ParallelDomainVec.h
AMDiS/src/ParallelDomainVec.h
+5
-5
AMDiS/src/ParallelError.h
AMDiS/src/ParallelError.h
+5
-5
AMDiS/src/ParallelProblem.h
AMDiS/src/ParallelProblem.h
+5
-5
AMDiS/src/Parameters.h
AMDiS/src/Parameters.h
+5
-5
AMDiS/src/Parametric.h
AMDiS/src/Parametric.h
+5
-5
AMDiS/src/PardisoSolver.h
AMDiS/src/PardisoSolver.h
+5
-5
AMDiS/src/PartitionElementData.h
AMDiS/src/PartitionElementData.h
+5
-5
AMDiS/src/PeriodicBC.h
AMDiS/src/PeriodicBC.h
+5
-5
AMDiS/src/PeriodicInfo.h
AMDiS/src/PeriodicInfo.h
+5
-5
AMDiS/src/PeriodicMap.h
AMDiS/src/PeriodicMap.h
+5
-5
AMDiS/src/PngWriter.h
AMDiS/src/PngWriter.h
+5
-5
AMDiS/src/ProblemInstat.h
AMDiS/src/ProblemInstat.h
+5
-5
AMDiS/src/ProblemInterpolScal.h
AMDiS/src/ProblemInterpolScal.h
+5
-5
AMDiS/src/ProblemInterpolVec.h
AMDiS/src/ProblemInterpolVec.h
+5
-5
AMDiS/src/ProblemIterationInterface.h
AMDiS/src/ProblemIterationInterface.h
+5
-5
AMDiS/src/ProblemNonLin.h
AMDiS/src/ProblemNonLin.h
+5
-5
AMDiS/src/ProblemScal.h
AMDiS/src/ProblemScal.h
+5
-5
AMDiS/src/ProblemStatBase.h
AMDiS/src/ProblemStatBase.h
+5
-5
AMDiS/src/ProblemTimeInterface.h
AMDiS/src/ProblemTimeInterface.h
+5
-5
AMDiS/src/ProblemVec.h
AMDiS/src/ProblemVec.h
+5
-5
AMDiS/src/Projection.h
AMDiS/src/Projection.h
+5
-5
AMDiS/src/QPInfo.h
AMDiS/src/QPInfo.h
+5
-5
AMDiS/src/QPsiPhi.h
AMDiS/src/QPsiPhi.h
+5
-5
AMDiS/src/Quadrature.h
AMDiS/src/Quadrature.h
+5
-5
AMDiS/src/RCNeighbourList.h
AMDiS/src/RCNeighbourList.h
+5
-5
AMDiS/src/Recovery.h
AMDiS/src/Recovery.h
+5
-5
AMDiS/src/RecoveryEstimator.h
AMDiS/src/RecoveryEstimator.h
+5
-5
AMDiS/src/RefinementManager.h
AMDiS/src/RefinementManager.h
+5
-5
AMDiS/src/RefinementManager1d.h
AMDiS/src/RefinementManager1d.h
+5
-5
AMDiS/src/RefinementManager2d.h
AMDiS/src/RefinementManager2d.h
+5
-5
AMDiS/src/RefinementManager3d.h
AMDiS/src/RefinementManager3d.h
+5
-5
AMDiS/src/ResidualEstimator.h
AMDiS/src/ResidualEstimator.h
+5
-5
AMDiS/src/ResidualParallelEstimator.h
AMDiS/src/ResidualParallelEstimator.h
+5
-5
AMDiS/src/RobinBC.h
AMDiS/src/RobinBC.h
+5
-5
AMDiS/src/SMIAdapter.h
AMDiS/src/SMIAdapter.h
+5
-5
AMDiS/src/Serializable.h
AMDiS/src/Serializable.h
+5
-5
AMDiS/src/Serializer.h
AMDiS/src/Serializer.h
+5
-5
AMDiS/src/SolverMatrix.h
AMDiS/src/SolverMatrix.h
+5
-5
AMDiS/src/StandardProblemIteration.h
AMDiS/src/StandardProblemIteration.h
+5
-5
AMDiS/src/SubQuadrature.h
AMDiS/src/SubQuadrature.h
+5
-5
AMDiS/src/SurfaceAssembler.h
AMDiS/src/SurfaceAssembler.h
+5
-5
AMDiS/src/SurfaceOperator.h
AMDiS/src/SurfaceOperator.h
+5
-5
AMDiS/src/SurfaceQuadrature.h
AMDiS/src/SurfaceQuadrature.h
+5
-5
AMDiS/src/SurfaceRegion_ED.h
AMDiS/src/SurfaceRegion_ED.h
+5
-5
AMDiS/src/SystemVector.h
AMDiS/src/SystemVector.h
+5
-5
AMDiS/src/TecPlotWriter.h
AMDiS/src/TecPlotWriter.h
+5
-5
AMDiS/src/Tetrahedron.h
AMDiS/src/Tetrahedron.h
+5
-5
AMDiS/src/TimedObject.h
AMDiS/src/TimedObject.h
+5
-5
AMDiS/src/Traverse.h
AMDiS/src/Traverse.h
+5
-5
AMDiS/src/TraverseParallel.h
AMDiS/src/TraverseParallel.h
+5
-5
AMDiS/src/Triangle.h
AMDiS/src/Triangle.h
+5
-5
AMDiS/src/UmfPackSolver.h
AMDiS/src/UmfPackSolver.h
+5
-5
AMDiS/src/ValueReader.h
AMDiS/src/ValueReader.h
+5
-5
AMDiS/src/ValueWriter.h
AMDiS/src/ValueWriter.h
+5
-5
AMDiS/src/VertexInfo.h
AMDiS/src/VertexInfo.h
+5
-5
AMDiS/src/VtkWriter.h
AMDiS/src/VtkWriter.h
+5
-5
AMDiS/src/parareal/AdaptParaReal.cc
AMDiS/src/parareal/AdaptParaReal.cc
+2
-1
AMDiS/src/parareal/AdaptParaReal.h
AMDiS/src/parareal/AdaptParaReal.h
+5
-5
AMDiS/src/parareal/ProblemBase.h
AMDiS/src/parareal/ProblemBase.h
+5
-5
No files found.
AMDiS/compositeFEM/src/CFE_Integration.h
View file @
7d1f4b51
// ============================================================================
// == ==
// == AMDiS - Adaptive multidimensional simulations ==
// == ==
// ============================================================================
// == ==
// == TU Dresden ==
// == ==
// == Institut fr Wissenschaftliches Rechnen ==
// == Zellescher Weg 12-14 ==
// == 01069 Dresden ==
// == germany ==
// == ==
// ============================================================================
// == ==
// == https://gforge.zih.tu-dresden.de/projects/amdis/ ==
// == ==
// ============================================================================
/** \file CFE_Integration.h */
#ifndef AMDIS_CFE_INTEGRATION_H
#ifndef AMDIS_CFE_INTEGRATION_H
#define AMDIS_CFE_INTEGRATION_H
#define AMDIS_CFE_INTEGRATION_H
...
@@ -10,10 +31,7 @@ namespace AMDiS {
...
@@ -10,10 +31,7 @@ namespace AMDiS {
class
CFE_Integration
class
CFE_Integration
{
{
public:
public:
/**
/// Calculates integral of function f on domain where level set function is negative.
* Calculates integral of function f on domain where level set function
* is negative.
*/
static
double
integrate_onNegLs
(
ElementFunction
<
double
>
*
f
,
static
double
integrate_onNegLs
(
ElementFunction
<
double
>
*
f
,
ElementLevelSet
*
elLS
,
ElementLevelSet
*
elLS
,
int
deg
=
1
,
int
deg
=
1
,
...
@@ -29,9 +47,7 @@ namespace AMDiS {
...
@@ -29,9 +47,7 @@ namespace AMDiS {
int
deg
=
1
,
int
deg
=
1
,
Quadrature
*
q
=
NULL
);
Quadrature
*
q
=
NULL
);
protected:
protected:
/**
/// Calculates determinant for surface given through surfVert.
* Calculates determinant for surface given through surfVert.
*/
static
double
calcSurfaceDet
(
ElInfo
*
loc_elInfo
,
static
double
calcSurfaceDet
(
ElInfo
*
loc_elInfo
,
VectorOfFixVecs
<
DimVec
<
double
>
>
&
surfVert
);
VectorOfFixVecs
<
DimVec
<
double
>
>
&
surfVert
);
};
};
...
...
AMDiS/compositeFEM/src/CFE_NormAndErrorFcts.h
View file @
7d1f4b51
// ============================================================================
// == ==
// == AMDiS - Adaptive multidimensional simulations ==
// == ==
// ============================================================================
// == ==
// == TU Dresden ==
// == ==
// == Institut fr Wissenschaftliches Rechnen ==
// == Zellescher Weg 12-14 ==
// == 01069 Dresden ==
// == germany ==
// == ==
// ============================================================================
// == ==
// == https://gforge.zih.tu-dresden.de/projects/amdis/ ==
// == ==
// ============================================================================
/** \file CFE_NormAndErrorFcts.h */
#ifndef AMDIS_CFE_NORMANDERRORFCTS_H
#ifndef AMDIS_CFE_NORMANDERRORFCTS_H
#define AMDIS_CFE_NORMANDERRORFCTS_H
#define AMDIS_CFE_NORMANDERRORFCTS_H
...
@@ -15,222 +36,168 @@ namespace AMDiS {
...
@@ -15,222 +36,168 @@ namespace AMDiS {
class
ElementNorm
class
ElementNorm
{
{
public:
public:
/**
/// Constructor.
* Constructor.
*/
ElementNorm
(
Quadrature
*
q_
)
ElementNorm
(
Quadrature
*
q_
)
:
q
(
q_
),
:
q
(
q_
),
nQPts
(
0
)
nQPts
(
0
)
{
{
if
(
q
)
if
(
q
)
nQPts
=
q
->
getNumPoints
();
nQPts
=
q
->
getNumPoints
();
}
;
}
/**
/// Destructor.
* Destructor.
virtual
~
ElementNorm
()
{}
*/
virtual
~
ElementNorm
()
{};
/**
/// Calculates element norm on elInfo.
* Calculates element norm on elInfo.
*/
virtual
double
calcElNorm
(
ElInfo
*
elInfo
,
virtual
double
calcElNorm
(
ElInfo
*
elInfo
,
const
double
&
det
,
const
double
&
det
,
const
double
&
fac
=
1.0
)
=
0
;
const
double
&
fac
=
1.0
)
=
0
;
/**
/// Sets quadrature to q_.
* Sets quadrature to q_.
inline
void
setQuadrature
(
Quadrature
*
q_
)
*/
{
inline
void
setQuadrature
(
Quadrature
*
q_
)
{
q
=
q_
;
q
=
q_
;
nQPts
=
q
->
getNumPoints
();
nQPts
=
q
->
getNumPoints
();
}
;
}
protected:
protected:
/**
/// Quadrature formula.
* Quadrature formula.
*/
Quadrature
*
q
;
Quadrature
*
q
;
/**
/// Number of quadrature points.
* Number of quadrature points.
*/
int
nQPts
;
int
nQPts
;
};
};
class
ElementL1Norm_Analyt
:
public
ElementNorm
class
ElementL1Norm_Analyt
:
public
ElementNorm
{
{
public:
public:
/**
/// Constructor.
* Constructor.
*/
ElementL1Norm_Analyt
(
Quadrature
*
q_
,
ElementL1Norm_Analyt
(
Quadrature
*
q_
,
AbstractFunction
<
double
,
WorldVector
<
double
>
>
*
f_
)
AbstractFunction
<
double
,
WorldVector
<
double
>
>
*
f_
)
:
ElementNorm
(
q_
),
:
ElementNorm
(
q_
),
f
(
f_
)
f
(
f_
)
{}
;
{}
/**
/// Calculates element norm on elInfo.
* Calculates element norm on elInfo.
*/
double
calcElNorm
(
ElInfo
*
elInfo
,
double
calcElNorm
(
ElInfo
*
elInfo
,
const
double
&
det
,
const
double
&
det
,
const
double
&
fac
=
1.0
);
const
double
&
fac
=
1.0
);
protected:
protected:
/**
/// Abstract function for which norm is calculated.
* Abstract function for which norm is calculated.
*/
AbstractFunction
<
double
,
WorldVector
<
double
>
>
*
f
;
AbstractFunction
<
double
,
WorldVector
<
double
>
>
*
f
;
};
};
class
ElementL2Norm_Analyt
:
public
ElementNorm
class
ElementL2Norm_Analyt
:
public
ElementNorm
{
{
public:
public:
/**
/// Constructor.
* Constructor.
*/
ElementL2Norm_Analyt
(
Quadrature
*
q_
,
ElementL2Norm_Analyt
(
Quadrature
*
q_
,
AbstractFunction
<
double
,
WorldVector
<
double
>
>
*
f_
)
AbstractFunction
<
double
,
WorldVector
<
double
>
>
*
f_
)
:
ElementNorm
(
q_
),
:
ElementNorm
(
q_
),
f
(
f_
)
f
(
f_
)
{}
;
{}
/**
/// Calculates element norm on elInfo.
* Calculates element norm on elInfo.
*/
double
calcElNorm
(
ElInfo
*
elInfo
,
double
calcElNorm
(
ElInfo
*
elInfo
,
const
double
&
det
,
const
double
&
det
,
const
double
&
fac
=
1.0
);
const
double
&
fac
=
1.0
);
protected:
protected:
/**
/// Abstract function for which norm is calculated.
* Abstract function for which norm is calculated.
*/
AbstractFunction
<
double
,
WorldVector
<
double
>
>
*
f
;
AbstractFunction
<
double
,
WorldVector
<
double
>
>
*
f
;
};
};
class
ElementH1Norm_Analyt
:
public
ElementNorm
class
ElementH1Norm_Analyt
:
public
ElementNorm
{
{
public:
public:
/**
/// Constructor.
* Constructor.
*/
ElementH1Norm_Analyt
(
Quadrature
*
q_
,
ElementH1Norm_Analyt
(
Quadrature
*
q_
,
AbstractFunction
<
WorldVector
<
double
>
,
WorldVector
<
double
>
>
*
grd_
,
AbstractFunction
<
WorldVector
<
double
>
,
WorldVector
<
double
>
>
*
grd_
,
int
dim_
)
int
dim_
)
:
ElementNorm
(
q_
),
:
ElementNorm
(
q_
),
grd
(
grd_
),
grd
(
grd_
),
dim
(
dim_
)
dim
(
dim_
)
{}
;
{}
/**
/// Calculates element norm on elInfo.
* Calculates element norm on elInfo.
*/
double
calcElNorm
(
ElInfo
*
elInfo
,
double
calcElNorm
(
ElInfo
*
elInfo
,
const
double
&
det
,
const
double
&
det
,
const
double
&
fac
=
1.0
);
const
double
&
fac
=
1.0
);
protected:
protected:
/**
/// Abstract function for which norm is calculated.
* Abstract function for which norm is calculated.
*/
AbstractFunction
<
WorldVector
<
double
>
,
WorldVector
<
double
>
>
*
grd
;
AbstractFunction
<
WorldVector
<
double
>
,
WorldVector
<
double
>
>
*
grd
;
/**
/// Mesh dimension.
* Mesh dimension.
*/
int
dim
;
int
dim
;
};
};
class
ElementL1Norm_DOF
:
public
ElementNorm
class
ElementL1Norm_DOF
:
public
ElementNorm
{
{
public:
public:
/**
/// Constructor.
* Constructor.
*/
ElementL1Norm_DOF
(
Quadrature
*
q_
,
DOFVector
<
double
>
*
dofVec_
)
ElementL1Norm_DOF
(
Quadrature
*
q_
,
DOFVector
<
double
>
*
dofVec_
)
:
ElementNorm
(
q_
),
:
ElementNorm
(
q_
),
dofVec
(
dofVec_
)
dofVec
(
dofVec_
)
{}
;
{}
/**
/// Calculates element norm on elInfo.
* Calculates element norm on elInfo.
*/
double
calcElNorm
(
ElInfo
*
elInfo
,
double
calcElNorm
(
ElInfo
*
elInfo
,
const
double
&
det
,
const
double
&
det
,
const
double
&
fac
=
1.0
);
const
double
&
fac
=
1.0
);
protected:
protected:
/**
/// DOF vector for which norm is calculated.
* DOF vector for which norm is calculated.
*/
DOFVector
<
double
>
*
dofVec
;
DOFVector
<
double
>
*
dofVec
;
};
};
class
ElementL2Norm_DOF
:
public
ElementNorm
class
ElementL2Norm_DOF
:
public
ElementNorm
{
{
public:
public:
/**
/// Constructor.
* Constructor.
*/
ElementL2Norm_DOF
(
Quadrature
*
q_
,
DOFVector
<
double
>
*
dofVec_
)
ElementL2Norm_DOF
(
Quadrature
*
q_
,
DOFVector
<
double
>
*
dofVec_
)
:
ElementNorm
(
q_
),
:
ElementNorm
(
q_
),
dofVec
(
dofVec_
)
dofVec
(
dofVec_
)
{}
;
{}
/**
/// Calculates element norm on elInfo.
* Calculates element norm on elInfo.
*/
double
calcElNorm
(
ElInfo
*
elInfo
,
double
calcElNorm
(
ElInfo
*
elInfo
,
const
double
&
det
,
const
double
&
det
,
const
double
&
fac
=
1.0
);
const
double
&
fac
=
1.0
);
protected:
protected:
/**
/// DOF vector for which norm is calculated.
* DOF vector for which norm is calculated.
*/
DOFVector
<
double
>
*
dofVec
;
DOFVector
<
double
>
*
dofVec
;
};
};
class
ElementH1Norm_DOF
:
public
ElementNorm
class
ElementH1Norm_DOF
:
public
ElementNorm
{
{
public:
public:
/**
/// Constructor.
* Constructor.
*/
ElementH1Norm_DOF
(
Quadrature
*
q_
,
DOFVector
<
double
>
*
dofVec_
,
int
dim_
)
ElementH1Norm_DOF
(
Quadrature
*
q_
,
DOFVector
<
double
>
*
dofVec_
,
int
dim_
)
:
ElementNorm
(
q_
),
:
ElementNorm
(
q_
),
dofVec
(
dofVec_
),
dofVec
(
dofVec_
),
dim
(
dim_
)
dim
(
dim_
)
{}
;
{}
/**
/// Calculates element norm on elInfo.
* Calculates element norm on elInfo.
*/
double
calcElNorm
(
ElInfo
*
elInfo
,
double
calcElNorm
(
ElInfo
*
elInfo
,
const
double
&
det
,
const
double
&
det
,
const
double
&
fac
=
1.0
);
const
double
&
fac
=
1.0
);
protected:
protected:
/**
/// DOF vector for which norm is calculated.
* DOF vector for which norm is calculated.
*/
DOFVector
<
double
>
*
dofVec
;
DOFVector
<
double
>
*
dofVec
;
/**
/// Mesh dimension.
* Mesh dimension.
*/
int
dim
;
int
dim
;
};
};
class
ElementL2Err
:
public
ElementNorm
class
ElementL2Err
:
public
ElementNorm
{
{
public:
public:
/**
/// Constructor.
* Constructor.
*/
ElementL2Err
(
Quadrature
*
q_
,
ElementL2Err
(
Quadrature
*
q_
,
AbstractFunction
<
double
,
WorldVector
<
double
>
>
*
u_
,
AbstractFunction
<
double
,
WorldVector
<
double
>
>
*
u_
,
DOFVector
<
double
>
*
uh_
,
DOFVector
<
double
>
*
uh_
,
...
@@ -240,49 +207,37 @@ namespace AMDiS {
...
@@ -240,49 +207,37 @@ namespace AMDiS {
uh
(
uh_
),
uh
(
uh_
),
relErr
(
relErr_
),
relErr
(
relErr_
),
nrmU
(
0.0
)
nrmU
(
0.0
)
{}
;
{}
/**
/// Calculates element error on elInfo.
* Calculates element error on elInfo.
*/
double
calcElNorm
(
ElInfo
*
elInfo
,
double
calcElNorm
(
ElInfo
*
elInfo
,
const
double
&
det
,
const
double
&
det
,
const
double
&
fac
=
1.0
);
const
double
&
fac
=
1.0
);
/**
/// Get norm of u.
* Get norm of u.
inline
double
getNormU
()
const
*/
{
inline
double
getNormU
()
const
{
return
nrmU
;
return
nrmU
;
};
}
protected:
protected:
/**
/// Abstract function for which error is calculated.
* Abstract function for which error is calculated.
*/
AbstractFunction
<
double
,
WorldVector
<
double
>
>
*
u
;
AbstractFunction
<
double
,
WorldVector
<
double
>
>
*
u
;
/**
/// DOF vector for which error is calculated.
* DOF vector for which error is calculated.
*/
DOFVector
<
double
>
*
uh
;
DOFVector
<
double
>
*
uh
;
/**
/// Indicates whether relative (1) or absolute error (0) is calculated.
* Indicates whether relative (1) or absolute error (0) is calculated.
*/
int
relErr
;
int
relErr
;
/**
/// Norm of u in case relative error is calculated.
* Norm of u in case relative error is calculated.
*/
double
nrmU
;
double
nrmU
;
};
};
class
ElementH1Err
:
public
ElementNorm
class
ElementH1Err
:
public
ElementNorm
{
{
public:
public:
/**
/// Constructor.
* Constructor.
*/
ElementH1Err
(
Quadrature
*
q_
,
ElementH1Err
(
Quadrature
*
q_
,
AbstractFunction
<
WorldVector
<
double
>
,
WorldVector
<
double
>
>
*
grdu_
,
AbstractFunction
<
WorldVector
<
double
>
,
WorldVector
<
double
>
>
*
grdu_
,
DOFVector
<
double
>
*
uh_
,
DOFVector
<
double
>
*
uh_
,
...
@@ -294,52 +249,36 @@ namespace AMDiS {
...
@@ -294,52 +249,36 @@ namespace AMDiS {
relErr
(
relErr_
),
relErr
(
relErr_
),
nrmGrdU
(
0.0
),
nrmGrdU
(
0.0
),
dim
(
dim_
)
dim
(
dim_
)
{}
;
{}
/**
/// Calculates element error on elInfo.
* Calculates element error on elInfo.
*/
double
calcElNorm
(
ElInfo
*
elInfo
,
double
calcElNorm
(
ElInfo
*
elInfo
,
const
double
&
det
,
const
double
&
det
,
const
double
&
fac
=
1.0
);
const
double
&
fac
=
1.0
);
/**
/// Get norm of grdu.
* Get norm of grdu.
inline
double
getNormGrdU
()
const
*/
{
inline
double
getNormGrdU
()
const
{
return
nrmGrdU
;
return
nrmGrdU
;
}
;
}
protected:
protected:
/**