diff --git a/AMDiS/libtool b/AMDiS/libtool index dae4215704b4d0dc09fb1c65f4b44d11e5b80b38..b194b3282abeb0aa53c684c8b7bffc3390b9d82f 100755 --- a/AMDiS/libtool +++ b/AMDiS/libtool @@ -30,10 +30,10 @@ # the same distribution terms that you use for the rest of that program. # A sed program that does not truncate output. -SED="/bin/sed" +SED="/usr/bin/sed" # Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="/bin/sed -e 1s/^X//" +Xsed="/usr/bin/sed -e 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. @@ -44,7 +44,7 @@ available_tags=" CXX F77" # ### BEGIN LIBTOOL CONFIG -# Libtool was configured on host NWRW15: +# Libtool was configured on host deimos103: # Shell to use when invoking shell scripts. SHELL="/bin/sh" @@ -66,12 +66,12 @@ fast_install=yes # The host system. host_alias= -host=i686-pc-linux-gnu +host=x86_64-unknown-linux-gnu host_os=linux-gnu # The build system. build_alias= -build=i686-pc-linux-gnu +build=x86_64-unknown-linux-gnu build_os=linux-gnu # An echo program that does not interpret backslashes. @@ -97,7 +97,7 @@ with_gcc=yes EGREP="grep -E" # The linker used to build libraries. -LD="/usr/bin/ld" +LD="/usr/x86_64-suse-linux/bin/ld -m elf_x86_64" # Whether we need hard or soft links. LN_S="ln -s" @@ -325,10 +325,10 @@ variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COM link_all_deplibs=unknown # Compile-time system search path for libraries -sys_lib_search_path_spec=" /u/witkowski/local/lib/i386-redhat-linux/4.1.2/ /u/witkowski/local/lib/ /usr/lib/gcc/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../i386-redhat-linux/lib/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../i386-redhat-linux/lib/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../ /lib/i386-redhat-linux/4.1.2/ /lib/ /usr/lib/i386-redhat-linux/4.1.2/ /usr/lib/" +sys_lib_search_path_spec=" /fastfs/wir/local/lib/x86_64-suse-linux/4.1.2/ /fastfs/wir/local/lib/../lib64/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/ /usr/lib/gcc/x86_64-suse-linux/4.1.2/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib/x86_64-suse-linux/4.1.2/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib/../lib64/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../x86_64-suse-linux/4.1.2/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/ /lib/x86_64-suse-linux/4.1.2/ /lib/../lib64/ /usr/lib/x86_64-suse-linux/4.1.2/ /usr/lib/../lib64/ /fastfs/wir/local/lib/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../ /lib/ /usr/lib/" # Run-time system search path for libraries -sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/octave-2.9.9 /usr/lib/qt-3.3/lib /usr/lib/qt4/lib /usr/lib/xulrunner-1.9.2 " +sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/X11R6/lib64/Xaw3d /usr/X11R6/lib64 /usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/x86_64-suse-linux/lib /usr/local/lib64 /usr/local/lib /opt/kde3/lib64 /opt/kde3/lib /opt/gnome/lib64 /opt/gnome/lib /lib64 /lib /usr/lib64 /usr/lib /opt/cluster/intel/cce/9.1.042/lib /opt/cluster/intel/fce/9.1.036/lib /opt/cluster/Pathscale3.0/lib/2.9.99 /opt/cluster/Pathscale3.0/lib/2.9.99/32 /work/licsoft/compilers/pgi/linux86-64/6.2/lib /work/licsoft/compilers/pgi/linux86-64/6.2/libso " # Fix the shell variable $srcfile for the compiler. fix_srcfile_path="" @@ -6760,7 +6760,7 @@ build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` # End: # ### BEGIN LIBTOOL TAG CONFIG: CXX -# Libtool was configured on host NWRW15: +# Libtool was configured on host deimos103: # Shell to use when invoking shell scripts. SHELL="/bin/sh" @@ -6782,12 +6782,12 @@ fast_install=yes # The host system. host_alias= -host=i686-pc-linux-gnu +host=x86_64-unknown-linux-gnu host_os=linux-gnu # The build system. build_alias= -build=i686-pc-linux-gnu +build=x86_64-unknown-linux-gnu build_os=linux-gnu # An echo program that does not interpret backslashes. @@ -6813,7 +6813,7 @@ with_gcc=yes EGREP="grep -E" # The linker used to build libraries. -LD="/usr/bin/ld" +LD="/usr/x86_64-suse-linux/bin/ld -m elf_x86_64" # Whether we need hard or soft links. LN_S="ln -s" @@ -6942,11 +6942,11 @@ striplib="strip --strip-unneeded" # Dependencies to place before the objects being linked to create a # shared library. -predep_objects="/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crti.o /usr/lib/gcc/i386-redhat-linux/4.1.2/crtbeginS.o" +predep_objects="/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtbeginS.o" # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects="/usr/lib/gcc/i386-redhat-linux/4.1.2/crtendS.o /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crtn.o" +postdep_objects="/usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtendS.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crtn.o" # Dependencies to place before the objects being linked to create a # shared library. @@ -6958,7 +6958,7 @@ postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path="-L/u/witkowski/local/lib -L/usr/lib/gcc/i386-redhat-linux/4.1.2 -L/usr/lib/gcc/i386-redhat-linux/4.1.2 -L/usr/lib/gcc/i386-redhat-linux/4.1.2/../../.." +compiler_lib_search_path="-L/usr/lib64/gcc/x86_64-suse-linux/4.1.2 -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/fastfs/wir/local/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../.." # Method to check whether dependent libraries are shared objects. deplibs_check_method="pass_all" @@ -7038,10 +7038,10 @@ variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COM link_all_deplibs=unknown # Compile-time system search path for libraries -sys_lib_search_path_spec=" /u/witkowski/local/lib/i386-redhat-linux/4.1.2/ /u/witkowski/local/lib/ /usr/lib/gcc/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../i386-redhat-linux/lib/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../i386-redhat-linux/lib/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../ /lib/i386-redhat-linux/4.1.2/ /lib/ /usr/lib/i386-redhat-linux/4.1.2/ /usr/lib/" +sys_lib_search_path_spec=" /fastfs/wir/local/lib/x86_64-suse-linux/4.1.2/ /fastfs/wir/local/lib/../lib64/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/ /usr/lib/gcc/x86_64-suse-linux/4.1.2/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib/x86_64-suse-linux/4.1.2/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib/../lib64/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../x86_64-suse-linux/4.1.2/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/ /lib/x86_64-suse-linux/4.1.2/ /lib/../lib64/ /usr/lib/x86_64-suse-linux/4.1.2/ /usr/lib/../lib64/ /fastfs/wir/local/lib/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../ /lib/ /usr/lib/" # Run-time system search path for libraries -sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/octave-2.9.9 /usr/lib/qt-3.3/lib /usr/lib/qt4/lib /usr/lib/xulrunner-1.9.2 " +sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/X11R6/lib64/Xaw3d /usr/X11R6/lib64 /usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/x86_64-suse-linux/lib /usr/local/lib64 /usr/local/lib /opt/kde3/lib64 /opt/kde3/lib /opt/gnome/lib64 /opt/gnome/lib /lib64 /lib /usr/lib64 /usr/lib /opt/cluster/intel/cce/9.1.042/lib /opt/cluster/intel/fce/9.1.036/lib /opt/cluster/Pathscale3.0/lib/2.9.99 /opt/cluster/Pathscale3.0/lib/2.9.99/32 /work/licsoft/compilers/pgi/linux86-64/6.2/lib /work/licsoft/compilers/pgi/linux86-64/6.2/libso " # Fix the shell variable $srcfile for the compiler. fix_srcfile_path="" @@ -7065,7 +7065,7 @@ include_expsyms="" # ### BEGIN LIBTOOL TAG CONFIG: F77 -# Libtool was configured on host NWRW15: +# Libtool was configured on host deimos103: # Shell to use when invoking shell scripts. SHELL="/bin/sh" @@ -7087,12 +7087,12 @@ fast_install=yes # The host system. host_alias= -host=i686-pc-linux-gnu +host=x86_64-unknown-linux-gnu host_os=linux-gnu # The build system. build_alias= -build=i686-pc-linux-gnu +build=x86_64-unknown-linux-gnu build_os=linux-gnu # An echo program that does not interpret backslashes. @@ -7112,13 +7112,13 @@ LTCFLAGS="-g -O2" CC="g77" # Is the compiler the GNU C compiler? -with_gcc=yes +with_gcc= # An ERE matcher. EGREP="grep -E" # The linker used to build libraries. -LD="/usr/bin/ld" +LD="/usr/x86_64-suse-linux/bin/ld -m elf_x86_64" # Whether we need hard or soft links. LN_S="ln -s" @@ -7346,10 +7346,10 @@ variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COM link_all_deplibs=unknown # Compile-time system search path for libraries -sys_lib_search_path_spec=" /u/witkowski/local/lib/i386-redhat-linux/3.4.6/ /u/witkowski/local/lib/ /usr/lib/gcc/i386-redhat-linux/3.4.6/ /usr/lib/gcc/i386-redhat-linux/3.4.6/ /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../i386-redhat-linux/lib/i386-redhat-linux/3.4.6/ /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../i386-redhat-linux/lib/ /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../i386-redhat-linux/3.4.6/ /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../ /lib/i386-redhat-linux/3.4.6/ /lib/ /usr/lib/i386-redhat-linux/3.4.6/ /usr/lib/" +sys_lib_search_path_spec=" /fastfs/wir/local/lib/x86_64-suse-linux/3.3.5/ /fastfs/wir/local/lib/ /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/ /usr/lib/gcc/x86_64-suse-linux/3.3.5/ /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/lib/x86_64-suse-linux/3.3.5/ /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/lib/ /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../x86_64-suse-linux/3.3.5/ /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../ /lib/x86_64-suse-linux/3.3.5/ /lib/ /usr/lib/x86_64-suse-linux/3.3.5/ /usr/lib/" # Run-time system search path for libraries -sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/octave-2.9.9 /usr/lib/qt-3.3/lib /usr/lib/qt4/lib /usr/lib/xulrunner-1.9.2 " +sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/X11R6/lib64/Xaw3d /usr/X11R6/lib64 /usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/x86_64-suse-linux/lib /usr/local/lib64 /usr/local/lib /opt/kde3/lib64 /opt/kde3/lib /opt/gnome/lib64 /opt/gnome/lib /lib64 /lib /usr/lib64 /usr/lib /opt/cluster/intel/cce/9.1.042/lib /opt/cluster/intel/fce/9.1.036/lib /opt/cluster/Pathscale3.0/lib/2.9.99 /opt/cluster/Pathscale3.0/lib/2.9.99/32 /work/licsoft/compilers/pgi/linux86-64/6.2/lib /work/licsoft/compilers/pgi/linux86-64/6.2/libso " # Fix the shell variable $srcfile for the compiler. fix_srcfile_path="" diff --git a/AMDiS/src/Debug.cc b/AMDiS/src/Debug.cc index ded7f6e805e5023b98658210ff1844563dfaed34..f33102277c578f1c7d2b531f41d5866c6a997db4 100644 --- a/AMDiS/src/Debug.cc +++ b/AMDiS/src/Debug.cc @@ -383,13 +383,27 @@ namespace AMDiS { out.open(filename.c_str()); DOFIterator<double> it(&vec, USED_DOFS); - int counter = 1; for (it.reset(); !it.end(); ++it) - out << counter++ << " " << *it << "\n"; + out << *it << "\n"; out.close(); } + + void writeMatlabVector(SystemVector &vec, std::string filename) + { + std::ofstream out; + out.open(filename.c_str()); + + for (int i = 0; i < vec.getSize(); i++) { + DOFIterator<double> it(vec.getDOFVector(i), USED_DOFS); + for (it.reset(); !it.end(); ++it) + out << *it << "\n"; + } + + out.close(); + } + void writeCoordsFile(const FiniteElemSpace* feSpace, std::string filename) { diff --git a/AMDiS/src/Debug.h b/AMDiS/src/Debug.h index 3301f76d0269e4d8c2fb4450f0e4befb2bae76ae..7df6c40fe10c3ab30380af4c8c33d3e30ef2e3a2 100644 --- a/AMDiS/src/Debug.h +++ b/AMDiS/src/Debug.h @@ -129,6 +129,8 @@ namespace AMDiS { */ void writeMatlabVector(DOFVector<double> &vec, std::string filename); + void writeMatlabVector(SystemVector &vec, std::string filename); + void writeCoordsFile(const FiniteElemSpace *feSpace, std::string filename); /** \brief diff --git a/AMDiS/src/MeshStructure.cc b/AMDiS/src/MeshStructure.cc index 44ce8a8262bc8d9242e2b14bbf174411a94e4390..3d91553ec0dddc830441a2cdaba5e9259e8b0d30 100644 --- a/AMDiS/src/MeshStructure.cc +++ b/AMDiS/src/MeshStructure.cc @@ -226,7 +226,8 @@ namespace AMDiS { void MeshStructure::fitMeshToStructure(Mesh *mesh, RefinementManager *manager, bool checkPartition, - bool debugMode) + bool debugMode, + int macroElIndex) { FUNCNAME("MeshStructure::fitMeshToStructure()"); @@ -237,12 +238,18 @@ namespace AMDiS { TraverseStack stack; ElInfo *elInfo = stack.traverseFirst(mesh, -1, Mesh::CALL_EVERY_EL_PREORDER); while (elInfo) { - TEST_EXIT(cont)("unexpected structure code end!\n"); + if (macroElIndex >= 0 && + elInfo->getMacroElement()->getElement()->getIndex() != macroElIndex) { + elInfo = stack.traverseNext(elInfo); + continue; + } Element *element = elInfo->getElement(); + TEST_EXIT(cont)("unexpected structure code end!\n"); + if (isLeafElement()) { - TEST_EXIT_DBG(element->isLeaf())("mesh finer than code\n"); + TEST_EXIT(element->isLeaf())("mesh finer than code\n"); } if (element->isLeaf() && !isLeafElement()) { @@ -281,6 +288,12 @@ namespace AMDiS { finished = true; elInfo = stack.traverseFirst(mesh, -1, Mesh::CALL_LEAF_EL); while (elInfo) { + if (macroElIndex >= 0 && + elInfo->getMacroElement()->getElement()->getIndex() != macroElIndex) { + elInfo = stack.traverseNext(elInfo); + continue; + } + Element *element = elInfo->getElement(); if (element->getElementData(MESH_STRUCTURE) != NULL) { element->setMark(1); @@ -317,7 +330,7 @@ namespace AMDiS { elInfo = stack.traverseNext(elInfo); } - file << nMacroElements; + file.write(reinterpret_cast<char*>(&nMacroElements), sizeof(nMacroElements)); elInfo = stack.traverseFirst(mesh, -1, Mesh::CALL_EVERY_EL_PREORDER); while (elInfo) { @@ -344,13 +357,54 @@ namespace AMDiS { } + void MeshStructure::readMeshFile(Mesh *mesh, + RefinementManager *refManager, + std::string filename) + { + FUNCNAME("MeshStructure::readMeshFile()"); + + std::ifstream file; + file.open(filename.c_str(), std::ios::in | std::ios::binary); + + int nMacroElements = -1; + file.read(reinterpret_cast<char*>(&nMacroElements), sizeof(nMacroElements)); + + for (int i = 0; i < nMacroElements; i++) { + int macroElIndex = -1; + int codeSize = 0; + code.clear(); + + file.read(reinterpret_cast<char*>(¯oElIndex), sizeof(macroElIndex)); + file.read(reinterpret_cast<char*>(&nElements), sizeof(nElements)); + file.read(reinterpret_cast<char*>(&codeSize), sizeof(codeSize)); + + for (int j = 0; j < codeSize; j++) { + unsigned long int readCode = 0; + file.read(reinterpret_cast<char*>(&readCode), sizeof(readCode)); + code.push_back(readCode); + } + + TEST_EXIT_DBG(macroElIndex >= 0)("Should not happen!\n"); + + reset(); + fitMeshToStructure(mesh, refManager, false, false, macroElIndex); + + } + + file.close(); + } + + void MeshStructure::writeMacroElement(std::ofstream& file, int macroElIndex) { - file << macroElIndex; - file << nElements; - file << code.size(); + unsigned int size = code.size(); + + file.write(reinterpret_cast<char*>(¯oElIndex), sizeof(macroElIndex)); + file.write(reinterpret_cast<char*>(&nElements), sizeof(nElements)); + file.write(reinterpret_cast<char*>(&size), sizeof(size)); + for (unsigned int i = 0; i < code.size(); i++) - file << code[i]; + file.write(reinterpret_cast<char*>(&(code[i])), sizeof(code[i])); } } diff --git a/AMDiS/src/MeshStructure.h b/AMDiS/src/MeshStructure.h index b0f64162d1d448c2e10dac69fa145b1cb13051e1..9348c7bcf65dd7a5e2c654f6b2b04a67163d7b84 100644 --- a/AMDiS/src/MeshStructure.h +++ b/AMDiS/src/MeshStructure.h @@ -98,14 +98,20 @@ namespace AMDiS { /** \brief * Fits a given mesh to the mesh structure code. * - * \param debugMode In debugMode, the whole mesh is fitted to the mesh structure - * code. Otherwise, the mesh is fitted only on the partition - * of the current process. + * \param debugMode In debugMode, the whole mesh is fitted to the mesh structure + * code. Otherwise, the mesh is fitted only on the partition + * of the current process. + * \param macroElIndex If the mesh structure code represents only one macro + * element, this can be denoted here by its index. In this + * case, only the corresponding macro element will be fitted + * to the code. Otherwise, this variable is negative and the + * whole mesh will be adapted. */ void fitMeshToStructure(Mesh *mesh, RefinementManager *manager, bool checkPartition = false, - bool debugMode = false); + bool debugMode = false, + int macroElIndex = -1); /// Prints the mesh structure code. void print() @@ -158,6 +164,8 @@ namespace AMDiS { void writeMeshFile(Mesh *mesh, std::string filename); + void readMeshFile(Mesh *mesh, RefinementManager *refManager, std::string filename); + protected: /// Insert a new element to the structure code. Is used by the init function. void insertElement(bool isLeaf); diff --git a/AMDiS/src/ProblemImplicit.h b/AMDiS/src/ProblemImplicit.h index 6c8b0f9ccb2b119dff70b73fe1c7cfd79c03b668..7d98060f1a5ae0a05053f433b01cf2a88de8dab0 100644 --- a/AMDiS/src/ProblemImplicit.h +++ b/AMDiS/src/ProblemImplicit.h @@ -30,14 +30,16 @@ namespace AMDiS { class ProblemImplicitBase { public: + virtual ~ProblemImplicitBase() {} + virtual bool createImplicitMesh() = 0; - virtual DOFVector< double >* getSignedDistance(int im = 0, int m = 0) = 0; - virtual DOFVector< double >* getPhi1(int im = 0, int m = 0) = 0; - virtual DOFVector< double >* getPhi2(int im = 0, int m = 0) = 0; - virtual DOFVector< double >* getLevelset(int im = 0, int m = 0) = 0; + virtual DOFVector<double>* getSignedDistance(int im = 0, int m = 0) = 0; + virtual DOFVector<double>* getPhi1(int im = 0, int m = 0) = 0; + virtual DOFVector<double>* getPhi2(int im = 0, int m = 0) = 0; + virtual DOFVector<double>* getLevelset(int im = 0, int m = 0) = 0; protected: - void readDofVec(std::istream& , DOFVector<double>* , Mesh* ); + void readDofVec(std::istream& , DOFVector<double>* , Mesh*); void readR(std::istream& , double , Mesh* , int implMesh = 0, int comp = 0); void readPhi1(std::istream& , double , Mesh* , int implMesh = 0, int comp = 0); void readPhi2(std::istream& , double , Mesh* , int implMesh = 0, int comp = 0); @@ -77,30 +79,30 @@ namespace AMDiS { virtual void createMesh(); virtual void initialize(Flag initFlag, ProblemScal *adoptProblem = NULL, Flag adoptFlag = INIT_NOTHING); - DOFVector< double >* getSignedDistance(int im = 0 , int m = 0); - DOFVector< double >* getPhi1(int im = 0, int m = 0); - DOFVector< double >* getPhi2(int im = 0, int m = 0); - DOFVector< double >* getLevelset(int im = 0, int m = 0); + DOFVector<double>* getSignedDistance(int im = 0 , int m = 0); + DOFVector<double>* getPhi1(int im = 0, int m = 0); + DOFVector<double>* getPhi2(int im = 0, int m = 0); + DOFVector<double>* getLevelset(int im = 0, int m = 0); protected: /// DOFVector for a signed distance - std::vector< DOFVector< double >* > r; + std::vector<DOFVector<double>*> r; /// DOFVector for the phasefield function 0.5*(1-tanh(3*r/eps)) - std::vector< DOFVector< double >* > phi1; + std::vector<DOFVector<double>*> phi1; /// DOFVector for the phasefield function 0.5*(1+tanh(3*r/eps)) - std::vector< DOFVector< double >* > phi2; + std::vector<DOFVector<double>*> phi2; /// DOFVector for the levelset function /// (levelSet(x): x \in \Omega: 1, x \not \in Omega: -1, x \in \Gamma: 0) - std::vector< DOFVector< double >* > levelSet; + std::vector<DOFVector<double>*> levelSet; bool readImplMesh; bool isImplicitMesh(int comp = 0) { return readImplMesh; } - bool createImplicitMesh( std::string path, int comp ); + bool createImplicitMesh(std::string path, int comp); }; class ProblemImplicitVec : public ProblemVec, public ProblemImplicitBase @@ -120,27 +122,27 @@ namespace AMDiS { virtual bool createImplicitMesh(); virtual void initialize(Flag initFlag, ProblemScal* adoptProblem=NULL, Flag adoptFlag = INIT_NOTHING); - DOFVector< double >* getSignedDistance(int im = 0, int m = 0) ; - DOFVector< double >* getPhi1(int im = 0, int m = 0) ; - DOFVector< double >* getPhi2(int im = 0, int m = 0) ; - DOFVector< double >* getLevelset(int im = 0, int m = 0) ; + DOFVector<double>* getSignedDistance(int im = 0, int m = 0) ; + DOFVector<double>* getPhi1(int im = 0, int m = 0) ; + DOFVector<double>* getPhi2(int im = 0, int m = 0) ; + DOFVector<double>* getLevelset(int im = 0, int m = 0) ; protected: bool createImplicitMesh(int p); bool createImplicitMesh(std::string, int, int); /// DOFVector for a signed distance - std::vector< std::vector< DOFVector< double >* > > r; + std::vector< std::vector<DOFVector<double>*> > r; /// DOFVector for the phasefield function 0.5*(1-tanh(3*r/eps)) - std::vector< std::vector< DOFVector< double >* > > phi1; + std::vector< std::vector<DOFVector<double>*> > phi1; /// DOFVector for the phasefield function 0.5*(1+tanh(3*r/eps)) - std::vector< std::vector< DOFVector< double >* > > phi2; + std::vector< std::vector<DOFVector<double>*> > phi2; /// DOFVector for the levelset function /// (levelSet(x): x \in \Omega: 1, x \not \in Omega: -1, x \in \Gamma: 0) - std::vector< std::vector< DOFVector< double >* > > levelSet; + std::vector< std::vector<DOFVector<double>*> > levelSet; std::vector< bool > implMesh;