From 827d31130227170815a5f7c000492b7e84129a38 Mon Sep 17 00:00:00 2001 From: Thomas Witkowski <thomas.witkowski@gmx.de> Date: Mon, 31 Aug 2009 13:11:33 +0000 Subject: [PATCH] Removed an mpi command in ProblemVec. --- AMDiS/libtool | 64 ++++++++++++++++++++--------------------- AMDiS/src/Operator.cc | 52 ++++++++++++++------------------- AMDiS/src/Operator.h | 61 +++++++++++---------------------------- AMDiS/src/ProblemVec.cc | 30 +++++++++++++++---- 4 files changed, 96 insertions(+), 111 deletions(-) diff --git a/AMDiS/libtool b/AMDiS/libtool index d6ae6aec..41ace2e6 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="/usr/bin/sed" +SED="/bin/sed" # Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="/usr/bin/sed -e 1s/^X//" +Xsed="/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 deimos102: +# Libtool was configured on host NWRW15: # Shell to use when invoking shell scripts. SHELL="/bin/sh" @@ -66,12 +66,12 @@ fast_install=yes # The host system. host_alias= -host=x86_64-unknown-linux-gnu +host=i686-pc-linux-gnu host_os=linux-gnu # The build system. build_alias= -build=x86_64-unknown-linux-gnu +build=i686-pc-linux-gnu build_os=linux-gnu # An echo program that does not interpret backslashes. @@ -82,13 +82,13 @@ AR="ar" AR_FLAGS="cru" # A C compiler. -LTCC="/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpicc" +LTCC="gcc" # LTCC compiler flags. LTCFLAGS="-g -O2" # A language-specific compiler. -CC="/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpicc" +CC="gcc" # Is the compiler the GNU C compiler? with_gcc=yes @@ -97,7 +97,7 @@ with_gcc=yes EGREP="grep -E" # The linker used to build libraries. -LD="/usr/x86_64-suse-linux/bin/ld -m elf_x86_64" +LD="/usr/bin/ld" # Whether we need hard or soft links. LN_S="ln -s" @@ -171,7 +171,7 @@ dlopen_self=unknown dlopen_self_static=unknown # Compiler flag to prevent dynamic linking. -link_static_flag="" +link_static_flag="-static" # Compiler flag to turn off builtin functions. no_builtin_flag=" -fno-builtin" @@ -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=" /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/ /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/" +sys_lib_search_path_spec=" /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/" # Run-time system search path for libraries -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 " +sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/octave-2.9.9 /usr/lib/qt-3.3/lib " # 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 deimos102: +# Libtool was configured on host NWRW15: # Shell to use when invoking shell scripts. SHELL="/bin/sh" @@ -6782,12 +6782,12 @@ fast_install=yes # The host system. host_alias= -host=x86_64-unknown-linux-gnu +host=i686-pc-linux-gnu host_os=linux-gnu # The build system. build_alias= -build=x86_64-unknown-linux-gnu +build=i686-pc-linux-gnu build_os=linux-gnu # An echo program that does not interpret backslashes. @@ -6798,13 +6798,13 @@ AR="ar" AR_FLAGS="cru" # A C compiler. -LTCC="/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpicc" +LTCC="gcc" # LTCC compiler flags. LTCFLAGS="-g -O2" # A language-specific compiler. -CC="/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpiCC" +CC="g++" # Is the compiler the GNU C compiler? with_gcc=yes @@ -6813,7 +6813,7 @@ with_gcc=yes EGREP="grep -E" # The linker used to build libraries. -LD="/usr/x86_64-suse-linux/bin/ld -m elf_x86_64" +LD="/usr/bin/ld" # Whether we need hard or soft links. LN_S="ln -s" @@ -6887,7 +6887,7 @@ dlopen_self=unknown dlopen_self_static=unknown # Compiler flag to prevent dynamic linking. -link_static_flag="" +link_static_flag="-static" # Compiler flag to turn off builtin functions. no_builtin_flag=" -fno-builtin" @@ -6942,11 +6942,11 @@ striplib="strip --strip-unneeded" # Dependencies to place before the objects being linked to create a # shared library. -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" +predep_objects="/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crti.o /usr/lib/gcc/i386-redhat-linux/4.1.2/crtbeginS.o" # Dependencies to place after the objects being linked to create a # shared library. -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" +postdep_objects="/usr/lib/gcc/i386-redhat-linux/4.1.2/crtendS.o /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crtn.o" # Dependencies to place before the objects being linked to create a # shared library. @@ -6954,11 +6954,11 @@ predeps="" # Dependencies to place after the objects being linked to create a # shared library. -postdeps="-lmpi_cxx -lmpi -lopen-rte -lopen-pal -libverbs -lrt -lnuma -ldl -lnsl -lutil -ldl -lstdc++ -lm -lgcc_s -lpthread -lc -lgcc_s" +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/usr/lib64 -L/licsoft/libraries/openmpi/1.2.6/64bit/lib -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/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/../../.." +compiler_lib_search_path="-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/../../.." # 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=" /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/ /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/" +sys_lib_search_path_spec=" /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/" # Run-time system search path for libraries -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 " +sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/octave-2.9.9 /usr/lib/qt-3.3/lib " # 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 deimos102: +# Libtool was configured on host NWRW15: # Shell to use when invoking shell scripts. SHELL="/bin/sh" @@ -7087,12 +7087,12 @@ fast_install=yes # The host system. host_alias= -host=x86_64-unknown-linux-gnu +host=i686-pc-linux-gnu host_os=linux-gnu # The build system. build_alias= -build=x86_64-unknown-linux-gnu +build=i686-pc-linux-gnu build_os=linux-gnu # An echo program that does not interpret backslashes. @@ -7103,7 +7103,7 @@ AR="ar" AR_FLAGS="cru" # A C compiler. -LTCC="/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpicc" +LTCC="gcc" # LTCC compiler flags. LTCFLAGS="-g -O2" @@ -7112,13 +7112,13 @@ LTCFLAGS="-g -O2" CC="g77" # Is the compiler the GNU C compiler? -with_gcc= +with_gcc=yes # An ERE matcher. EGREP="grep -E" # The linker used to build libraries. -LD="/usr/x86_64-suse-linux/bin/ld -m elf_x86_64" +LD="/usr/bin/ld" # 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=" /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/" +sys_lib_search_path_spec=" /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/" # Run-time system search path for libraries -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 " +sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/octave-2.9.9 /usr/lib/qt-3.3/lib " # Fix the shell variable $srcfile for the compiler. fix_srcfile_path="" diff --git a/AMDiS/src/Operator.cc b/AMDiS/src/Operator.cc index 9f27e82d..92551535 100644 --- a/AMDiS/src/Operator.cc +++ b/AMDiS/src/Operator.cc @@ -2475,9 +2475,8 @@ namespace AMDiS { Quadrature *quad) { int size = static_cast<int>(vecs.size()); - for (int i = 0; i < size; i++) { + for (int i = 0; i < size; i++) vecsAtQPs[i] = getVectorAtQPs(vecs[i], elInfo, subAssembler, quad); - } } void VecOfDOFVecsAtQP_ZOT::getC(const ElInfo *, int nPoints, @@ -2487,9 +2486,9 @@ namespace AMDiS { std::vector<double> arg(size); for (int iq = 0; iq < nPoints; iq++) { - for (int i = 0; i < size; i++) { + for (int i = 0; i < size; i++) arg[i] = vecsAtQPs[i][iq]; - } + C[iq] += (*f)(arg); } } @@ -2505,9 +2504,9 @@ namespace AMDiS { std::vector<double> arg(size); for (int iq = 0; iq < nPoints; iq++) { - for (int i = 0; i < size; i++) { + for (int i = 0; i < size; i++) arg[i] = vecsAtQPs[i][iq]; - } + result[iq] += fac * (*f)(arg) * uhAtQP[iq]; } } @@ -2517,10 +2516,9 @@ namespace AMDiS { SubAssembler* subAssembler, Quadrature *quad) { - int i ,size = static_cast<int>(vecs.size()); - for(i = 0; i < size; i++) { - gradsAtQPs[i] = getGradientsAtQPs(vecs[i], elInfo, subAssembler, quad); - } + int size = static_cast<int>(vecs.size()); + for (int i = 0; i < size; i++) + gradsAtQPs[i] = getGradientsAtQPs(vecs[i], elInfo, subAssembler, quad); } void VecDivergence_ZOT::initElement(const ElInfo* elInfo, @@ -2528,9 +2526,8 @@ namespace AMDiS { Quadrature *quad) { int size = static_cast<int>(vecs.size()); - for (int i = 0; i < size; i++) { - gradsAtQPs[i] = getGradientsAtQPs(vecs[i], elInfo, subAssembler, quad); - } + for (int i = 0; i < size; i++) + gradsAtQPs[i] = getGradientsAtQPs(vecs[i], elInfo, subAssembler, quad); } @@ -2541,9 +2538,9 @@ namespace AMDiS { std::vector<WorldVector<double>*> arg(size); for (int iq = 0; iq < nPoints; iq++) { - for (int i = 0; i < size; i++) { + for (int i = 0; i < size; i++) arg[i] = &(gradsAtQPs[i][iq]); - } + C[iq] += (*f)(arg); } } @@ -2571,11 +2568,9 @@ namespace AMDiS { { int size = static_cast<int>(vecs.size()); - for (int iq = 0; iq < nPoints; iq++) { - for (int i = 0; i < size; i++) { - C[iq] += gradsAtQPs[i][iq][i]; - } - } + for (int iq = 0; iq < nPoints; iq++) + for (int i = 0; i < size; i++) + C[iq] += gradsAtQPs[i][iq][i]; } void VecDivergence_ZOT::eval(int nPoints, @@ -2589,9 +2584,9 @@ namespace AMDiS { for (int iq = 0; iq < nPoints; iq++) { double d = 0.0; - for (int i = 0; i < size; i++) { + for (int i = 0; i < size; i++) d += gradsAtQPs[i][iq][i]; - } + result[iq] += d * uhAtQP[iq] * fac; } } @@ -2609,9 +2604,9 @@ namespace AMDiS { for (int iq = 0; iq < nPoints; iq++) { double factor = (*f)(vecAtQPs[iq], gradAtQPs[iq]); double resultQP = 0.0; - for (int i = 0; i < dow; i++) { + for (int i = 0; i < dow; i++) resultQP += D2UhAtQP[iq][i][i]; - } + result[iq] += fac * resultQP * factor; } } @@ -2631,9 +2626,8 @@ namespace AMDiS { void VecAndGradAtQP_SOT::getLALt(const ElInfo *elInfo, int nPoints, DimMat<double> **LALt) const { const DimVec<WorldVector<double> > &Lambda = elInfo->getGrdLambda(); - for (int iq = 0; iq < nPoints; iq++) { + for (int iq = 0; iq < nPoints; iq++) l1lt(Lambda, *(LALt[iq]), (*f)(vecAtQPs[iq], gradAtQPs[iq])); - } } void VecAndGradAtQP_SOT::initElement(const ElInfo* elInfo, @@ -2653,12 +2647,10 @@ namespace AMDiS { coordsAtQPs_ = subAssembler->getCoordsAtQPs(elInfo, quad); - for (int i = 0; i < nVecs; i++) { + for (int i = 0; i < nVecs; i++) vecsAtQPs_[i] = getVectorAtQPs(vecs_[i], elInfo, subAssembler, quad); - } - for (int i = 0; i < nGrads; i++) { + for (int i = 0; i < nGrads; i++) gradsAtQPs_[i] = getGradientsAtQPs(grads_[i], elInfo, subAssembler, quad); - } } void General_SOT::getLALt(const ElInfo *elInfo, diff --git a/AMDiS/src/Operator.h b/AMDiS/src/Operator.h index 1303a4c0..82c1f97f 100644 --- a/AMDiS/src/Operator.h +++ b/AMDiS/src/Operator.h @@ -3712,10 +3712,7 @@ namespace AMDiS { (*termIt)->eval(nPoints, uhAtQP, grdUhAtQP, D2UhAtQP, result, factor); } - - /** \brief - * Evaluation of all terms in \ref firstOrderGrdPsi. - */ + /// Evaluation of all terms in \ref firstOrderGrdPsi. void evalFirstOrderGrdPsi(int nPoints, const double *uhAtQP, const WorldVector<double> *grdUhAtQP, @@ -3732,9 +3729,7 @@ namespace AMDiS { (*termIt)->eval(nPoints, uhAtQP, grdUhAtQP, D2UhAtQP, result, factor); } - /** \brief - * Evaluation of all terms in \ref firstOrderGrdPhi. - */ + /// Evaluation of all terms in \ref firstOrderGrdPhi. void evalFirstOrderGrdPhi(int nPoints, const double *uhAtQP, const WorldVector<double> *grdUhAtQP, @@ -3751,10 +3746,7 @@ namespace AMDiS { (*termIt)->eval(nPoints, uhAtQP, grdUhAtQP, D2UhAtQP, result, factor); } - - /** \brief - * Evaluation of all terms in \ref secondOrder. - */ + /// Evaluation of all terms in \ref secondOrder. void evalSecondOrder(int nPoints, const double *uhAtQP, const WorldVector<double> *grdUhAtQP, @@ -3771,9 +3763,7 @@ namespace AMDiS { (*termIt)->eval(nPoints, uhAtQP, grdUhAtQP, D2UhAtQP, result, factor); } - /** \brief - * Weak evaluation of all terms in \ref secondOrder. - */ + /// Weak evaluation of all terms in \ref secondOrder. void weakEvalSecondOrder(int nPoints, const WorldVector<double> *grdUhAtQP, WorldVector<double> *result) const @@ -3787,10 +3777,7 @@ namespace AMDiS { static_cast<SecondOrderTerm*>(*termIt)->weakEval(nPoints, grdUhAtQP, result); } - /** \brief - * Calls getLALt() for each term in \ref secondOrder - * and adds the results to LALt. - */ + /// Calls getLALt() for each term in \ref secondOrder and adds the results to LALt. void getLALt(const ElInfo *elInfo, int nPoints, DimMat<double> **LALt) const { int myRank = omp_get_thread_num(); @@ -3802,11 +3789,10 @@ namespace AMDiS { static_cast<SecondOrderTerm*>(*termIt)->getLALt(elInfo, nPoints, LALt); } - /** \brief - * Calls getLb() for each term in \ref firstOrderGrdPsi - * and adds the results to Lb. - */ - void getLbGrdPsi(const ElInfo *elInfo, int nPoints, VectorOfFixVecs<DimVec<double> >& Lb) const + /// Calls getLb() for each term in \ref firstOrderGrdPsi and adds the results to Lb. + void getLbGrdPsi(const ElInfo *elInfo, + int nPoints, + VectorOfFixVecs<DimVec<double> >& Lb) const { int myRank = omp_get_thread_num(); @@ -3817,11 +3803,10 @@ namespace AMDiS { static_cast<FirstOrderTerm*>(*termIt)->getLb(elInfo, nPoints, Lb); } - /** \brief - * Calls getLb() for each term in \ref firstOrderGrdPhi - * and adds the results to Lb. - */ - void getLbGrdPhi(const ElInfo *elInfo, int nPoints, VectorOfFixVecs<DimVec<double> >& Lb) const + /// Calls getLb() for each term in \ref firstOrderGrdPhi and adds the results to Lb. + void getLbGrdPhi(const ElInfo *elInfo, + int nPoints, + VectorOfFixVecs<DimVec<double> >& Lb) const { int myRank = omp_get_thread_num(); @@ -3832,10 +3817,7 @@ namespace AMDiS { static_cast<FirstOrderTerm*>(*termIt)->getLb(elInfo, nPoints, Lb); } - /** \brief - * Calls getC() for each term in \ref zeroOrder - * and adds the results to c. - */ + /// Calls getC() for each term in \ref zeroOrder and adds the results to c. void getC(const ElInfo *elInfo, int nPoints, std::vector<double> &c) const { int myRank = omp_get_thread_num(); @@ -3853,28 +3835,19 @@ namespace AMDiS { return secondOrder[omp_get_thread_num()].size() != 0; } - /** \brief - * Returns true, if there are first order terms (grdPsi). - * Returns false otherwise. - */ + /// Returns true, if there are first order terms (grdPsi). Returns false otherwise. inline bool firstOrderTermsGrdPsi() { return firstOrderGrdPsi[omp_get_thread_num()].size() != 0; } - /** \brief - * Returns true, if there are first order terms (grdPhi). - * Returns false otherwise. - */ + /// Returns true, if there are first order terms (grdPhi). Returns false otherwise. inline bool firstOrderTermsGrdPhi() { return firstOrderGrdPhi[omp_get_thread_num()].size() != 0; } - /** \brief - * Returns true, if there are zero order terms. - * Returns false otherwise. - */ + /// Returns true, if there are zero order terms. Returns false otherwise. inline bool zeroOrderTerms() { return zeroOrder[omp_get_thread_num()].size() != 0; diff --git a/AMDiS/src/ProblemVec.cc b/AMDiS/src/ProblemVec.cc index a64f7ef2..49478ab5 100644 --- a/AMDiS/src/ProblemVec.cc +++ b/AMDiS/src/ProblemVec.cc @@ -660,6 +660,8 @@ namespace AMDiS { // will be set to false). DOFMatrix *matrix = (*systemMatrix)[i][j]; + std::cout << " i = " << i << " j = " << j << " matrix " << matrix << std::endl; + if (matrix) matrix->calculateNnz(); @@ -763,6 +765,29 @@ namespace AMDiS { if (matrix) nnz += matrix->getBaseMatrix().nnz(); + + std::cout << " i = " << i << " j = " << j << " matrix " << matrix << std::endl; + + if (i == 0 && matrix) { + using mtl::tag::major; using mtl::tag::nz; using mtl::begin; using mtl::end; + namespace traits= mtl::traits; + typedef DOFMatrix::base_matrix_type Matrix; + + traits::row<Matrix>::type row(matrix->getBaseMatrix()); + traits::col<Matrix>::type col(matrix->getBaseMatrix()); + traits::const_value<Matrix>::type value(matrix->getBaseMatrix()); + + typedef traits::range_generator<major, Matrix>::type cursor_type; + typedef traits::range_generator<nz, cursor_type>::type icursor_type; + + std::cout.precision(10); + for (cursor_type cursor = begin<major>(matrix->getBaseMatrix()), cend = end<major>(matrix->getBaseMatrix()); cursor != cend; ++cursor) + for (icursor_type icursor = begin<nz>(cursor), icend = end<nz>(cursor); icursor != icend; ++icursor) + if (row(*icursor) == 0) + std::cout << "C = " << col(*icursor) << " : " << value(*icursor) << std::endl; + std::cout << "============================" << std::endl; + } + } // And now assemble boundary conditions on the vectors @@ -776,11 +801,6 @@ namespace AMDiS { createPrecon(); - if (MPI::COMM_WORLD.Get_rank() == 0) - writeDbgMatrix("test0.mat"); - - exit(0); - INFO(info, 8)("fillin of assembled matrix: %d\n", nnz); #ifdef _OPENMP -- GitLab