diff --git a/AMDiS/AMDISConfig.cmake.in b/AMDiS/AMDISConfig.cmake.in index e23fb4b9feb7dbf3642af31aed2870398e6492bc..fce5e1081008deab9cc0c33d3c08edbde90d0ad7 100644 --- a/AMDiS/AMDISConfig.cmake.in +++ b/AMDiS/AMDISConfig.cmake.in @@ -45,7 +45,7 @@ find_library(_AMDIS_LIB amdis PATHS ${AMDIS_LIBRARY_DIR} ${AMDIS_DIR}/../../lib/ if(_AMDIS_LIB) get_filename_component(AMDIS_LIBRARY_DIR ${_AMDIS_LIB} PATH CACHE) set(AMDIS_LIBRARY_DIRS ${AMDIS_LIBRARY_DIR}) - set(AMDIS_LIBRARIES "${_AMDIS_LIB};${AMDIS_LIBRARY_DIR}/libcompositeFEM.so;${AMDIS_LIBRARY_DIR}/libreinit.so;${AMDIS_LIBRARY_DIR}/libmuparser.so" CACHE STRING "amdis libraries") + set(AMDIS_LIBRARIES "${_AMDIS_LIB};${AMDIS_LIBRARY_DIR}/libmuparser.so" CACHE STRING "amdis libraries") else() message(ERROR "could not detect the AMDiS library directory. Please set the variable AMDIS_LIBRARY_DIR to the directory containg the AMDiS library") endif() @@ -181,6 +181,9 @@ list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR}/reinit) list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR}/compositeFEM) list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR}/muparser) +list(APPEND AMDIS_LIBRARIES ${AMDIS_LIBRARY_DIR}/libcompositeFEM.so) +list(APPEND AMDIS_LIBRARIES ${AMDIS_LIBRARY_DIR}/libreinit.so) + if(${AMDIS_FIND_COMPONENTS} MATCHES umfpack ) if(NOT AMDIS_NEED_UMFPACK) set(AMDIS_umfpack_FOUND FALSE) @@ -199,3 +202,4 @@ if(AMDIS_NEED_ZOLTAN) message(FATAL_ERROR "Could not find zoltan library!") endif() endif() + diff --git a/AMDiS/CMakeLists.txt b/AMDiS/CMakeLists.txt index d9368da351bf51949680f554a05e424e19c0375a..db86fa5a96365477bf5916f2ac76d9aedfb59412 100644 --- a/AMDiS/CMakeLists.txt +++ b/AMDiS/CMakeLists.txt @@ -397,6 +397,8 @@ if(ENABLE_EXTENSIONS) if(ENABLE_BASE_PROBLEMS) SET(BASE_PROBLEMS_SRC ${EXTENSIONS_DIR}/base_problems/CahnHilliard.cc + ${EXTENSIONS_DIR}/base_problems/CahnHilliard_RB.cc + ${EXTENSIONS_DIR}/base_problems/CahnHilliardNavierStokes.cc # ${EXTENSIONS_DIR}/base_problems/DiffuseDomainFsi.cc ${EXTENSIONS_DIR}/base_problems/LinearElasticity.cc ${EXTENSIONS_DIR}/base_problems/LinearElasticityPhase.cc diff --git a/AMDiS/src/DOFVector.h b/AMDiS/src/DOFVector.h index 031835ef52126abb73be239618b8e4b61a2bdf9d..f8f43606cacea7d732f1da7886edc6c25d99c390 100644 --- a/AMDiS/src/DOFVector.h +++ b/AMDiS/src/DOFVector.h @@ -909,9 +909,9 @@ namespace AMDiS { template<typename TOut, typename T> TOut integrate(const DOFVector<T> &vec, - AbstractFunction<TOut, T> *fct) + AbstractFunction<TOut, T> *fct = NULL) { - return integrate_Vec(vec, fct); + return fct == NULL ? vec.Int() : integrate_Vec(vec, fct); } /** \brief diff --git a/AMDiS/src/Functors.h b/AMDiS/src/Functors.h index 73cdb35c132a401e1710a10d0f98313ca5234588..3b48d8c80b4111543a895a6bdf09a692bf6c47ca 100644 --- a/AMDiS/src/Functors.h +++ b/AMDiS/src/Functors.h @@ -133,14 +133,14 @@ private: double p; }; -template<typename T1, typename T2> -struct Norm2 : public AbstractFunction<T1,T2> +template<typename T1, typename T2 = ProductType<T1, T1> > +struct Norm2 : public AbstractFunction<T1, T2> { T1 operator()(const T2 &v) const { return sqrt(v*v); } }; template<typename T1, typename T2> -struct Norm2Sqr : public AbstractFunction<T1,T2> +struct Norm2Sqr : public AbstractFunction<T1, T2> { T1 operator()(const T2 &v) const { return v*v; } }; @@ -215,7 +215,6 @@ struct FadeOut : public TertiaryAbstractFunction<double, double, double ,double> return dist*mean+(1.0-dist)*v; } }; - } #endif // AMDIS_FUNCTORS_H