diff --git a/demo/src/ball.cc b/demo/src/ball.cc index fc02450219d8a471ba3afdfa77d924597e640dea..516337f90cd812f937ddcf6d3f3edfeb0f6ac46d 100644 --- a/demo/src/ball.cc +++ b/demo/src/ball.cc @@ -69,9 +69,6 @@ int main(int argc, char* argv[]) &ball, adaptInfo); - // ===== add boundary conditions ===== - ball.addDirichletBC(1, new G); - // ===== create matrix operator ===== Operator matrixOperator(Operator::MATRIX_OPERATOR, ball.getFESpace()); matrixOperator.addSecondOrderTerm(new Laplace_SOT); @@ -83,6 +80,9 @@ int main(int argc, char* argv[]) rhsOperator.addZeroOrderTerm(new CoordsAtQP_ZOT(new F(degree))); ball.addVectorOperator(&rhsOperator); + // ===== add boundary conditions ===== + ball.addDirichletBC(1, new G); + // ===== start adaption loop ===== adapt->adapt(); diff --git a/demo/src/bunny.cc b/demo/src/bunny.cc index f52ea411c29382cb7e128f4becc24395901bc2be..50733f3560bb9ea97b69dcda48ab8bf0a470ca54 100644 --- a/demo/src/bunny.cc +++ b/demo/src/bunny.cc @@ -66,9 +66,6 @@ int main(int argc, char* argv[]) &bunny, adaptInfo); - // ===== add boundary conditions ===== - //bunny.addDirichletBC(1111, new G); - // ===== create matrix operator ===== Operator matrixOperator(Operator::MATRIX_OPERATOR, bunny.getFESpace()); diff --git a/demo/src/couple.cc b/demo/src/couple.cc index 68be9f3c73e32194a32d0f1298969d37e17bc4fa..f1af8da1d3828553e9818d65623e78e68d5a1d90 100644 --- a/demo/src/couple.cc +++ b/demo/src/couple.cc @@ -141,12 +141,6 @@ int main(int argc, char* argv[]) &problem1, adoptFlag); - // ===== add boundary conditions for problem1 ===== - problem1.addDirichletBC(1, new G); - - // ===== add boundary conditions for problem1 ===== - //problem2.addDirichletBC(1, new G); - // ===== create operators for problem1 ===== Operator matrixOperator1(Operator::MATRIX_OPERATOR, problem1.getFESpace()); matrixOperator1.addSecondOrderTerm(new Laplace_SOT); @@ -167,6 +161,12 @@ int main(int argc, char* argv[]) new Identity(degree))); problem2.addVectorOperator(&rhsOperator2); + // ===== add boundary conditions for problem1 ===== + problem1.addDirichletBC(1, new G); + + // ===== add boundary conditions for problem1 ===== + //problem2.addDirichletBC(1, new G); + // ===== create adaptation loop and iteration interface ===== AdaptInfo *adaptInfo = new AdaptInfo("couple->adapt", 1); MyCoupledIteration coupledIteration(&problem1, &problem2); diff --git a/demo/src/ellipt.cc b/demo/src/ellipt.cc index 1ba61c89c8e595c122fa2d66d881e1f5d0e624c3..1eaf426ce411234ea8f5a74f8bdae11fb7beb075 100644 --- a/demo/src/ellipt.cc +++ b/demo/src/ellipt.cc @@ -65,10 +65,6 @@ int main(int argc, char* argv[]) AdaptStationary adapt("ellipt->adapt", ellipt, adaptInfo); - // ===== add boundary conditions ===== - ellipt.addDirichletBC(1, new G); - - // ===== create matrix operator ===== Operator matrixOperator(Operator::MATRIX_OPERATOR, ellipt.getFESpace()); matrixOperator.addSecondOrderTerm(new Laplace_SOT); @@ -82,6 +78,10 @@ int main(int argc, char* argv[]) ellipt.addVectorOperator(rhsOperator); + // ===== add boundary conditions ===== + ellipt.addDirichletBC(1, new G); + + // ===== start adaption loop ===== adapt.adapt(); diff --git a/demo/src/heat.cc b/demo/src/heat.cc index 595f0c09f8ed097f59c5ab9bfe14967408dfa021..bb414fee1bc18db79bbf2074caa1d502e06749e4 100644 --- a/demo/src/heat.cc +++ b/demo/src/heat.cc @@ -193,14 +193,6 @@ int main(int argc, char** argv) adaptInfoInitial); - // ===== create boundary functions ===== - G *boundaryFct = new G; - boundaryFct->setTimePtr(heat.getBoundaryTimePtr()); - heat.setExactSolution(boundaryFct); - - heatSpace.addDirichletBC(DIRICHLET, boundaryFct); - - // ===== create rhs functions ===== int degree = heatSpace.getFESpace()->getBasisFcts()->getDegree(); F *rhsFct = new F(degree); @@ -235,6 +227,14 @@ int main(int argc, char** argv) heatSpace.addVectorOperator(F); + // ===== create boundary functions ===== + G *boundaryFct = new G; + boundaryFct->setTimePtr(heat.getBoundaryTimePtr()); + heat.setExactSolution(boundaryFct); + + heatSpace.addDirichletBC(DIRICHLET, boundaryFct); + + // ===== start adaption loop ===== int errorCode = adaptInstat.adapt(); diff --git a/demo/src/neumann.cc b/demo/src/neumann.cc index 8de2f500b558bda4a757f8b7b2c413513589915c..cd825be11a386c99e42185abb82950a3fb9744fe 100644 --- a/demo/src/neumann.cc +++ b/demo/src/neumann.cc @@ -62,10 +62,6 @@ int main(int argc, char* argv[]) &neumann, adaptInfo); - // ===== add boundary conditions ===== - neumann.addNeumannBC(1, new N); - neumann.addDirichletBC(2, new G); - // ===== create matrix operator ===== Operator matrixOperator(Operator::MATRIX_OPERATOR, neumann.getFESpace()); matrixOperator.addSecondOrderTerm(new Laplace_SOT); @@ -77,6 +73,10 @@ int main(int argc, char* argv[]) rhsOperator.addZeroOrderTerm(new CoordsAtQP_ZOT(new F(degree))); neumann.addVectorOperator(&rhsOperator); + // ===== add boundary conditions ===== + neumann.addNeumannBC(1, new N); + neumann.addDirichletBC(2, new G); + // ===== start adaption loop ===== adapt->adapt(); diff --git a/demo/src/parallelellipt.cc b/demo/src/parallelellipt.cc index bbe369e4366b127362331992c22079efeb88d753..fe06109906d09c5b18159af3b6e85a0cccc2101a 100644 --- a/demo/src/parallelellipt.cc +++ b/demo/src/parallelellipt.cc @@ -71,9 +71,6 @@ int main(int argc, char* argv[]) ¶llelellipt, adaptInfo); - // ===== add boundary conditions ===== - ellipt.addDirichletBC(1, new G); - // ===== create matrix operator ===== Operator matrixOperator(Operator::MATRIX_OPERATOR, ellipt.getFESpace()); matrixOperator.addSecondOrderTerm(new Laplace_SOT); @@ -85,6 +82,9 @@ int main(int argc, char* argv[]) rhsOperator.addZeroOrderTerm(new CoordsAtQP_ZOT(new F(degree))); ellipt.addVectorOperator(&rhsOperator); + // ===== add boundary conditions ===== + ellipt.addDirichletBC(1, new G); + parallelellipt.initParallelization(adaptInfo); adapt->adapt(); parallelellipt.exitParallelization(adaptInfo); diff --git a/demo/src/parallelheat.cc b/demo/src/parallelheat.cc index 868337f67817f980159dfad81100ef13cb41ab8c..6c774dcee46ad3b0c5d4746d3145519fac33bf3a 100644 --- a/demo/src/parallelheat.cc +++ b/demo/src/parallelheat.cc @@ -174,13 +174,6 @@ int main(int argc, char** argv) ¶llelheat, adaptInfoInitial); - // ===== create boundary functions ===== - G *boundaryFct = new G; - boundaryFct->setTimePtr(heat->getTimePtr()); - heat->setBoundaryFct(boundaryFct); - - heatSpace->addDirichletBC(DIRICHLET, boundaryFct); - // ===== create rhs functions ===== int degree = heatSpace->getFESpace()->getBasisFcts()->getDegree(); F *rhsFct = new F(degree); @@ -221,20 +214,21 @@ int main(int argc, char** argv) heatSpace->addVectorOperator(F); -// // ===== start adaption loop ===== -// if(MPI::COMM_WORLD.Get_rank() == 0) { -// bool wait=true; -// while(wait) {} -// } + // ===== create boundary functions ===== + G *boundaryFct = new G; + boundaryFct->setTimePtr(heat->getTimePtr()); + heat->setBoundaryFct(boundaryFct); + + heatSpace->addDirichletBC(DIRICHLET, boundaryFct); + + +// // ===== start adaption loop ===== parallelheat.initParallelization(adaptInfo); adaptInstat->adapt(); parallelheat.exitParallelization(adaptInfo); -// if(MPI::COMM_WORLD.Get_rank() == 0) -// heatSpace->writeFiles(adaptInfo, true); - MPI::Finalize(); } diff --git a/demo/src/periodic.cc b/demo/src/periodic.cc index 99a1f164168e321abd4c15801e91a21a6e6a857e..628a4568696889b4309fa8fb95c5ed6d313b73b4 100644 --- a/demo/src/periodic.cc +++ b/demo/src/periodic.cc @@ -52,12 +52,6 @@ int main(int argc, char* argv[]) &periodic, adaptInfo); - // ===== add boundary conditions ===== - periodic.addDirichletBC(1, new G); - - // ===== add periodic conditions ===== - periodic.addPeriodicBC(-1); - // ===== create matrix operator ===== Operator matrixOperator(Operator::MATRIX_OPERATOR, periodic.getFESpace()); matrixOperator.addSecondOrderTerm(new Laplace_SOT); @@ -69,6 +63,12 @@ int main(int argc, char* argv[]) rhsOperator.addZeroOrderTerm(new CoordsAtQP_ZOT(new F(degree))); periodic.addVectorOperator(&rhsOperator); + // ===== add boundary conditions ===== + periodic.addDirichletBC(1, new G); + + // ===== add periodic conditions ===== + periodic.addPeriodicBC(-1); + // ===== start adaption loop ===== adapt->adapt(); diff --git a/demo/src/vecellipt.cc b/demo/src/vecellipt.cc index 8b2e5e2d29c5a8e19b5008b95bdb8db84342d22c..36c2f3fe46f9c908bd04de15b21003133a1ace52 100644 --- a/demo/src/vecellipt.cc +++ b/demo/src/vecellipt.cc @@ -63,10 +63,6 @@ int main(int argc, char* argv[]) AdaptStationary adapt("vecellipt->adapt", vecellipt, adaptInfo); - // ===== add boundary conditions ===== - vecellipt.addDirichletBC(1, 0, 0, new G); - - // ===== create matrix operators ===== Operator matrixOperator00(Operator::MATRIX_OPERATOR, vecellipt.getFESpace(0), vecellipt.getFESpace(0)); @@ -90,6 +86,9 @@ int main(int argc, char* argv[]) rhsOperator0.addZeroOrderTerm(new CoordsAtQP_ZOT(new F(degree))); vecellipt.addVectorOperator(rhsOperator0, 0); + // ===== add boundary conditions ===== + vecellipt.addDirichletBC(1, 0, 0, new G); + // ===== start adaption loop ===== adapt.adapt(); diff --git a/demo/src/vecheat.cc b/demo/src/vecheat.cc index b19d2a05a3470d1be6c8f0a3b8e14db721644e01..a2dfddaa4f7fea3f3d35dfdd177291a04fcdf3de 100644 --- a/demo/src/vecheat.cc +++ b/demo/src/vecheat.cc @@ -248,14 +248,6 @@ int main(int argc, char** argv) *(adaptInfo.getTimestepPtr()) *= fac * pow(2.0, -nRefine); - // ===== create boundary functions ===== - G *boundaryFct = new G; - boundaryFct->setTimePtr(vecheat.getBoundaryTimePtr()); - vecheat.setBoundaryFct(boundaryFct); - - vecheatSpace.addDirichletBC(DIRICHLET, 0, 0, boundaryFct); - vecheatSpace.addDirichletBC(DIRICHLET, 1, 1, boundaryFct); - // ===== create rhs functions ===== F *rhsFct0 = new F(vecheatSpace.getFESpace(0)->getBasisFcts()->getDegree()); rhsFct0->setTimePtr(vecheat.getRHSTimePtr()); @@ -315,6 +307,14 @@ int main(int argc, char** argv) F1.addZeroOrderTerm(new CoordsAtQP_ZOT(rhsFct1)); vecheatSpace.addVectorOperator(F1, 1); + // ===== create boundary functions ===== + G *boundaryFct = new G; + boundaryFct->setTimePtr(vecheat.getBoundaryTimePtr()); + vecheat.setBoundaryFct(boundaryFct); + + vecheatSpace.addDirichletBC(DIRICHLET, 0, 0, boundaryFct); + vecheatSpace.addDirichletBC(DIRICHLET, 1, 1, boundaryFct); + // ===== start adaption loop ===== int errorCode = adaptInstat.adapt();