Added: Geometrically exact Timoshenko beam element (wrapped Fortran code)

git-svn-id: http://svn.sintef.no/trondheim/IFEM/trunk@2870 e10b68d5-8a6e-419e-a041-bce267b0401d
This commit is contained in:
kmo
2014-07-15 16:42:57 +00:00
committed by Knut Morten Okstad
parent e20c5f6203
commit 03fdcdaf6f
4 changed files with 27 additions and 7 deletions

View File

@@ -92,13 +92,18 @@ TARGET_LINK_LIBRARIES(IFEM ${IFEM_DEPLIBS})
SET_TARGET_PROPERTIES(IFEM PROPERTIES VERSION ${IFEM_VERSION}
SOVERSION ${IFEM_ABI_VERSION})
IF(IFEM_USE_GETBEAM)
FILE(GLOB_RECURSE GETB_SRCS ${PROJECT_SOURCE_DIR}/3rdparty/GETBeam/*.f)
ADD_LIBRARY(GETBeam ${GETB_SRCS})
ENDIF(IFEM_USE_GETBEAM)
# For generating the doxy
ADD_CUSTOM_TARGET(lib_doc doxygen ${PROJECT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
COMMENT "Generating API documentation" VERBATIM)
if(NOT TARGET doc)
add_custom_target(doc)
endif()
endif(NOT TARGET doc)
add_dependencies(doc lib_doc)
# 'install' target
@@ -114,14 +119,14 @@ ELSE(WIN32)
# headers
FILE(GLOB IFEM_HEADERS src/ASM/AlgEqSystem.h src/ASM/ASMbase.h
src/ASM/ASMenums.h src/ASM/ASMmxBase.h
src/ASM/ASMstruct.h src/ASM/ElmMats.h src/ASM/ElmNorm.h
src/ASM/Field.h src/ASM/Fields.h
src/ASM/ASMstruct.h src/ASM/*Mats.h src/ASM/ElmNorm.h
src/ASM/Field.h src/ASM/Fields.h src/ASM/GlbForceVec.h
src/ASM/FiniteElement.h src/ASM/GlbNorm.h
src/ASM/GlobalIntegral.h src/ASM/IntegrandBase.h
src/ASM/Integrand.h src/ASM/Lagrange.h
src/ASM/LocalIntegral.h src/ASM/SAMpatch.h
src/ASM/TimeDomain.h src/ASM/ASMs?D.h src/ASM/ASM?D.h
src/Integrands/*.h src/LinAlg/*.h src/SIM/*.h
src/LinAlg/*.h src/SIM/*.h
src/Utility/*.h
${CMAKE_BINARY_DIR}/IFEM.h)
INSTALL(FILES ${IFEM_HEADERS}

View File

@@ -57,7 +57,6 @@ IF(IFEM_PATH OR IFEM_AS_SUBMODULE)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
endif()
ADD_SUBDIRECTORY(${IFEM_PATH} IFEM.dir)
INCLUDE(${CMAKE_BINARY_DIR}/IFEM.dir/IFEMFlags.cmake)
SET(IFEM_LIBRARIES IFEM)
ELSE(IFEM_AS_SUBMODULE)
@@ -83,11 +82,22 @@ IF(IFEM_PATH OR IFEM_AS_SUBMODULE)
FIND_PACKAGE(IFEMDeps REQUIRED)
SET(IFEM_LIBRARIES ${IFEM_LIBRARIES} ${IFEM_DEPLIBS})
ENDIF(NOT BUILD_SHARED_LIBS)
IF(NOT IFEM_USE_SYSTEM_TINYXML)
SET(IFEM_INCLUDES ${IFEM_INCLUDES}
${IFEM_PATH}/3rdparty/tinyxml)
ENDIF(NOT IFEM_USE_SYSTEM_TINYXML)
IF(IFEM_USE_GETBEAM)
FIND_LIBRARY(GETB_LIBRARIES
NAMES GETBeam
PATHS ${IFEM_PATH}/${IFEM_BUILD_TYPE}/lib
${IFEM_PATH}/lib
NO_DEFAULT_PATH)
IF(GETB_LIBRARIES)
SET(IFEM_LIBRARIES ${IFEM_LIBRARIES} ${GETB_LIBRARIES})
ELSE(GETB_LIBRARIES)
SET(IFEM_USE_GETBEAM OFF)
ENDIF(GETB_LIBRARIES)
ENDIF(IFEM_USE_GETBEAM)
ENDIF(IFEM_AS_SUBMODULE)
CONFIGURE_FILE(${IFEM_PATH}/Apps/Common/cmake/CheckCommits.cmake.in CheckCommits.cmake)
ADD_CUSTOM_TARGET(check-commits COMMAND ${CMAKE_COMMAND} -P CheckCommits.cmake)

View File

@@ -172,7 +172,7 @@ IF(IFEM_USE_SAMG)
ENDIF(SAMG_LIBRARIES AND SAMG_INCLUDES)
ENDIF(IFEM_USE_SAMG)
# VTFWriter
# VTF writer
IF(IFEM_USE_VTFWRITER)
FIND_PACKAGE(VTFWriter)
IF(VTFWRITER_LIBRARIES AND VTFWRITER_INCLUDES)
@@ -192,3 +192,7 @@ IF(IFEM_USE_OPENMP)
ENDIF(OPENMP_FOUND)
ENDIF(IFEM_USE_OPENMP)
# Geometrically exact Timoshenko beam
IF(IFEM_USE_GETBEAM)
SET(IFEM_CXX_FLAGS "${IFEM_CXX_FLAGS} -DHAS_GETBEAM=${IFEM_USE_GETBEAM}")
ENDIF(IFEM_USE_GETBEAM)

View File

@@ -9,6 +9,7 @@ OPTION(IFEM_USE_SPR "Compile with SPR support?" OFF)
OPTION(IFEM_USE_SAMG "Compile with SAMG support?" OFF)
OPTION(IFEM_USE_HDF5 "Compile with HDF5 support?" ON)
OPTION(IFEM_USE_VTFWRITER "Compile with VTFWriter support?" ON)
OPTION(IFEM_USE_GETBEAM "Compile with Timoshenko beam element?" OFF)
OPTION(IFEM_AS_SUBMODULE "Compile IFEM as a submodule of apps?" OFF)
OPTION(IFEM_WHOLE_PROG_OPTIM "Compile IFEM with link-time optimizations?" OFF)
OPTION(IFEM_TEST_MEMCHECK "Run tests through valgrind?" OFF)