Commit 33516d51 authored by Praetorius, Simon's avatar Praetorius, Simon
Browse files

some openMP cleanup

parent 9284b5b6
...@@ -156,11 +156,8 @@ namespace AMDiS { ...@@ -156,11 +156,8 @@ namespace AMDiS {
rosenbrockMode(false) rosenbrockMode(false)
{ {
init(); init();
char number[5]; for (int i = 0; i < size; i++)
for (int i = 0; i < size; i++) { scalContents[i] = new ScalContent(name + "[" + std::to_string(i) + "]");
sprintf(number, "[%d]", i);
scalContents[i] = new ScalContent(name + std::string(number));
}
} }
/// Destructor. /// Destructor.
......
...@@ -347,9 +347,20 @@ namespace AMDiS { ...@@ -347,9 +347,20 @@ namespace AMDiS {
{ {
return problems[number]; return problems[number];
} }
virtual ProblemStatType const* getProblem(int number = 0) const
{
return problems[number];
}
/// Returns \ref meshes[i] /// Returns \ref meshes[i]
inline Mesh* getMesh(int number = 0) Mesh* getMesh(int number = 0)
{
return meshes[number];
}
/// Returns \ref meshes[i]
Mesh const* getMesh(int number = 0) const
{ {
return meshes[number]; return meshes[number];
} }
......
...@@ -215,10 +215,15 @@ namespace AMDiS { ...@@ -215,10 +215,15 @@ namespace AMDiS {
TEST_EXIT(dofIndexed)("no dofIndexed\n"); TEST_EXIT(dofIndexed)("no dofIndexed\n");
if (dofIndexed->getSize() < size) #ifdef _OPENMP
dofIndexed->resize(size); #pragma omp critical (addDOFIndexed)
#endif
dofIndexedList.push_back(dofIndexed); {
if (dofIndexed->getSize() < size)
dofIndexed->resize(size);
dofIndexedList.push_back(dofIndexed);
}
} }
...@@ -226,18 +231,17 @@ namespace AMDiS { ...@@ -226,18 +231,17 @@ namespace AMDiS {
{ {
FUNCNAME("DOFAdmin::removeDOFIndexed()"); FUNCNAME("DOFAdmin::removeDOFIndexed()");
bool removed = false; #ifdef _OPENMP
std::list<DOFIndexedBase*>::iterator it; #pragma omp critical (removeDOFIndexed)
std::list<DOFIndexedBase*>::iterator end = dofIndexedList.end(); #endif
for (it = dofIndexedList.begin(); it != end; ++it) { {
if (*it == dofIndexed) { auto it = std::find(dofIndexedList.begin(), dofIndexedList.end(), dofIndexed);
dofIndexedList.erase(it); if (it != dofIndexedList.end())
removed = true; dofIndexedList.erase(it);
break; else {
ERROR_EXIT("DOFIndexed not in list!\n");
} }
} }
TEST_EXIT(removed)("DOFIndexed not in list!\n");
} }
...@@ -255,16 +259,17 @@ namespace AMDiS { ...@@ -255,16 +259,17 @@ namespace AMDiS {
{ {
FUNCNAME("DOFAdmin::removeDOFContainer()"); FUNCNAME("DOFAdmin::removeDOFContainer()");
std::list<DOFContainer*>::iterator it; #ifdef _OPENMP
std::list<DOFContainer*>::iterator end = dofContainerList.end(); #pragma omp critical (removeDOFContainer)
for (it = dofContainerList.begin(); it != end; ++it) { #endif
if (*it == cont) { {
dofContainerList.erase(it); auto it = std::find(dofContainerList.begin(), dofContainerList.end(), cont);
return; if (it != dofContainerList.end())
dofContainerList.erase(it);
else {
ERROR_EXIT("Container not in list!\n");
} }
} }
ERROR("Container not in list!\n");
} }
......
...@@ -204,11 +204,16 @@ namespace AMDiS { ...@@ -204,11 +204,16 @@ namespace AMDiS {
void Quad10::calculateElementMatrix(const ElInfo *elInfo, ElementMatrix& mat) void Quad10::calculateElementMatrix(const ElInfo *elInfo, ElementMatrix& mat)
{ {
if (firstCall) { if (firstCall) {
const BasisFunction *basFcts = rowFeSpace->getBasisFcts(); #ifdef _OPENMP
psiFast = updateFastQuadrature(psiFast, basFcts, INIT_GRD_PHI); #pragma omp critical
basFcts = colFeSpace->getBasisFcts(); #endif
phiFast = updateFastQuadrature(phiFast, basFcts, INIT_PHI); {
firstCall = false; const BasisFunction *basFcts = rowFeSpace->getBasisFcts();
psiFast = updateFastQuadrature(psiFast, basFcts, INIT_GRD_PHI);
basFcts = colFeSpace->getBasisFcts();
phiFast = updateFastQuadrature(phiFast, basFcts, INIT_PHI);
firstCall = false;
}
} }
int nPoints = quadrature->getNumPoints(); int nPoints = quadrature->getNumPoints();
...@@ -240,11 +245,16 @@ namespace AMDiS { ...@@ -240,11 +245,16 @@ namespace AMDiS {
void Quad10::calculateElementVector(const ElInfo *elInfo, ElementVector& vec) void Quad10::calculateElementVector(const ElInfo *elInfo, ElementVector& vec)
{ {
if (firstCall) { if (firstCall) {
const BasisFunction *basFcts = rowFeSpace->getBasisFcts(); #ifdef _OPENMP
psiFast = updateFastQuadrature(psiFast, basFcts, INIT_GRD_PHI); #pragma omp critical
basFcts = colFeSpace->getBasisFcts(); #endif
phiFast = updateFastQuadrature(phiFast, basFcts, INIT_PHI); {
firstCall = false; const BasisFunction *basFcts = rowFeSpace->getBasisFcts();
psiFast = updateFastQuadrature(psiFast, basFcts, INIT_GRD_PHI);
basFcts = colFeSpace->getBasisFcts();
phiFast = updateFastQuadrature(phiFast, basFcts, INIT_PHI);
firstCall = false;
}
} }
int nPoints = quadrature->getNumPoints(); int nPoints = quadrature->getNumPoints();
...@@ -280,11 +290,16 @@ namespace AMDiS { ...@@ -280,11 +290,16 @@ namespace AMDiS {
const double *values; const double *values;
if (firstCall) { if (firstCall) {
q10 = Q10PsiPhi::provideQ10PsiPhi(rowFeSpace->getBasisFcts(), #ifdef _OPENMP
colFeSpace->getBasisFcts(), #pragma omp critical
quadrature); #endif
q1 = Q1Psi::provideQ1Psi(rowFeSpace->getBasisFcts(), quadrature); {
firstCall = false; q10 = Q10PsiPhi::provideQ10PsiPhi(rowFeSpace->getBasisFcts(),
colFeSpace->getBasisFcts(),
quadrature);
q1 = Q1Psi::provideQ1Psi(rowFeSpace->getBasisFcts(), quadrature);
firstCall = false;
}
} }
const int **nEntries = q10->getNumberEntries(); const int **nEntries = q10->getNumberEntries();
...@@ -362,11 +377,16 @@ namespace AMDiS { ...@@ -362,11 +377,16 @@ namespace AMDiS {
void Quad01::calculateElementMatrix(const ElInfo *elInfo, ElementMatrix& mat) void Quad01::calculateElementMatrix(const ElInfo *elInfo, ElementMatrix& mat)
{ {
if (firstCall) { if (firstCall) {
const BasisFunction *basFcts = rowFeSpace->getBasisFcts(); #ifdef _OPENMP
psiFast = updateFastQuadrature(psiFast, basFcts, INIT_PHI); #pragma omp critical
basFcts = colFeSpace->getBasisFcts(); #endif
phiFast = updateFastQuadrature(phiFast, basFcts, INIT_GRD_PHI); {
firstCall = false; const BasisFunction *basFcts = rowFeSpace->getBasisFcts();
psiFast = updateFastQuadrature(psiFast, basFcts, INIT_PHI);
basFcts = colFeSpace->getBasisFcts();
phiFast = updateFastQuadrature(phiFast, basFcts, INIT_GRD_PHI);
firstCall = false;
}
} }
int nPoints = quadrature->getNumPoints(); int nPoints = quadrature->getNumPoints();
...@@ -410,11 +430,16 @@ namespace AMDiS { ...@@ -410,11 +430,16 @@ namespace AMDiS {
const double *values; const double *values;
if (firstCall) { if (firstCall) {
q01 = Q01PsiPhi::provideQ01PsiPhi(rowFeSpace->getBasisFcts(), #ifdef _OPENMP
colFeSpace->getBasisFcts(), #pragma omp critical
quadrature); #endif
q1 = Q1Psi::provideQ1Psi(rowFeSpace->getBasisFcts(), quadrature); {
firstCall = false; q01 = Q01PsiPhi::provideQ01PsiPhi(rowFeSpace->getBasisFcts(),
colFeSpace->getBasisFcts(),
quadrature);
q1 = Q1Psi::provideQ1Psi(rowFeSpace->getBasisFcts(), quadrature);
firstCall = false;
}
} }
const int **nEntries = q01->getNumberEntries(); const int **nEntries = q01->getNumberEntries();
...@@ -446,11 +471,16 @@ namespace AMDiS { ...@@ -446,11 +471,16 @@ namespace AMDiS {
const double *values; const double *values;
if (firstCall) { if (firstCall) {
q10 = Q10PsiPhi::provideQ10PsiPhi(rowFeSpace->getBasisFcts(), #ifdef _OPENMP
colFeSpace->getBasisFcts(), #pragma omp critical
quadrature); #endif
q1 = Q1Psi::provideQ1Psi(rowFeSpace->getBasisFcts(), quadrature); {
firstCall = false; q10 = Q10PsiPhi::provideQ10PsiPhi(rowFeSpace->getBasisFcts(),
colFeSpace->getBasisFcts(),
quadrature);
q1 = Q1Psi::provideQ1Psi(rowFeSpace->getBasisFcts(), quadrature);
firstCall = false;
}
} }
const int *nEntries = q1->getNumberEntries(); const int *nEntries = q1->getNumberEntries();
......
...@@ -280,25 +280,25 @@ namespace AMDiS { ...@@ -280,25 +280,25 @@ namespace AMDiS {
bool cont = true; bool cont = true;
while (cont) { while (cont) {
bool cont1; bool cont1;
#ifndef NDEBUG // #ifndef NDEBUG
bool cont2; bool cont2;
#endif // #endif
if (structure1->isLeafElement() == structure2->isLeafElement()) { if (structure1->isLeafElement() == structure2->isLeafElement()) {
cont1 = structure1->nextElement(result); cont1 = structure1->nextElement(result);
#ifndef NDEBUG // #ifndef NDEBUG
cont2 = structure2->nextElement(); cont2 = structure2->nextElement();
#endif // #endif
} else { } else {
if (structure1->isLeafElement()) { if (structure1->isLeafElement()) {
cont1 = structure1->nextElement(); cont1 = structure1->nextElement();
#ifndef NDEBUG // #ifndef NDEBUG
cont2 = structure2->skipBranch(result); cont2 = structure2->skipBranch(result);
#endif // #endif
} else { } else {
cont1 = structure1->skipBranch(result); cont1 = structure1->skipBranch(result);
#ifndef NDEBUG // #ifndef NDEBUG
cont2 = structure2->nextElement(); cont2 = structure2->nextElement();
#endif // #endif
} }
} }
TEST_EXIT_DBG(cont1 == cont2)("Structures don't match!\n"); TEST_EXIT_DBG(cont1 == cont2)("Structures don't match!\n");
......
...@@ -75,6 +75,12 @@ namespace AMDiS { ...@@ -75,6 +75,12 @@ namespace AMDiS {
* is managed by this master problem, the number hasn't to be given. * is managed by this master problem, the number hasn't to be given.
*/ */
virtual ProblemStatBase *getProblem(int number = 0) = 0; virtual ProblemStatBase *getProblem(int number = 0) = 0;
// dirty hack
virtual ProblemStatBase const* getProblem(int number = 0) const
{
return const_cast<ProblemStatBase const*>(const_cast<ProblemIterationInterface*>(this)->getProblem(number));
}
/// Returns the problem with the given name. /// Returns the problem with the given name.
virtual ProblemStatBase *getProblem(std::string name) virtual ProblemStatBase *getProblem(std::string name)
......
...@@ -317,6 +317,14 @@ namespace AMDiS { ...@@ -317,6 +317,14 @@ namespace AMDiS {
("invalid component number\n"); ("invalid component number\n");
return componentMeshes[comp]; return componentMeshes[comp];
} }
Mesh const* getMesh(int comp = 0) const
{
FUNCNAME("ProblemStatSeq::getMesh()");
TEST_EXIT(comp < static_cast<int>(componentMeshes.size()) && comp >= 0)
("invalid component number\n");
return componentMeshes[comp];
}
/// Returns \ref meshes /// Returns \ref meshes
inline std::vector<Mesh*> getMeshes() inline std::vector<Mesh*> getMeshes()
...@@ -325,7 +333,7 @@ namespace AMDiS { ...@@ -325,7 +333,7 @@ namespace AMDiS {
} }
/// Returns \ref feSpace_. /// Returns \ref feSpace_.
inline const FiniteElemSpace* getFeSpace(int comp = 0) inline const FiniteElemSpace* getFeSpace(int comp = 0) const
{ {
FUNCNAME("ProblemStatSeq::getFeSpace()"); FUNCNAME("ProblemStatSeq::getFeSpace()");
TEST_EXIT(comp < static_cast<int>(componentSpaces.size()) && comp >= 0) TEST_EXIT(comp < static_cast<int>(componentSpaces.size()) && comp >= 0)
...@@ -726,6 +734,12 @@ namespace AMDiS { ...@@ -726,6 +734,12 @@ namespace AMDiS {
{ {
return this; return this;
} }
/// Returns the problem with the given number.
virtual ProblemStatBase const* getProblem(int number = 0) const override
{
return this;
}
/// Determines the execution order of the single adaption steps. If adapt is /// Determines the execution order of the single adaption steps. If adapt is
/// true, mesh adaption will be performed. This allows to avoid mesh adaption, /// true, mesh adaption will be performed. This allows to avoid mesh adaption,
......
...@@ -34,21 +34,13 @@ namespace AMDiS { ...@@ -34,21 +34,13 @@ namespace AMDiS {
int FastQuadrature::max_points = 0; int FastQuadrature::max_points = 0;
Quadrature::Quadrature(const Quadrature& q) Quadrature::Quadrature(const Quadrature& q)
{ : name(q.name)
name = q.name; , degree(q.degree)
degree = q.degree; , dim(q.dim)
dim = q.dim; , n_points(q.n_points)
n_points = q.n_points; , lambda(new VectorOfFixVecs<DimVec<double> >(*(q.lambda)))
, w(q.w)
// copy barycentric coordinates {}
lambda = new VectorOfFixVecs<DimVec<double> >(*(q.lambda));
// copy weights
w = new double[n_points];
for (int i = 0; i < n_points; i++)
w[i] = q.w[i];
}
/****************************************************************************/ /****************************************************************************/
/* initialize gradient values of a function f in local coordinates at the */ /* initialize gradient values of a function f in local coordinates at the */
...@@ -115,76 +107,7 @@ namespace AMDiS { ...@@ -115,76 +107,7 @@ namespace AMDiS {
} }
Quadrature **Quadrature::quad_nd[4]; QuadratureFactory::QuadratureFactory()
Quadrature *Quadrature::quad_0d[1];
Quadrature *Quadrature::quad_1d[20];
Quadrature *Quadrature::quad_2d[18];
Quadrature *Quadrature::quad_3d[8];
VectorOfFixVecs<DimVec<double> > *Quadrature::x_0d;
double *Quadrature::w_0d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x0_1d = NULL;
VectorOfFixVecs<DimVec<double> > *Quadrature::x1_1d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x2_1d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x3_1d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x4_1d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x5_1d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x6_1d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x7_1d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x8_1d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x9_1d;
double *Quadrature::w0_1d;
double *Quadrature::w1_1d;
double *Quadrature::w2_1d;
double *Quadrature::w3_1d;
double *Quadrature::w4_1d;
double *Quadrature::w5_1d;
double *Quadrature::w6_1d;
double *Quadrature::w7_1d;
double *Quadrature::w8_1d;
double *Quadrature::w9_1d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x1_2d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x2_2d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x3_2d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x4_2d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x5_2d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x7_2d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x8_2d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x9_2d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x10_2d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x11_2d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x12_2d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x17_2d;
double *Quadrature::w1_2d;
double *Quadrature::w2_2d;
double *Quadrature::w3_2d;
double *Quadrature::w4_2d;
double *Quadrature::w5_2d;
double *Quadrature::w7_2d;
double *Quadrature::w8_2d;
double *Quadrature::w9_2d;
double *Quadrature::w10_2d;
double *Quadrature::w11_2d;
double *Quadrature::w12_2d;
double *Quadrature::w17_2d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x1_3d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x2_3d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x3_3d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x4_3d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x5_3d;
VectorOfFixVecs<DimVec<double> > *Quadrature::x7_3d;
double *Quadrature::w1_3d;
double *Quadrature::w2_3d;
double *Quadrature::w3_3d;
double *Quadrature::w4_3d;
double *Quadrature::w5_3d;
double *Quadrature::w7_3d;
void Quadrature::initStaticQuadratures()
{ {
TEST_EXIT(x0_1d == NULL)("static quadratures already initialized\n"); TEST_EXIT(x0_1d == NULL)("static quadratures already initialized\n");
...@@ -201,7 +124,7 @@ namespace AMDiS { ...@@ -201,7 +124,7 @@ namespace AMDiS {
w_0d = createAndInitArray(1, StdVol * 1.0); w_0d = createAndInitArray(1, StdVol * 1.0);
Quadrature::quad_0d[0] = new Quadrature("0d", 0, 0, 1, Quadrature::x_0d, Quadrature::w_0d); quad_0d[0].reset(new Quadrature("0d", 0, 0, 1, x_0d, w_0d));
/****************************************************************************/ /****************************************************************************/
/* 1d quadrature formulas using 2 barycentric coordinates */ /* 1d quadrature formulas using 2 barycentric coordinates */
...@@ -386,26 +309,26 @@ namespace AMDiS { ...@@ -386,26 +309,26 @@ namespace AMDiS {
StdVol * 0.074725674575291, StdVol * 0.074725674575291,
StdVol * 0.033335672154344); StdVol * 0.033335672154344);
Quadrature::quad_1d[0]= new Quadrature("1d-Gauss: P_1", 1, 1, 1, Quadrature::x0_1d, Quadrature::w0_1d); /* P_0 */ quad_1d[0].reset(new Quadrature("1d-Gauss: P_1", 1, 1, 1, x0_1d, w0_1d)); /* P_0 */
Quadrature::quad_1d[1]= new Quadrature("1d-Gauss: P_1", 1, 1, 1, Quadrature::x0_1d, Quadrature::w0_1d); /* P_1 */ quad_1d[1].reset(new Quadrature("1d-Gauss: P_1", 1, 1, 1, x0_1d, w0_1d)); /* P_1 */
Quadrature::quad_1d[2]= new Quadrature("1d-Gauss: P_3", 3, 1, 2, Quadrature::x1_1d, Quadrature::w1_1d); /* P_2 */ quad_1d[2].reset(new Quadrature("1d-Gauss: P_3", 3, 1, 2, x1_1d, w1_1d)); /* P_2 */
Quadrature::quad_1d[3]= new Quadrature("1d-Gauss: P_3", 3, 1, 2, Quadrature::x1_1d, Quadrature::w1_1d); /* P_3 */ quad_1d[3].reset(new Quadrature("1d-Gauss: P_3", 3, 1, 2, x1_1d, w1_1d)); /* P_3 */
Quadrature::quad_1d[4]= new Quadrature("1d-Gauss: P_5", 5, 1, 3, Quadrature::x2_1d, Quadrature::w2_1d); /* P_4 */ quad_1d[4].reset(new Quadrature("1d-Gauss: P_5", 5, 1, 3, x2_1d, w2_1d)); /* P_4 */
Quadrature::quad_1d[5]= new Quadrature("1d-Gauss: P_5", 5, 1, 3, Quadrature::x2_1d, Quadrature::w2_1d); /* P_5 */ quad_1d[5].reset(new Quadrature("1d-Gauss: P_5", 5, 1, 3, x2_1d, w2_1d)); /* P_5 */
Quadrature::quad_1d[6]= new Quadrature("1d-Gauss: P_7", 7, 1, 4, Quadrature::x3_1d, Quadrature::w3_1d); /* P_6 */ quad_1d[6].reset(new Quadrature("1d-Gauss: P_7", 7, 1, 4, x3_1d, w3_1d)); /* P_6 */
Quadrature::quad_1d[7]= new Quadrature("1d-Gauss: P_7", 7, 1, 4, Quadrature::x3_1d, Quadrature::w3_1d); /* P_7 */ quad_1d[7].reset(new Quadrature("1d-Gauss: P_7", 7, 1, 4, x3_1d, w3_1d)); /* P_7 */
Quadrature::quad_1d[8]= new Quadrature("1d-Gauss: P_9", 9, 1, 5, Quadrature::x4_1d, Quadrature::w4_1d); /* P_8 */ quad_1d[8].reset(new Quadrature("1d-Gauss: P_9", 9, 1, 5, x4_1d, w4_1d)); /* P_8 */
Quadrature::quad_1d[9]= new Quadrature("1d-Gauss: P_9", 9, 1, 5, Quadrature::x4_1d, Quadrature::w4_1d); /* P_9 */ quad_1d[9].reset(new Quadrature("1d-Gauss: P_9", 9, 1, 5, x4_1d, w4_1d)); /* P_9 */
Quadrature::quad_1d[10]= new Quadrature("1d-Gauss: P_11", 11, 1, 6, Quadrature::x5_1d, Quadrature::w5_1d); /* P_10 */ quad_1d[10].reset(new Quadrature("1d-Gauss: P_11", 11, 1, 6, x5_1d, w5_1d)); /* P_10 */
Quadrature::quad_1d[11]= new Quadrature("1d-Gauss: P_11", 11, 1, 6, Quadrature::x5_1d, Quadrature::w5_1d); /* P_11 */ quad_1d[11].reset(new Quadrature("1d-Gauss: P_11", 11, 1, 6, x5_1d, w5_1d)); /* P_11 */
Quadrature::quad_1d[12]= new Quadrature("1d-Gauss: P_13", 13, 1, 7, Quadrature::x6_1d, Quadrature::w6_1d); /* P_12 */ quad_1d[12].reset(new Quadrature("1d-Gauss: P_13", 13, 1, 7, x6_1d, w6_1d)); /* P_12 */
Quadrature::quad_1d[13]= new Quadrature("1d-Gauss: P_13", 13, 1, 7, Quadrature::x6_1d, Quadrature::w6_1d); /* P_13 */ quad_1d[13].reset(new Quadrature("1d-Gauss: P_13", 13, 1, 7, x6_1d, w6_1d)); /* P_13 */
Quadrature::quad_1d[14]= new Quadrature("1d-Gauss: P_15", 15, 1, 8, Quadrature::x7_1d, Quadrature::w7_1d); /* P_14 */ quad_1d[14].reset(new Quadrature("1d-Gauss: P_15", 15, 1, 8, x7_1d, w7_1d)); /* P_14 */
Quadrature::quad_1d[15]= new Quadrature("1d-Gauss: P_15", 15, 1, 8, Quadrature::x7_1d, Quadrature::w7_1d); /* P_15 */ quad_1d[15].reset(new Quadrature("1d-Gauss: P_15", 15, 1, 8, x7_1d, w7_1d)); /* P_15 */
Quadrature::quad_1d[16]= new Quadrature("1d-Gauss: P_17", 17, 1, 9, Quadrature::x8_1d, Quadrature::w8_1d); /* P_16 */ quad_1d[16].reset(new Quadrature("1d-Gauss: P_17", 17, 1, 9, x8_1d, w8_1d)); /* P_16 */
Quadrature::quad_1d[17]= new Quadrature("1d-Gauss: P_17", 17, 1, 9, Quadrature::x8_1d, Quadrature::w8_1d); /* P_17 */ quad_1d[17].reset(new Quadrature("1d-Gauss: P_17", 17, 1, 9, x8_1d, w8_1d)); /* P_17 */
Quadrature::quad_1d[18]= new Quadrature("1d-Gauss: P_19", 19, 1, 10, Quadrature::x9_1d, Quadrature::w9_1d); /* P_18 */ quad_1d[18].reset(new Quadrature("1d-Gauss: P_19", 19, 1, 10, x9_1d, w9_1d)); /* P_18 */
Quadrature::quad_1d[19]= new Quadrature("1d-Gauss: P_19", 19, 1, 10, Quadrature::x9_1d, Quadrature::w9_1d);/* P_19 */ quad_1d[19].reset(new Quadrature("1d-Gauss: P_19", 19, 1, 10, x9_1d, w9_1d));/* P_19 */
#undef StdVol #undef StdVol
/****************************************************************************/ /****************************************************************************/
...@@ -1131,24 +1054,24 @@ namespace AMDiS { ...@@ -1131,24 +1054,24 @@ namespace AMDiS {
#undef w14 #undef w14
#undef w15