Commit f8646256 authored by Thomas Witkowski's avatar Thomas Witkowski
Browse files

* Merge of PardisoSolver and parallel assembler

parent d56091a2
...@@ -127,6 +127,8 @@ $(SOURCE_DIR)/Element.h $(SOURCE_DIR)/ElementConnection.h \ ...@@ -127,6 +127,8 @@ $(SOURCE_DIR)/Element.h $(SOURCE_DIR)/ElementConnection.h \
$(SOURCE_DIR)/ElInfo.h $(SOURCE_DIR)/ElInfo1d.h $(SOURCE_DIR)/ElInfo2d.h $(SOURCE_DIR)/ElInfo3d.h \ $(SOURCE_DIR)/ElInfo.h $(SOURCE_DIR)/ElInfo1d.h $(SOURCE_DIR)/ElInfo2d.h $(SOURCE_DIR)/ElInfo3d.h \
$(SOURCE_DIR)/Error.h $(SOURCE_DIR)/Error.hh \ $(SOURCE_DIR)/Error.h $(SOURCE_DIR)/Error.hh \
$(SOURCE_DIR)/Estimator.h $(SOURCE_DIR)/Estimator.cc \ $(SOURCE_DIR)/Estimator.h $(SOURCE_DIR)/Estimator.cc \
$(SOURCE_DIR)/ResidualEstimator.h $(SOURCE_DIR)/ResidualEstimator.cc \
$(SOURCE_DIR)/ResidualParallelEstimator.h $(SOURCE_DIR)/ResidualParallelEstimator.cc \
$(SOURCE_DIR)/FiniteElemSpace.h \ $(SOURCE_DIR)/FiniteElemSpace.h \
$(SOURCE_DIR)/FixVec.h $(SOURCE_DIR)/FixVec.hh \ $(SOURCE_DIR)/FixVec.h $(SOURCE_DIR)/FixVec.hh \
$(SOURCE_DIR)/FixVecConvert.h \ $(SOURCE_DIR)/FixVecConvert.h \
...@@ -134,7 +136,7 @@ $(SOURCE_DIR)/Flag.h \ ...@@ -134,7 +136,7 @@ $(SOURCE_DIR)/Flag.h \
$(SOURCE_DIR)/Global.h \ $(SOURCE_DIR)/Global.h \
$(SOURCE_DIR)/GMResSolver.h $(SOURCE_DIR)/GMResSolver.hh \ $(SOURCE_DIR)/GMResSolver.h $(SOURCE_DIR)/GMResSolver.hh \
$(SOURCE_DIR)/GMResSolver2.h $(SOURCE_DIR)/GMResSolver2.hh \ $(SOURCE_DIR)/GMResSolver2.h $(SOURCE_DIR)/GMResSolver2.hh \
$(SOURCE_DIR)/TFQMR.h \ $(SOURCE_DIR)/TFQMR.hh \ $(SOURCE_DIR)/TFQMR.h $(SOURCE_DIR)/TFQMR.hh \
$(SOURCE_DIR)/VecSymSolver.h $(SOURCE_DIR)/VecSymSolver.hh \ $(SOURCE_DIR)/VecSymSolver.h $(SOURCE_DIR)/VecSymSolver.hh \
$(SOURCE_DIR)/UmfPackSolver.h $(SOURCE_DIR)/UmfPackSolver.hh \ $(SOURCE_DIR)/UmfPackSolver.h $(SOURCE_DIR)/UmfPackSolver.hh \
$(SOURCE_DIR)/PardisoSolver.h $(SOURCE_DIR)/PardisoSolver.hh $(SOURCE_DIR)/PardisoSolver.cc \ $(SOURCE_DIR)/PardisoSolver.h $(SOURCE_DIR)/PardisoSolver.hh $(SOURCE_DIR)/PardisoSolver.cc \
...@@ -152,7 +154,9 @@ $(SOURCE_DIR)/Preconditioner.h \ ...@@ -152,7 +154,9 @@ $(SOURCE_DIR)/Preconditioner.h \
$(SOURCE_DIR)/Quadrature.h \ $(SOURCE_DIR)/Quadrature.h \
$(SOURCE_DIR)/RCNeighbourList.h \ $(SOURCE_DIR)/RCNeighbourList.h \
$(SOURCE_DIRe)/RefinementManager.h \ $(SOURCE_DIRe)/RefinementManager.h \
$(SOURCE_DIR)/RefinementManager1d.h $(SOURCE_DIR)/RefinementManager2d.h $(SOURCE_DIR)/RefinementManager3d.h \ $(SOURCE_DIR)/RefinementManager1d.h \
$(SOURCE_DIR)/RefinementManager2d.h \
$(SOURCE_DIR)/RefinementManager3d.h \
$(SOURCE_DIR)/TecPlotWriter.h $(SOURCE_DIR)/TecPlotWriter.hh \ $(SOURCE_DIR)/TecPlotWriter.h $(SOURCE_DIR)/TecPlotWriter.hh \
$(SOURCE_DIR)/Tetrahedron.h \ $(SOURCE_DIR)/Tetrahedron.h \
$(SOURCE_DIR)/Traverse.h \ $(SOURCE_DIR)/Traverse.h \
...@@ -177,7 +181,9 @@ $(SOURCE_DIR)/demangle.cc \ ...@@ -177,7 +181,9 @@ $(SOURCE_DIR)/demangle.cc \
$(SOURCE_DIR)/DOFAdmin.cc \ $(SOURCE_DIR)/DOFAdmin.cc \
$(SOURCE_DIR)/DOFMatrix.cc \ $(SOURCE_DIR)/DOFMatrix.cc \
$(SOURCE_DIR)/Element.cc \ $(SOURCE_DIR)/Element.cc \
$(SOURCE_DIR)/ElInfo1d.cc $(SOURCE_DIR)/ElInfo2d.cc $(SOURCE_DIR)/ElInfo3d.cc \ $(SOURCE_DIR)/ElInfo1d.cc \
$(SOURCE_DIR)/ElInfo2d.cc \
$(SOURCE_DIR)/ElInfo3d.cc \
$(SOURCE_DIR)/FiniteElemSpace.cc \ $(SOURCE_DIR)/FiniteElemSpace.cc \
$(SOURCE_DIR)/FixVec.cc \ $(SOURCE_DIR)/FixVec.cc \
$(SOURCE_DIR)/Flag.cc \ $(SOURCE_DIR)/Flag.cc \
...@@ -196,6 +202,7 @@ $(SOURCE_DIR)/RefinementManager2d.cc \ ...@@ -196,6 +202,7 @@ $(SOURCE_DIR)/RefinementManager2d.cc \
$(SOURCE_DIR)/RefinementManager3d.cc \ $(SOURCE_DIR)/RefinementManager3d.cc \
$(SOURCE_DIR)/Tetrahedron.cc \ $(SOURCE_DIR)/Tetrahedron.cc \
$(SOURCE_DIR)/Traverse.cc \ $(SOURCE_DIR)/Traverse.cc \
$(SOURCE_DIR)/TraverseParallel.h $(SOURCE_DIR)/TraverseParallel.cc \
$(SOURCE_DIR)/Triangle.cc \ $(SOURCE_DIR)/Triangle.cc \
$(SOURCE_DIR)/TecPlotWriter.cc \ $(SOURCE_DIR)/TecPlotWriter.cc \
$(SOURCE_DIR)/ValueWriter.cc \ $(SOURCE_DIR)/ValueWriter.cc \
...@@ -211,11 +218,8 @@ $(SOURCE_DIR)/OpenMP.h ...@@ -211,11 +218,8 @@ $(SOURCE_DIR)/OpenMP.h
COMPOSITE_SOURCE_DIR = ../compositeFEM/src COMPOSITE_SOURCE_DIR = ../compositeFEM/src
if AMDIS_DEBUG libcompositeFEM_la_CXXFLAGS = $(libamdis_la_CXXFLAGS)
libcompositeFEM_la_CXXFLAGS = -g -O0 -Wall -DDEBUG=1 -I$(SOURCE_DIR)
else
libcompositeFEM_la_CXXFLAGS = -O2 -Wall -DDEBUG=0 -I$(SOURCE_DIR)
endif
libcompositeFEM_la_SOURCES = $(COMPOSITE_SOURCE_DIR)/CFE_Integration.h \ libcompositeFEM_la_SOURCES = $(COMPOSITE_SOURCE_DIR)/CFE_Integration.h \
$(COMPOSITE_SOURCE_DIR)/CFE_Integration.cc \ $(COMPOSITE_SOURCE_DIR)/CFE_Integration.cc \
......
...@@ -166,26 +166,29 @@ am__libamdis_la_SOURCES_DIST = $(PARALLEL_DIR)/ConditionalEstimator.h \ ...@@ -166,26 +166,29 @@ am__libamdis_la_SOURCES_DIST = $(PARALLEL_DIR)/ConditionalEstimator.h \
$(SOURCE_DIR)/ElInfo1d.h $(SOURCE_DIR)/ElInfo2d.h \ $(SOURCE_DIR)/ElInfo1d.h $(SOURCE_DIR)/ElInfo2d.h \
$(SOURCE_DIR)/ElInfo3d.h $(SOURCE_DIR)/Error.h \ $(SOURCE_DIR)/ElInfo3d.h $(SOURCE_DIR)/Error.h \
$(SOURCE_DIR)/Error.hh $(SOURCE_DIR)/Estimator.h \ $(SOURCE_DIR)/Error.hh $(SOURCE_DIR)/Estimator.h \
$(SOURCE_DIR)/Estimator.cc $(SOURCE_DIR)/FiniteElemSpace.h \ $(SOURCE_DIR)/Estimator.cc $(SOURCE_DIR)/ResidualEstimator.h \
$(SOURCE_DIR)/FixVec.h $(SOURCE_DIR)/FixVec.hh \ $(SOURCE_DIR)/ResidualEstimator.cc \
$(SOURCE_DIR)/FixVecConvert.h $(SOURCE_DIR)/Flag.h \ $(SOURCE_DIR)/ResidualParallelEstimator.h \
$(SOURCE_DIR)/Global.h $(SOURCE_DIR)/GMResSolver.h \ $(SOURCE_DIR)/ResidualParallelEstimator.cc \
$(SOURCE_DIR)/GMResSolver.hh $(SOURCE_DIR)/GMResSolver2.h \ $(SOURCE_DIR)/FiniteElemSpace.h $(SOURCE_DIR)/FixVec.h \
$(SOURCE_DIR)/GMResSolver2.hh $(SOURCE_DIR)/TFQMR.h \ \ $(SOURCE_DIR)/FixVec.hh $(SOURCE_DIR)/FixVecConvert.h \
$(SOURCE_DIR)/TFQMR.hh $(SOURCE_DIR)/VecSymSolver.h \ $(SOURCE_DIR)/Flag.h $(SOURCE_DIR)/Global.h \
$(SOURCE_DIR)/VecSymSolver.hh $(SOURCE_DIR)/UmfPackSolver.h \ $(SOURCE_DIR)/GMResSolver.h $(SOURCE_DIR)/GMResSolver.hh \
$(SOURCE_DIR)/UmfPackSolver.hh $(SOURCE_DIR)/PardisoSolver.h \ $(SOURCE_DIR)/GMResSolver2.h $(SOURCE_DIR)/GMResSolver2.hh \
$(SOURCE_DIR)/PardisoSolver.hh $(SOURCE_DIR)/PardisoSolver.cc \ $(SOURCE_DIR)/TFQMR.h $(SOURCE_DIR)/TFQMR.hh \
$(SOURCE_DIR)/Lagrange.h $(SOURCE_DIR)/Line.h \ $(SOURCE_DIR)/VecSymSolver.h $(SOURCE_DIR)/VecSymSolver.hh \
$(SOURCE_DIR)/MacroElement.h $(SOURCE_DIR)/MacroWriter.h \ $(SOURCE_DIR)/UmfPackSolver.h $(SOURCE_DIR)/UmfPackSolver.hh \
$(SOURCE_DIR)/Markings.h $(SOURCE_DIR)/Markings.hh \ $(SOURCE_DIR)/PardisoSolver.h $(SOURCE_DIR)/PardisoSolver.hh \
$(SOURCE_DIR)/MemoryManager.h $(SOURCE_DIR)/Mesh.h \ $(SOURCE_DIR)/PardisoSolver.cc $(SOURCE_DIR)/Lagrange.h \
$(SOURCE_DIR)/ODirSolver.h $(SOURCE_DIR)/ODirSolver.hh \ $(SOURCE_DIR)/Line.h $(SOURCE_DIR)/MacroElement.h \
$(SOURCE_DIR)/OEMSolver.h $(SOURCE_DIR)/OEMSolver.hh \ $(SOURCE_DIR)/MacroWriter.h $(SOURCE_DIR)/Markings.h \
$(SOURCE_DIR)/OResSolver.h $(SOURCE_DIR)/OResSolver.hh \ $(SOURCE_DIR)/Markings.hh $(SOURCE_DIR)/MemoryManager.h \
$(SOURCE_DIR)/Parameters.h $(SOURCE_DIR)/Parametric.h \ $(SOURCE_DIR)/Mesh.h $(SOURCE_DIR)/ODirSolver.h \
$(SOURCE_DIR)/Preconditioner.h $(SOURCE_DIR)/Quadrature.h \ $(SOURCE_DIR)/ODirSolver.hh $(SOURCE_DIR)/OEMSolver.h \
$(SOURCE_DIR)/RCNeighbourList.h \ $(SOURCE_DIR)/OEMSolver.hh $(SOURCE_DIR)/OResSolver.h \
$(SOURCE_DIR)/OResSolver.hh $(SOURCE_DIR)/Parameters.h \
$(SOURCE_DIR)/Parametric.h $(SOURCE_DIR)/Preconditioner.h \
$(SOURCE_DIR)/Quadrature.h $(SOURCE_DIR)/RCNeighbourList.h \
$(SOURCE_DIRe)/RefinementManager.h \ $(SOURCE_DIRe)/RefinementManager.h \
$(SOURCE_DIR)/RefinementManager1d.h \ $(SOURCE_DIR)/RefinementManager1d.h \
$(SOURCE_DIR)/RefinementManager2d.h \ $(SOURCE_DIR)/RefinementManager2d.h \
...@@ -221,13 +224,15 @@ am__libamdis_la_SOURCES_DIST = $(PARALLEL_DIR)/ConditionalEstimator.h \ ...@@ -221,13 +224,15 @@ am__libamdis_la_SOURCES_DIST = $(PARALLEL_DIR)/ConditionalEstimator.h \
$(SOURCE_DIR)/RefinementManager2d.cc \ $(SOURCE_DIR)/RefinementManager2d.cc \
$(SOURCE_DIR)/RefinementManager3d.cc \ $(SOURCE_DIR)/RefinementManager3d.cc \
$(SOURCE_DIR)/Tetrahedron.cc $(SOURCE_DIR)/Traverse.cc \ $(SOURCE_DIR)/Tetrahedron.cc $(SOURCE_DIR)/Traverse.cc \
$(SOURCE_DIR)/Triangle.cc $(SOURCE_DIR)/TecPlotWriter.cc \ $(SOURCE_DIR)/TraverseParallel.h \
$(SOURCE_DIR)/ValueWriter.cc $(SOURCE_DIR)/MemoryPool.h \ $(SOURCE_DIR)/TraverseParallel.cc $(SOURCE_DIR)/Triangle.cc \
$(SOURCE_DIR)/MemoryPool.cc $(SOURCE_DIR)/MemoryManager.cc \ $(SOURCE_DIR)/TecPlotWriter.cc $(SOURCE_DIR)/ValueWriter.cc \
$(SOURCE_DIR)/VtkWriter.h $(SOURCE_DIR)/VtkWriter.cc \ $(SOURCE_DIR)/MemoryPool.h $(SOURCE_DIR)/MemoryPool.cc \
$(SOURCE_DIR)/DataCollector.h $(SOURCE_DIR)/DataCollector.cc \ $(SOURCE_DIR)/MemoryManager.cc $(SOURCE_DIR)/VtkWriter.h \
$(SOURCE_DIR)/ElementInfo.h $(SOURCE_DIR)/VertexInfo.h \ $(SOURCE_DIR)/VtkWriter.cc $(SOURCE_DIR)/DataCollector.h \
$(SOURCE_DIR)/PeriodicInfo.h $(SOURCE_DIR)/OpenMP.h $(SOURCE_DIR)/DataCollector.cc $(SOURCE_DIR)/ElementInfo.h \
$(SOURCE_DIR)/VertexInfo.h $(SOURCE_DIR)/PeriodicInfo.h \
$(SOURCE_DIR)/OpenMP.h
@USE_PARALLEL_AMDIS_TRUE@am__objects_1 = \ @USE_PARALLEL_AMDIS_TRUE@am__objects_1 = \
@USE_PARALLEL_AMDIS_TRUE@ libamdis_la-ConditionalEstimator.lo \ @USE_PARALLEL_AMDIS_TRUE@ libamdis_la-ConditionalEstimator.lo \
@USE_PARALLEL_AMDIS_TRUE@ libamdis_la-MeshStructure.lo \ @USE_PARALLEL_AMDIS_TRUE@ libamdis_la-MeshStructure.lo \
...@@ -263,6 +268,8 @@ am_libamdis_la_OBJECTS = $(am__objects_1) \ ...@@ -263,6 +268,8 @@ am_libamdis_la_OBJECTS = $(am__objects_1) \
libamdis_la-ILUPreconditioner.lo \ libamdis_la-ILUPreconditioner.lo \
libamdis_la-ILUTPreconditioner.lo libamdis_la-BFGS_Precond.lo \ libamdis_la-ILUTPreconditioner.lo libamdis_la-BFGS_Precond.lo \
libamdis_la-DOFVector.lo libamdis_la-Estimator.lo \ libamdis_la-DOFVector.lo libamdis_la-Estimator.lo \
libamdis_la-ResidualEstimator.lo \
libamdis_la-ResidualParallelEstimator.lo \
libamdis_la-PardisoSolver.lo libamdis_la-ProblemInstat.lo \ libamdis_la-PardisoSolver.lo libamdis_la-ProblemInstat.lo \
libamdis_la-ProblemNonLin.lo libamdis_la-NonLinUpdater.lo \ libamdis_la-ProblemNonLin.lo libamdis_la-NonLinUpdater.lo \
libamdis_la-QPsiPhi.lo libamdis_la-BasisFunction.lo \ libamdis_la-QPsiPhi.lo libamdis_la-BasisFunction.lo \
...@@ -283,10 +290,11 @@ am_libamdis_la_OBJECTS = $(am__objects_1) \ ...@@ -283,10 +290,11 @@ am_libamdis_la_OBJECTS = $(am__objects_1) \
libamdis_la-RefinementManager1d.lo \ libamdis_la-RefinementManager1d.lo \
libamdis_la-RefinementManager2d.lo \ libamdis_la-RefinementManager2d.lo \
libamdis_la-RefinementManager3d.lo libamdis_la-Tetrahedron.lo \ libamdis_la-RefinementManager3d.lo libamdis_la-Tetrahedron.lo \
libamdis_la-Traverse.lo libamdis_la-Triangle.lo \ libamdis_la-Traverse.lo libamdis_la-TraverseParallel.lo \
libamdis_la-TecPlotWriter.lo libamdis_la-ValueWriter.lo \ libamdis_la-Triangle.lo libamdis_la-TecPlotWriter.lo \
libamdis_la-MemoryPool.lo libamdis_la-MemoryManager.lo \ libamdis_la-ValueWriter.lo libamdis_la-MemoryPool.lo \
libamdis_la-VtkWriter.lo libamdis_la-DataCollector.lo libamdis_la-MemoryManager.lo libamdis_la-VtkWriter.lo \
libamdis_la-DataCollector.lo
libamdis_la_OBJECTS = $(am_libamdis_la_OBJECTS) libamdis_la_OBJECTS = $(am_libamdis_la_OBJECTS)
libcompositeFEM_la_LIBADD = libcompositeFEM_la_LIBADD =
am_libcompositeFEM_la_OBJECTS = libcompositeFEM_la-CFE_Integration.lo \ am_libcompositeFEM_la_OBJECTS = libcompositeFEM_la-CFE_Integration.lo \
...@@ -543,6 +551,8 @@ $(SOURCE_DIR)/Element.h $(SOURCE_DIR)/ElementConnection.h \ ...@@ -543,6 +551,8 @@ $(SOURCE_DIR)/Element.h $(SOURCE_DIR)/ElementConnection.h \
$(SOURCE_DIR)/ElInfo.h $(SOURCE_DIR)/ElInfo1d.h $(SOURCE_DIR)/ElInfo2d.h $(SOURCE_DIR)/ElInfo3d.h \ $(SOURCE_DIR)/ElInfo.h $(SOURCE_DIR)/ElInfo1d.h $(SOURCE_DIR)/ElInfo2d.h $(SOURCE_DIR)/ElInfo3d.h \
$(SOURCE_DIR)/Error.h $(SOURCE_DIR)/Error.hh \ $(SOURCE_DIR)/Error.h $(SOURCE_DIR)/Error.hh \
$(SOURCE_DIR)/Estimator.h $(SOURCE_DIR)/Estimator.cc \ $(SOURCE_DIR)/Estimator.h $(SOURCE_DIR)/Estimator.cc \
$(SOURCE_DIR)/ResidualEstimator.h $(SOURCE_DIR)/ResidualEstimator.cc \
$(SOURCE_DIR)/ResidualParallelEstimator.h $(SOURCE_DIR)/ResidualParallelEstimator.cc \
$(SOURCE_DIR)/FiniteElemSpace.h \ $(SOURCE_DIR)/FiniteElemSpace.h \
$(SOURCE_DIR)/FixVec.h $(SOURCE_DIR)/FixVec.hh \ $(SOURCE_DIR)/FixVec.h $(SOURCE_DIR)/FixVec.hh \
$(SOURCE_DIR)/FixVecConvert.h \ $(SOURCE_DIR)/FixVecConvert.h \
...@@ -550,7 +560,7 @@ $(SOURCE_DIR)/Flag.h \ ...@@ -550,7 +560,7 @@ $(SOURCE_DIR)/Flag.h \
$(SOURCE_DIR)/Global.h \ $(SOURCE_DIR)/Global.h \
$(SOURCE_DIR)/GMResSolver.h $(SOURCE_DIR)/GMResSolver.hh \ $(SOURCE_DIR)/GMResSolver.h $(SOURCE_DIR)/GMResSolver.hh \
$(SOURCE_DIR)/GMResSolver2.h $(SOURCE_DIR)/GMResSolver2.hh \ $(SOURCE_DIR)/GMResSolver2.h $(SOURCE_DIR)/GMResSolver2.hh \
$(SOURCE_DIR)/TFQMR.h \ $(SOURCE_DIR)/TFQMR.hh \ $(SOURCE_DIR)/TFQMR.h $(SOURCE_DIR)/TFQMR.hh \
$(SOURCE_DIR)/VecSymSolver.h $(SOURCE_DIR)/VecSymSolver.hh \ $(SOURCE_DIR)/VecSymSolver.h $(SOURCE_DIR)/VecSymSolver.hh \
$(SOURCE_DIR)/UmfPackSolver.h $(SOURCE_DIR)/UmfPackSolver.hh \ $(SOURCE_DIR)/UmfPackSolver.h $(SOURCE_DIR)/UmfPackSolver.hh \
$(SOURCE_DIR)/PardisoSolver.h $(SOURCE_DIR)/PardisoSolver.hh $(SOURCE_DIR)/PardisoSolver.cc \ $(SOURCE_DIR)/PardisoSolver.h $(SOURCE_DIR)/PardisoSolver.hh $(SOURCE_DIR)/PardisoSolver.cc \
...@@ -568,7 +578,9 @@ $(SOURCE_DIR)/Preconditioner.h \ ...@@ -568,7 +578,9 @@ $(SOURCE_DIR)/Preconditioner.h \
$(SOURCE_DIR)/Quadrature.h \ $(SOURCE_DIR)/Quadrature.h \
$(SOURCE_DIR)/RCNeighbourList.h \ $(SOURCE_DIR)/RCNeighbourList.h \
$(SOURCE_DIRe)/RefinementManager.h \ $(SOURCE_DIRe)/RefinementManager.h \
$(SOURCE_DIR)/RefinementManager1d.h $(SOURCE_DIR)/RefinementManager2d.h $(SOURCE_DIR)/RefinementManager3d.h \ $(SOURCE_DIR)/RefinementManager1d.h \
$(SOURCE_DIR)/RefinementManager2d.h \
$(SOURCE_DIR)/RefinementManager3d.h \
$(SOURCE_DIR)/TecPlotWriter.h $(SOURCE_DIR)/TecPlotWriter.hh \ $(SOURCE_DIR)/TecPlotWriter.h $(SOURCE_DIR)/TecPlotWriter.hh \
$(SOURCE_DIR)/Tetrahedron.h \ $(SOURCE_DIR)/Tetrahedron.h \
$(SOURCE_DIR)/Traverse.h \ $(SOURCE_DIR)/Traverse.h \
...@@ -593,7 +605,9 @@ $(SOURCE_DIR)/demangle.cc \ ...@@ -593,7 +605,9 @@ $(SOURCE_DIR)/demangle.cc \
$(SOURCE_DIR)/DOFAdmin.cc \ $(SOURCE_DIR)/DOFAdmin.cc \
$(SOURCE_DIR)/DOFMatrix.cc \ $(SOURCE_DIR)/DOFMatrix.cc \
$(SOURCE_DIR)/Element.cc \ $(SOURCE_DIR)/Element.cc \
$(SOURCE_DIR)/ElInfo1d.cc $(SOURCE_DIR)/ElInfo2d.cc $(SOURCE_DIR)/ElInfo3d.cc \ $(SOURCE_DIR)/ElInfo1d.cc \
$(SOURCE_DIR)/ElInfo2d.cc \
$(SOURCE_DIR)/ElInfo3d.cc \
$(SOURCE_DIR)/FiniteElemSpace.cc \ $(SOURCE_DIR)/FiniteElemSpace.cc \
$(SOURCE_DIR)/FixVec.cc \ $(SOURCE_DIR)/FixVec.cc \
$(SOURCE_DIR)/Flag.cc \ $(SOURCE_DIR)/Flag.cc \
...@@ -612,6 +626,7 @@ $(SOURCE_DIR)/RefinementManager2d.cc \ ...@@ -612,6 +626,7 @@ $(SOURCE_DIR)/RefinementManager2d.cc \
$(SOURCE_DIR)/RefinementManager3d.cc \ $(SOURCE_DIR)/RefinementManager3d.cc \
$(SOURCE_DIR)/Tetrahedron.cc \ $(SOURCE_DIR)/Tetrahedron.cc \
$(SOURCE_DIR)/Traverse.cc \ $(SOURCE_DIR)/Traverse.cc \
$(SOURCE_DIR)/TraverseParallel.h $(SOURCE_DIR)/TraverseParallel.cc \
$(SOURCE_DIR)/Triangle.cc \ $(SOURCE_DIR)/Triangle.cc \
$(SOURCE_DIR)/TecPlotWriter.cc \ $(SOURCE_DIR)/TecPlotWriter.cc \
$(SOURCE_DIR)/ValueWriter.cc \ $(SOURCE_DIR)/ValueWriter.cc \
...@@ -625,8 +640,7 @@ $(SOURCE_DIR)/PeriodicInfo.h \ ...@@ -625,8 +640,7 @@ $(SOURCE_DIR)/PeriodicInfo.h \
$(SOURCE_DIR)/OpenMP.h $(SOURCE_DIR)/OpenMP.h
COMPOSITE_SOURCE_DIR = ../compositeFEM/src COMPOSITE_SOURCE_DIR = ../compositeFEM/src
@AMDIS_DEBUG_FALSE@libcompositeFEM_la_CXXFLAGS = -O2 -Wall -DDEBUG=0 -I$(SOURCE_DIR) libcompositeFEM_la_CXXFLAGS = $(libamdis_la_CXXFLAGS)
@AMDIS_DEBUG_TRUE@libcompositeFEM_la_CXXFLAGS = -g -O0 -Wall -DDEBUG=1 -I$(SOURCE_DIR)
libcompositeFEM_la_SOURCES = $(COMPOSITE_SOURCE_DIR)/CFE_Integration.h \ libcompositeFEM_la_SOURCES = $(COMPOSITE_SOURCE_DIR)/CFE_Integration.h \
$(COMPOSITE_SOURCE_DIR)/CFE_Integration.cc \ $(COMPOSITE_SOURCE_DIR)/CFE_Integration.cc \
$(COMPOSITE_SOURCE_DIR)/CFE_NormAndErrorFcts.h \ $(COMPOSITE_SOURCE_DIR)/CFE_NormAndErrorFcts.h \
...@@ -803,6 +817,8 @@ distclean-compile: ...@@ -803,6 +817,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-RefinementManager1d.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-RefinementManager1d.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-RefinementManager2d.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-RefinementManager2d.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-RefinementManager3d.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-RefinementManager3d.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-ResidualEstimator.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-ResidualParallelEstimator.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-RobinBC.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-RobinBC.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-SparseVector.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-SparseVector.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-StandardProblemIteration.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-StandardProblemIteration.Plo@am__quote@
...@@ -811,6 +827,7 @@ distclean-compile: ...@@ -811,6 +827,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-TecPlotWriter.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-TecPlotWriter.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-Tetrahedron.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-Tetrahedron.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-Traverse.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-Traverse.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-TraverseParallel.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-Triangle.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-Triangle.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-V3Vector.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-V3Vector.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-ValueReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libamdis_la-ValueReader.Plo@am__quote@
...@@ -1236,6 +1253,20 @@ libamdis_la-Estimator.lo: $(SOURCE_DIR)/Estimator.cc ...@@ -1236,6 +1253,20 @@ libamdis_la-Estimator.lo: $(SOURCE_DIR)/Estimator.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libamdis_la_CXXFLAGS) $(CXXFLAGS) -c -o libamdis_la-Estimator.lo `test -f '$(SOURCE_DIR)/Estimator.cc' || echo '$(srcdir)/'`$(SOURCE_DIR)/Estimator.cc @am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libamdis_la_CXXFLAGS) $(CXXFLAGS) -c -o libamdis_la-Estimator.lo `test -f '$(SOURCE_DIR)/Estimator.cc' || echo '$(srcdir)/'`$(SOURCE_DIR)/Estimator.cc
libamdis_la-ResidualEstimator.lo: $(SOURCE_DIR)/ResidualEstimator.cc
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libamdis_la_CXXFLAGS) $(CXXFLAGS) -MT libamdis_la-ResidualEstimator.lo -MD -MP -MF "$(DEPDIR)/libamdis_la-ResidualEstimator.Tpo" -c -o libamdis_la-ResidualEstimator.lo `test -f '$(SOURCE_DIR)/ResidualEstimator.cc' || echo '$(srcdir)/'`$(SOURCE_DIR)/ResidualEstimator.cc; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libamdis_la-ResidualEstimator.Tpo" "$(DEPDIR)/libamdis_la-ResidualEstimator.Plo"; else rm -f "$(DEPDIR)/libamdis_la-ResidualEstimator.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(SOURCE_DIR)/ResidualEstimator.cc' object='libamdis_la-ResidualEstimator.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libamdis_la_CXXFLAGS) $(CXXFLAGS) -c -o libamdis_la-ResidualEstimator.lo `test -f '$(SOURCE_DIR)/ResidualEstimator.cc' || echo '$(srcdir)/'`$(SOURCE_DIR)/ResidualEstimator.cc
libamdis_la-ResidualParallelEstimator.lo: $(SOURCE_DIR)/ResidualParallelEstimator.cc
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libamdis_la_CXXFLAGS) $(CXXFLAGS) -MT libamdis_la-ResidualParallelEstimator.lo -MD -MP -MF "$(DEPDIR)/libamdis_la-ResidualParallelEstimator.Tpo" -c -o libamdis_la-ResidualParallelEstimator.lo `test -f '$(SOURCE_DIR)/ResidualParallelEstimator.cc' || echo '$(srcdir)/'`$(SOURCE_DIR)/ResidualParallelEstimator.cc; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libamdis_la-ResidualParallelEstimator.Tpo" "$(DEPDIR)/libamdis_la-ResidualParallelEstimator.Plo"; else rm -f "$(DEPDIR)/libamdis_la-ResidualParallelEstimator.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(SOURCE_DIR)/ResidualParallelEstimator.cc' object='libamdis_la-ResidualParallelEstimator.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libamdis_la_CXXFLAGS) $(CXXFLAGS) -c -o libamdis_la-ResidualParallelEstimator.lo `test -f '$(SOURCE_DIR)/ResidualParallelEstimator.cc' || echo '$(srcdir)/'`$(SOURCE_DIR)/ResidualParallelEstimator.cc
libamdis_la-PardisoSolver.lo: $(SOURCE_DIR)/PardisoSolver.cc libamdis_la-PardisoSolver.lo: $(SOURCE_DIR)/PardisoSolver.cc
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libamdis_la_CXXFLAGS) $(CXXFLAGS) -MT libamdis_la-PardisoSolver.lo -MD -MP -MF "$(DEPDIR)/libamdis_la-PardisoSolver.Tpo" -c -o libamdis_la-PardisoSolver.lo `test -f '$(SOURCE_DIR)/PardisoSolver.cc' || echo '$(srcdir)/'`$(SOURCE_DIR)/PardisoSolver.cc; \ @am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libamdis_la_CXXFLAGS) $(CXXFLAGS) -MT libamdis_la-PardisoSolver.lo -MD -MP -MF "$(DEPDIR)/libamdis_la-PardisoSolver.Tpo" -c -o libamdis_la-PardisoSolver.lo `test -f '$(SOURCE_DIR)/PardisoSolver.cc' || echo '$(srcdir)/'`$(SOURCE_DIR)/PardisoSolver.cc; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libamdis_la-PardisoSolver.Tpo" "$(DEPDIR)/libamdis_la-PardisoSolver.Plo"; else rm -f "$(DEPDIR)/libamdis_la-PardisoSolver.Tpo"; exit 1; fi @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libamdis_la-PardisoSolver.Tpo" "$(DEPDIR)/libamdis_la-PardisoSolver.Plo"; else rm -f "$(DEPDIR)/libamdis_la-PardisoSolver.Tpo"; exit 1; fi
...@@ -1488,6 +1519,13 @@ libamdis_la-Traverse.lo: $(SOURCE_DIR)/Traverse.cc ...@@ -1488,6 +1519,13 @@ libamdis_la-Traverse.lo: $(SOURCE_DIR)/Traverse.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libamdis_la_CXXFLAGS) $(CXXFLAGS) -c -o libamdis_la-Traverse.lo `test -f '$(SOURCE_DIR)/Traverse.cc' || echo '$(srcdir)/'`$(SOURCE_DIR)/Traverse.cc @am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libamdis_la_CXXFLAGS) $(CXXFLAGS) -c -o libamdis_la-Traverse.lo `test -f '$(SOURCE_DIR)/Traverse.cc' || echo '$(srcdir)/'`$(SOURCE_DIR)/Traverse.cc
libamdis_la-TraverseParallel.lo: $(SOURCE_DIR)/TraverseParallel.cc
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libamdis_la_CXXFLAGS) $(CXXFLAGS) -MT libamdis_la-TraverseParallel.lo -MD -MP -MF "$(DEPDIR)/libamdis_la-TraverseParallel.Tpo" -c -o libamdis_la-TraverseParallel.lo `test -f '$(SOURCE_DIR)/TraverseParallel.cc' || echo '$(srcdir)/'`$(SOURCE_DIR)/TraverseParallel.cc; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libamdis_la-TraverseParallel.Tpo" "$(DEPDIR)/libamdis_la-TraverseParallel.Plo"; else rm -f "$(DEPDIR)/libamdis_la-TraverseParallel.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(SOURCE_DIR)/TraverseParallel.cc' object='libamdis_la-TraverseParallel.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libamdis_la_CXXFLAGS) $(CXXFLAGS) -c -o libamdis_la-TraverseParallel.lo `test -f '$(SOURCE_DIR)/TraverseParallel.cc' || echo '$(srcdir)/'`$(SOURCE_DIR)/TraverseParallel.cc
libamdis_la-Triangle.lo: $(SOURCE_DIR)/Triangle.cc libamdis_la-Triangle.lo: $(SOURCE_DIR)/Triangle.cc
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libamdis_la_CXXFLAGS) $(CXXFLAGS) -MT libamdis_la-Triangle.lo -MD -MP -MF "$(DEPDIR)/libamdis_la-Triangle.Tpo" -c -o libamdis_la-Triangle.lo `test -f '$(SOURCE_DIR)/Triangle.cc' || echo '$(srcdir)/'`$(SOURCE_DIR)/Triangle.cc; \ @am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libamdis_la_CXXFLAGS) $(CXXFLAGS) -MT libamdis_la-Triangle.lo -MD -MP -MF "$(DEPDIR)/libamdis_la-Triangle.Tpo" -c -o libamdis_la-Triangle.lo `test -f '$(SOURCE_DIR)/Triangle.cc' || echo '$(srcdir)/'`$(SOURCE_DIR)/Triangle.cc; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libamdis_la-Triangle.Tpo" "$(DEPDIR)/libamdis_la-Triangle.Plo"; else rm -f "$(DEPDIR)/libamdis_la-Triangle.Tpo"; exit 1; fi @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libamdis_la-Triangle.Tpo" "$(DEPDIR)/libamdis_la-Triangle.Plo"; else rm -f "$(DEPDIR)/libamdis_la-Triangle.Tpo"; exit 1; fi
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#include "ElementMatrix.h" #include "ElementMatrix.h"
#include "ElementVector.h" #include "ElementVector.h"
#include "OpenMP.h"
#include "SubElementAssembler.h" #include "SubElementAssembler.h"
#include "SubElInfo.h" #include "SubElInfo.h"
...@@ -116,9 +117,11 @@ CompositeFEMOperator::getElementMatrix(const ElInfo *elInfo, ...@@ -116,9 +117,11 @@ CompositeFEMOperator::getElementMatrix(const ElInfo *elInfo,
subElementAssembler->getNCol()); subElementAssembler->getNCol());
subPolMat2->set(0.0); subPolMat2->set(0.0);
if(!assembler) { int myRank = omp_get_thread_num();
assembler = NEW StandardAssembler(this, NULL, NULL, NULL, NULL,
rowFESpace, colFESpace); if (!assembler[myRank]) {
assembler[myRank] =
NEW StandardAssembler(this, NULL, NULL, NULL, NULL, rowFESpace, colFESpace);
} }
if (elLS->getLevelSetDomain() == if (elLS->getLevelSetDomain() ==
...@@ -129,7 +132,7 @@ CompositeFEMOperator::getElementMatrix(const ElInfo *elInfo, ...@@ -129,7 +132,7 @@ CompositeFEMOperator::getElementMatrix(const ElInfo *elInfo,
elLS->setLevelSetDomain(ElementLevelSet::LEVEL_SET_INTERIOR); elLS->setLevelSetDomain(ElementLevelSet::LEVEL_SET_INTERIOR);
} }
assembler->calculateElementMatrix(elInfo, elMat, 1.0); assembler[myRank]->calculateElementMatrix(elInfo, elMat, 1.0);
subElementAssembler->getSubPolytopeMatrix(subPolytope, subElementAssembler->getSubPolytopeMatrix(subPolytope,
subElementAssembler, subElementAssembler,
elInfo, elInfo,
...@@ -259,20 +262,21 @@ CompositeFEMOperator::getElementVector(const ElInfo *elInfo, ...@@ -259,20 +262,21 @@ CompositeFEMOperator::getElementVector(const ElInfo *elInfo,
subPolVec2 = NEW ElementVector(subElementAssembler->getNRow()); subPolVec2 = NEW ElementVector(subElementAssembler->getNRow());
subPolVec2->set(0.0); subPolVec2->set(0.0);
if(!assembler) { int myRank = omp_get_thread_num();
assembler = NEW StandardAssembler(this, NULL, NULL, NULL, NULL,
rowFESpace, colFESpace); if (!assembler[myRank]) {
assembler[myRank] =
NEW StandardAssembler(this, NULL, NULL, NULL, NULL, rowFESpace, colFESpace);
} }
if (elLS->getLevelSetDomain() == if (elLS->getLevelSetDomain() ==
ElementLevelSet::LEVEL_SET_INTERIOR) { ElementLevelSet::LEVEL_SET_INTERIOR) {
elLS->setLevelSetDomain(ElementLevelSet::LEVEL_SET_EXTERIOR); elLS->setLevelSetDomain(ElementLevelSet::LEVEL_SET_EXTERIOR);
} } else {
else {
elLS->setLevelSetDomain(ElementLevelSet::LEVEL_SET_INTERIOR); elLS->setLevelSetDomain(ElementLevelSet::LEVEL_SET_INTERIOR);
} }
assembler->calculateElementVector(elInfo, elVec, 1.0); assembler[myRank]->calculateElementVector(elInfo, elVec, 1.0);
subElementAssembler->getSubPolytopeVector(subPolytope, subElementAssembler->getSubPolytopeVector(subPolytope,
subElementAssembler, subElementAssembler,
elInfo, elInfo,
......
...@@ -52,7 +52,7 @@ WARN_LOGFILE = ...@@ -52,7 +52,7 @@ WARN_LOGFILE =
# configuration options related to the input files # configuration options related to the input files
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
INPUT = ../src/ INPUT = ../src/
FILE_PATTERNS = *.h *.hh *.cc FILE_PATTERNS = *.h
RECURSIVE = NO RECURSIVE = NO
EXCLUDE = EXCLUDE =
EXCLUDE_PATTERNS = EXCLUDE_PATTERNS =
......
...@@ -44,7 +44,7 @@ available_tags=" CXX F77" ...@@ -44,7 +44,7 @@ available_tags=" CXX F77"
# ### BEGIN LIBTOOL CONFIG # ### BEGIN LIBTOOL CONFIG
# Libtool was configured on host NWRW09: # Libtool was configured on host NWRW15:
# Shell to use when invoking shell scripts. # Shell to use when invoking shell scripts.
SHELL="/bin/sh" SHELL="/bin/sh"
...@@ -7266,7 +7266,7 @@ disable_libs=static ...@@ -7266,7 +7266,7 @@ disable_libs=static
# End: # End:
# ### BEGIN LIBTOOL TAG CONFIG: CXX # ### BEGIN LIBTOOL TAG CONFIG: CXX
# Libtool was configured on host NWRW09: # Libtool was configured on host NWRW15:
# Shell to use when invoking shell scripts. # Shell to use when invoking shell scripts.
SHELL="/bin/sh" SHELL="/bin/sh"
...@@ -7574,7 +7574,7 @@ include_expsyms="" ...@@ -7574,7 +7574,7 @@ include_expsyms=""
# ### BEGIN LIBTOOL TAG CONFIG: F77 # ### BEGIN LIBTOOL TAG CONFIG: F77
# Libtool was configured on host NWRW09: # Libtool was configured on host NWRW15:
# Shell to use when invoking shell scripts. # Shell to use when invoking shell scripts.
SHELL="/bin/sh" SHELL="/bin/sh"
......
...@@ -63,7 +63,7 @@ namespace AMDiS { ...@@ -63,7 +63,7 @@ namespace AMDiS {
coarsenAllowed(0), coarsenAllowed(0),
refinementAllowed(1), refinementAllowed(1),
refineBisections(1), refineBisections(1),
coarseBisections(1) coarseBisections(1)
{ {
double totalTol = 1.0; double totalTol = 1.0;
double relSpaceErr = 1.0; double relSpaceErr = 1.0;
......
This diff is collapsed.
...@@ -118,7 +118,7 @@ namespace AMDiS { ...@@ -118,7 +118,7 @@ namespace AMDiS {
* Returns \ref terms * Returns \ref terms
*/ */
inline ::std::vector<OperatorTerm*> *getTerms() { inline ::std::vector<OperatorTerm*> *getTerms() {
return &terms; return &terms[omp_get_thread_num()];
}; };
/** \brief /** \brief
...@@ -273,7 +273,7 @@ namespace AMDiS { ...@@ -273,7 +273,7 @@ namespace AMDiS {
/** \brief /** \brief
* List of all terms with a contribution to this SubAssembler * List of all terms with a contribution to this SubAssembler
*/ */
::std::vector<OperatorTerm*> terms; ::std::vector< ::std::vector<OperatorTerm*> > terms;
/** \brief /** \brief
* *
......
...@@ -69,12 +69,13 @@ namespace AMDiS { ...@@ -69,12 +69,13 @@ namespace AMDiS {
const WorldVector<double>& BasisFunction::evalGrdUh(const DimVec<double>& lambda, const WorldVector<double>& BasisFunction::evalGrdUh(const DimVec<double>& lambda,
const DimVec<WorldVector<double> >& grd_lambda, const DimVec<WorldVector<double> >& grd_lambda,
const double *uh_loc, WorldVector<double>* grd_uh) const const double *uh_loc,
WorldVector<double>* grd_uh) const
{ {
static WorldVector<double> grd; static WorldVector<double> grd;
DimVec<double> grd_b(dim, DEFAULT_VALUE, 0.); DimVec<double> grd_b(dim, DEFAULT_VALUE, 0.0);
WorldVector<double> *val; WorldVector<double> *val;
DimVec<double> grd1(dim, DEFAULT_VALUE, 0.); DimVec<double> grd1(dim, DEFAULT_VALUE, 0.);
val = grd_uh ? grd_uh : &grd; val = grd_uh ? grd_uh : &grd;
...@@ -83,7 +84,8 @@ namespace AMDiS { ...@@ -83,7 +84,8 @@ namespace AMDiS {
grd1[j] = 0.0; grd1[j] = 0.0;
for (int i = 0; i < nBasFcts; i++) { for (int i = 0; i < nBasFcts; i++) {
grd_b = (*(*grdPhi)[i])(lambda); (*(*grdPhi)[i])(lambda, grd_b);
for (int j = 0; j < dim + 1; j++) for (int j = 0; j < dim + 1; j++)
grd1[j] += uh_loc[i] * grd_b[j]; grd1[j] += uh_loc[i] * grd_b[j];
} }
...@@ -96,7 +98,7 @@ namespace AMDiS { ...@@ -96,7 +98,7 @@ namespace AMDiS {
(*val)[i] += grd_lambda[j][i] * grd1[j]; (*val)[i] += grd_lambda[j][i] * grd1[j];
} }
return((*val)); return ((*val));
} }
const WorldMatrix<double>& BasisFunction::evalD2Uh(const DimVec<double>& lambda, const WorldMatrix<double>& BasisFunction::evalD2Uh(const DimVec<double>& lambda,
...@@ -104,14 +106,12 @@ namespace AMDiS { ...@@ -104,14 +106,12 @@ namespace AMDiS {
const double *uh_loc, WorldMatrix<double>* D2_uh) const const double *uh_loc, WorldMatrix<double>* D2_uh) const
{ {
static WorldMatrix<double> D2(DEFAULT_VALUE, 0.); static WorldMatrix<double> D2(DEFAULT_VALUE, 0.);
DimMat<double> D2_b(dim, NO_INIT); DimMat<double> D2_b(dim, DEFAULT_VALUE, 0.0);
WorldMatrix<double> *val;
DimMat<double> D2_tmp(dim, DEFAULT_VALUE, 0.0); DimMat<double> D2_tmp(dim, DEFAULT_VALUE, 0.0);
WorldMatrix<double> *val = D2_uh ? D2_uh : &D2;
val = D2_uh ? D2_uh : &D2;
for (int i = 0; i < nBasFcts; i++) { for (int i = 0; i < nBasFcts; i++) {
D2_b = (*(*d2Phi)[i])(lambda); (*(*d2Phi)[i])(lambda, D2_b);
for (int k = 0; k < dim + 1; k++) for (int k = 0; k < dim + 1; k++)
for (int l = 0; l < dim + 1; l++)