Commit 0e7a58de authored by Hieram Neumann-Heyme's avatar Hieram Neumann-Heyme
Browse files

Small issue with arh-files / append index, fixed a few typos

parent 57d26e55
...@@ -100,7 +100,7 @@ namespace AMDiS { ...@@ -100,7 +100,7 @@ namespace AMDiS {
{ {
FUNCNAME("OEMSolver::solveSystem()"); FUNCNAME("OEMSolver::solveSystem()");
TEST_EXIT(false) TEST_EXIT(false)
("This linear solver is not suitable for sequentiell problems\n"); ("This linear solver is not suitable for sequential problems\n");
return -1; return -1;
} }
...@@ -122,7 +122,7 @@ namespace AMDiS { ...@@ -122,7 +122,7 @@ namespace AMDiS {
{ {
FUNCNAME("OEMSolver::solveSystem()"); FUNCNAME("OEMSolver::solveSystem()");
TEST_EXIT(false) TEST_EXIT(false)
("This linear solver is not suitable for domaindecomposition problems\n"); ("This linear solver is not suitable for domain decomposition problems\n");
return -1; return -1;
} }
#endif #endif
......
...@@ -39,7 +39,7 @@ namespace AMDiS { ...@@ -39,7 +39,7 @@ namespace AMDiS {
class SurfaceAssembler : public Assembler class SurfaceAssembler : public Assembler
{ {
public: public:
/// Creates a SurfaceAssembler conforming to operat for the given \ref coords. /// Creates a SurfaceAssembler conforming to operate for the given \ref coords.
SurfaceAssembler(Operator *operat, SurfaceAssembler(Operator *operat,
const FiniteElemSpace *rowFeSpace, const FiniteElemSpace *rowFeSpace,
const FiniteElemSpace *colFeSpace, const FiniteElemSpace *colFeSpace,
......
...@@ -104,7 +104,7 @@ namespace AMDiS { ...@@ -104,7 +104,7 @@ namespace AMDiS {
SubAssembler* subAssembler, SubAssembler* subAssembler,
Quadrature *quad = NULL); Quadrature *quad = NULL);
/// Implementation of \ref OperatorTerm::initElement() for multilpe meshes. /// Implementation of \ref OperatorTerm::initElement() for multiple meshes.
void initElement(const ElInfo* smallElInfo, void initElement(const ElInfo* smallElInfo,
const ElInfo* largeElInfo, const ElInfo* largeElInfo,
SubAssembler* subAssembler, SubAssembler* subAssembler,
...@@ -288,7 +288,7 @@ namespace AMDiS { ...@@ -288,7 +288,7 @@ namespace AMDiS {
void initElement(const ElInfo* elInfo, SubAssembler* subAssembler, void initElement(const ElInfo* elInfo, SubAssembler* subAssembler,
Quadrature *quad = NULL); Quadrature *quad = NULL);
/// Implements SecondOrderTerm::getC(). /// Implements ZeroOrderTerm::getC().
void getC(const ElInfo *elInfo, int nPoints, ElementVector& C); void getC(const ElInfo *elInfo, int nPoints, ElementVector& C);
/// Implements ZeroOrderTerm::eval(). /// Implements ZeroOrderTerm::eval().
...@@ -456,7 +456,7 @@ namespace AMDiS { ...@@ -456,7 +456,7 @@ namespace AMDiS {
void initElement(const ElInfo* elInfo, SubAssembler* subAssembler, void initElement(const ElInfo* elInfo, SubAssembler* subAssembler,
Quadrature *quad = NULL); Quadrature *quad = NULL);
/// Implements SecondOrderTerm::getC(). /// Implements ZeroOrderTerm::getC().
void getC(const ElInfo *elInfo, int nPoints, ElementVector& C); void getC(const ElInfo *elInfo, int nPoints, ElementVector& C);
/// Implements ZeroOrderTerm::eval(). /// Implements ZeroOrderTerm::eval().
...@@ -470,7 +470,7 @@ namespace AMDiS { ...@@ -470,7 +470,7 @@ namespace AMDiS {
protected: protected:
DOFVectorBase<double>* vec; DOFVectorBase<double>* vec;
/// Function wich maps \ref gradAtQPs to a double. /// Function which maps \ref gradAtQPs to a double.
AbstractFunction<double, WorldVector<double> > *f; AbstractFunction<double, WorldVector<double> > *f;
/** \brief /** \brief
......
...@@ -249,7 +249,7 @@ namespace AMDiS { ...@@ -249,7 +249,7 @@ namespace AMDiS {
double timestep; double timestep;
/** \brief /** \brief
* Stores information about which mesh(es) must be travesed to estimate * Stores information about which mesh(es) must be traversed to estimate
* the error on the component matrices. * the error on the component matrices.
*/ */
ComponentTraverseInfo traverseInfo; ComponentTraverseInfo traverseInfo;
......
...@@ -195,7 +195,7 @@ namespace AMDiS { ...@@ -195,7 +195,7 @@ namespace AMDiS {
ArhWriter::write(paraFilename + ".arh", feSpace->getMesh(), solutionVecs); ArhWriter::write(paraFilename + ".arh", feSpace->getMesh(), solutionVecs);
#else #else
if (writeArhFormat) if (writeArhFormat)
ArhWriter::write(filename + ".arh", feSpace->getMesh(), solutionVecs); ArhWriter::write(fn + ".arh", feSpace->getMesh(), solutionVecs);
#endif #endif
......
...@@ -196,9 +196,9 @@ namespace AMDiS { ...@@ -196,9 +196,9 @@ namespace AMDiS {
* This function must be used if the values of a DOFVector must be * This function must be used if the values of a DOFVector must be
* synchronised over all ranks. That means, that each rank sends the * synchronised over all ranks. That means, that each rank sends the
* values of the DOFs, which are owned by the rank and lie on an interior * values of the DOFs, which are owned by the rank and lie on an interior
* bounday, to all other ranks also having these DOFs. * boundary, to all other ranks also having these DOFs.
* *
* This function must be used, for example, after the lineary system is * This function must be used, for example, after the linear system is
* solved, or after the DOFVector is set by some user defined functions, * solved, or after the DOFVector is set by some user defined functions,
* e.g., initial solution functions. * e.g., initial solution functions.
*/ */
...@@ -348,7 +348,7 @@ namespace AMDiS { ...@@ -348,7 +348,7 @@ namespace AMDiS {
const FiniteElemSpace *feSpace); const FiniteElemSpace *feSpace);
protected: protected:
/// Creates an initial paritioning of the mesh. /// Creates an initial partitioning of the mesh.
void createInitialPartitioning(); void createInitialPartitioning();
/// Set for each element on the partitioning level the number of /// Set for each element on the partitioning level the number of
......
...@@ -64,7 +64,7 @@ namespace AMDiS { ...@@ -64,7 +64,7 @@ namespace AMDiS {
virtual ~MeshPartitioner() {} virtual ~MeshPartitioner() {}
/** \brief /** \brief
* Creates an initial paritioning of the AMDiS mesh. This partitioning * Creates an initial partitioning of the AMDiS mesh. This partitioning
* can be arbitrary, the only requirement is that each macro element * can be arbitrary, the only requirement is that each macro element
* must be uniquely assign to a rank. * must be uniquely assign to a rank.
* *
...@@ -84,7 +84,7 @@ namespace AMDiS { ...@@ -84,7 +84,7 @@ namespace AMDiS {
* elements in this macro element. * elements in this macro element.
* \param[in] mode Most external partitioning libraries can make * \param[in] mode Most external partitioning libraries can make
* a difference whether we want to create a * a difference whether we want to create a
* first partitioning or we alread have created * first partitioning or we already have created
* one using this library but due to some mesh * one using this library but due to some mesh
* adaptivity we want to repartition the mesh. In * adaptivity we want to repartition the mesh. In
* the later case, the libraries also consider the * the later case, the libraries also consider the
...@@ -162,9 +162,9 @@ namespace AMDiS { ...@@ -162,9 +162,9 @@ namespace AMDiS {
/// The mesh partitioner can be used in to different modes, the standard /// The mesh partitioner can be used in to different modes, the standard
/// mode and the so called "box partitioning". The standard mode assigns /// mode and the so called "box partitioning". The standard mode assigns
/// macro elements to ranks. If box partitioning is enabled, which makes /// macro elements to ranks. If box partitioning is enabled, which makes
/// only sence if the macro mesh results from meshconv's "lego mesher", /// only sense if the macro mesh results from meshconv's "lego mesher",
/// then in 2D boxed (2 macro elements) and in 3D cubes (6 macro /// then in 2D boxed (2 macro elements) and in 3D cubes (6 macro
/// elements) are assigned as a uniion to ranks. /// elements) are assigned as a union to ranks.
bool boxPartitioning; bool boxPartitioning;
/// In box partitioning mode this map stores for each box number the set /// In box partitioning mode this map stores for each box number the set
...@@ -188,7 +188,7 @@ namespace AMDiS { ...@@ -188,7 +188,7 @@ namespace AMDiS {
map<int, bool> elementInRank; map<int, bool> elementInRank;
/// Maps to each macro element index (or box index in box /// Maps to each macro element index (or box index in box
/// partitiong mode) the rank number the element belongs to. /// partitioning mode) the rank number the element belongs to.
map<int, int> partitionMap; map<int, int> partitionMap;
/// After mesh repartitioning these maps stores which elements are communicated /// After mesh repartitioning these maps stores which elements are communicated
......
...@@ -9,9 +9,16 @@ using namespace AMDiS; ...@@ -9,9 +9,16 @@ using namespace AMDiS;
namespace experimental { namespace experimental {
/// Extended recovery gradient assuming mirror/point symmetry (pointSym=false/true)
/// of the solution at domain boundaries
/// --> Simon, es hat sich herausgestellt, dass meine ursprüngliche Version mit *nrm
/// effizienter ist, da Speicher nur für einige Ausnahmeknoten belegt wird (ok, ist
/// vielleicht etwas unübersichtlich)
inline void getRecoveryGradientSym(const DOFVector<double> *u, inline void getRecoveryGradientSym(const DOFVector<double> *u,
DOFVector<WorldVector<double> > *result, DOFVector<WorldVector<double> > *result,
bool asym = true) bool pointSym = false)
{ {
FUNCNAME("getRecoveryGradientSym()"); FUNCNAME("getRecoveryGradientSym()");
const FiniteElemSpace *feSpace = u->getFeSpace(); const FiniteElemSpace *feSpace = u->getFeSpace();
...@@ -59,7 +66,7 @@ namespace experimental { ...@@ -59,7 +66,7 @@ namespace experimental {
WorldVector<double> n, rgrd; WorldVector<double> n, rgrd;
elInfo->getNormal(i, n); elInfo->getNormal(i, n);
if (asym) if (pointSym)
rgrd = grd; rgrd = grd;
else else
rgrd = grd - 2.0*n*(grd*n); // reflect gradient at boundary rgrd = grd - 2.0*n*(grd*n); // reflect gradient at boundary
...@@ -95,7 +102,7 @@ namespace experimental { ...@@ -95,7 +102,7 @@ namespace experimental {
u->getLocalVector(elInfo->getElement(), localUh); u->getLocalVector(elInfo->getElement(), localUh);
basFcts->evalGrdUh(bary, grdLambda, localUh, grd); basFcts->evalGrdUh(bary, grdLambda, localUh, grd);
if (asym) if (pointSym)
rgrd= grd; rgrd= grd;
else { else {
n = 1.0/norm(nrm[localIndices[i]]) * nrm[localIndices[i]]; n = 1.0/norm(nrm[localIndices[i]]) * nrm[localIndices[i]];
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment