From 09e447c7757be22eb7626c69e50e5bc7f79d70f1 Mon Sep 17 00:00:00 2001 From: Gaetan Bricteux <gaetan.bricteux@uclouvain.be> Date: Tue, 18 May 2010 14:00:13 +0000 Subject: [PATCH] fix function space name --- Solver/dofManager.h | 4 +++- Solver/functionSpace.cpp | 2 +- Solver/functionSpace.h | 44 ++++++++++++++++++++-------------------- 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/Solver/dofManager.h b/Solver/dofManager.h index 1c64dc60af..e65223a469 100644 --- a/Solver/dofManager.h +++ b/Solver/dofManager.h @@ -116,11 +116,13 @@ class dofManager{ } inline void fixDof(Dof key, const dataVec &value) { + if(unknown.find(key) != unknown.end()) + return; fixed[key] = value; } inline void fixDof(long int ent, int type, const dataVec &value) { - fixed[Dof(ent, type)] = value; + fixDof(Dof(ent, type), value); } inline void fixVertex(MVertex*v, int iComp, int iField, const dataVec &value) { diff --git a/Solver/functionSpace.cpp b/Solver/functionSpace.cpp index 47067cd4ad..6cb8e84b28 100644 --- a/Solver/functionSpace.cpp +++ b/Solver/functionSpace.cpp @@ -11,5 +11,5 @@ // #include "functionSpace.h" +const SVector3 VectorLagrangeFunctionSpaceOfElement::BasisVectors[3]={SVector3(1,0,0),SVector3(0,1,0),SVector3(0,0,1)}; const SVector3 VectorLagrangeFunctionSpace::BasisVectors[3]={SVector3(1,0,0),SVector3(0,1,0),SVector3(0,0,1)}; -const SVector3 VectorLagrangeFunctionSpaceOfParent::BasisVectors[3]={SVector3(1,0,0),SVector3(0,1,0),SVector3(0,0,1)}; diff --git a/Solver/functionSpace.h b/Solver/functionSpace.h index e5bb028499..3a433be190 100644 --- a/Solver/functionSpace.h +++ b/Solver/functionSpace.h @@ -61,7 +61,7 @@ class FunctionSpace : public FunctionSpaceBase virtual void getKeys(MElement *ele, std::vector<Dof> &keys) = 0; }; -class ScalarLagrangeFunctionSpace : public FunctionSpace<double> +class ScalarLagrangeFunctionSpaceOfElement : public FunctionSpace<double> { public: typedef TensorialTraits<double>::ValType ValType; @@ -78,7 +78,7 @@ class ScalarLagrangeFunctionSpace : public FunctionSpace<double> } public: - ScalarLagrangeFunctionSpace(int i = 0) : _iField(i) {} + ScalarLagrangeFunctionSpaceOfElement(int i = 0) : _iField(i) {} virtual int getId(void) const {return _iField;} virtual void f(MElement *ele, double u, double v, double w, std::vector<ValType> &vals) { @@ -164,7 +164,7 @@ class ScalarLagrangeFunctionSpace : public FunctionSpace<double> } }; -class ScalarLagrangeFunctionSpaceOfParent : public FunctionSpace<double> +class ScalarLagrangeFunctionSpace : public FunctionSpace<double> { public: typedef TensorialTraits<double>::ValType ValType; @@ -180,7 +180,7 @@ class ScalarLagrangeFunctionSpaceOfParent : public FunctionSpace<double> keys.push_back(Dof(ver->getNum(), _iField)); } public: - ScalarLagrangeFunctionSpaceOfParent(int i = 0) : _iField(i) {} + ScalarLagrangeFunctionSpace(int i = 0) : _iField(i) {} virtual int getId(void) const {return _iField;} virtual void f(MElement *ele, double u, double v, double w, std::vector<ValType> &vals) { @@ -363,7 +363,7 @@ public : } }; -class VectorLagrangeFunctionSpace : public ScalarToAnyFunctionSpace<SVector3> +class VectorLagrangeFunctionSpaceOfElement : public ScalarToAnyFunctionSpace<SVector3> { protected: static const SVector3 BasisVectors[3]; @@ -371,25 +371,25 @@ class VectorLagrangeFunctionSpace : public ScalarToAnyFunctionSpace<SVector3> enum Along { VECTOR_X = 0, VECTOR_Y = 1, VECTOR_Z = 2 }; typedef TensorialTraits<SVector3>::ValType ValType; typedef TensorialTraits<SVector3>::GradType GradType; - VectorLagrangeFunctionSpace(int id) : - ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpace(id), + VectorLagrangeFunctionSpaceOfElement(int id) : + ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpaceOfElement(id), SVector3(1.,0.,0.), VECTOR_X, SVector3(0.,1.,0.), VECTOR_Y, SVector3(0.,0.,1.), VECTOR_Z) {} - VectorLagrangeFunctionSpace(int id,Along comp1) : - ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpace(id), + VectorLagrangeFunctionSpaceOfElement(int id,Along comp1) : + ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpaceOfElement(id), BasisVectors[comp1], comp1) {} - VectorLagrangeFunctionSpace(int id,Along comp1,Along comp2) : - ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpace(id), + VectorLagrangeFunctionSpaceOfElement(int id,Along comp1,Along comp2) : + ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpaceOfElement(id), BasisVectors[comp1], comp1, BasisVectors[comp2], comp2) {} - VectorLagrangeFunctionSpace(int id,Along comp1,Along comp2, Along comp3) : - ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpace(id), + VectorLagrangeFunctionSpaceOfElement(int id,Along comp1,Along comp2, Along comp3) : + ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpaceOfElement(id), BasisVectors[comp1], comp1, BasisVectors[comp2], comp2, BasisVectors[comp3], comp3) {} }; -class VectorLagrangeFunctionSpaceOfParent : public ScalarToAnyFunctionSpace<SVector3> +class VectorLagrangeFunctionSpace : public ScalarToAnyFunctionSpace<SVector3> { protected: static const SVector3 BasisVectors[3]; @@ -397,20 +397,20 @@ class VectorLagrangeFunctionSpaceOfParent : public ScalarToAnyFunctionSpace<SVec enum Along { VECTOR_X = 0, VECTOR_Y = 1, VECTOR_Z = 2 }; typedef TensorialTraits<SVector3>::ValType ValType; typedef TensorialTraits<SVector3>::GradType GradType; - VectorLagrangeFunctionSpaceOfParent(int id) : - ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpaceOfParent(id), + VectorLagrangeFunctionSpace(int id) : + ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpace(id), SVector3(1.,0.,0.), VECTOR_X, SVector3(0.,1.,0.), VECTOR_Y, SVector3(0.,0.,1.), VECTOR_Z) {} - VectorLagrangeFunctionSpaceOfParent(int id,Along comp1) : - ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpaceOfParent(id), + VectorLagrangeFunctionSpace(int id,Along comp1) : + ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpace(id), BasisVectors[comp1], comp1) {} - VectorLagrangeFunctionSpaceOfParent(int id,Along comp1,Along comp2) : - ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpaceOfParent(id), + VectorLagrangeFunctionSpace(int id,Along comp1,Along comp2) : + ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpace(id), BasisVectors[comp1], comp1, BasisVectors[comp2], comp2) {} - VectorLagrangeFunctionSpaceOfParent(int id,Along comp1,Along comp2, Along comp3) : - ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpaceOfParent(id), + VectorLagrangeFunctionSpace(int id,Along comp1,Along comp2, Along comp3) : + ScalarToAnyFunctionSpace<SVector3>::ScalarToAnyFunctionSpace(ScalarLagrangeFunctionSpace(id), BasisVectors[comp1], comp1, BasisVectors[comp2], comp2, BasisVectors[comp3], comp3) {} }; -- GitLab