From 542816b2394e095471efa0e2127e88b63d17cd49 Mon Sep 17 00:00:00 2001 From: Emilie Marchandise <emilie.marchandise@uclouvain.be> Date: Tue, 15 Dec 2009 09:27:26 +0000 Subject: [PATCH] --- Geo/GModelIO_Geo.cpp | 1 + Numeric/polynomialBasis.cpp | 5 ++++- Solver/TESTCASES/Stommel.lua | 5 +++-- Solver/dgGroupOfElements.cpp | 1 - 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Geo/GModelIO_Geo.cpp b/Geo/GModelIO_Geo.cpp index 465a1ce8c6..2186c8cd84 100644 --- a/Geo/GModelIO_Geo.cpp +++ b/Geo/GModelIO_Geo.cpp @@ -69,6 +69,7 @@ int GModel::exportDiscreteGEOInternals() List_Add(c->Control_Points, &v); c->end = v; } + } Tree_Add(GModel::current()->getGEOInternals()->Curves, &c); CreateReversedCurve(c); diff --git a/Numeric/polynomialBasis.cpp b/Numeric/polynomialBasis.cpp index 69c28525df..f3d55e3914 100644 --- a/Numeric/polynomialBasis.cpp +++ b/Numeric/polynomialBasis.cpp @@ -667,8 +667,9 @@ static fullMatrix<double> generateLagrangeMonomialCoefficients static void getFaceClosure(int iFace, int iSign, int iRotate, std::vector<int> &closure, int order) { + closure.clear(); - closure.reserve((order + 1) * (order + 2) / 2); + closure.resize((order + 1) * (order + 2) / 2); switch (order){ case 0: closure[0] = 0; @@ -734,10 +735,12 @@ static void getFaceClosure(int iFace, int iSign, int iRotate, std::vector<int> & } break; } + } static void generate3dFaceClosure(polynomialBasis::clCont &closure, int order) { + for (int iRotate = 0; iRotate < 3; iRotate++){ for (int iSign = 1; iSign >= -1; iSign -= 2){ for (int iFace = 0; iFace < 4; iFace++){ diff --git a/Solver/TESTCASES/Stommel.lua b/Solver/TESTCASES/Stommel.lua index c7f720c307..1d9e3b2ec9 100644 --- a/Solver/TESTCASES/Stommel.lua +++ b/Solver/TESTCASES/Stommel.lua @@ -1,17 +1,18 @@ - model = GModel() model:load ('stommel_square.msh') print('load..') +order = 3 dg = dgSystemOfEquations (model) -dg:setOrder (3) +dg:setOrder (order) dg:setConservationLaw('ShallowWater2d') dg:addBoundaryCondition('Wall','Wall') dg:setup() + dg:exportSolution('output/solution_00000') for i=1,1000 do diff --git a/Solver/dgGroupOfElements.cpp b/Solver/dgGroupOfElements.cpp index 01059e5a74..b222417f8a 100644 --- a/Solver/dgGroupOfElements.cpp +++ b/Solver/dgGroupOfElements.cpp @@ -150,7 +150,6 @@ void dgGroupOfFaces::addFace(const MFace &topoFace, int iElLeft, int iElRight){ for (int j=0; j<geomClosure.size() ; j++) vertices.push_back( elLeft.getVertex(geomClosure[j]) ); // triangular face - printf("the topological face has %d vertices and the geometrical %d\n",topoFace.getNumVertices(),vertices.size()); if (topoFace.getNumVertices() == 3){ switch(vertices.size()){ case 3 : _faces.push_back(new MTriangle (vertices) ); break; -- GitLab