Commit 7feb7166 authored by Christof Schulze's avatar Christof Schulze 😎 Committed by cschulze
Browse files

[+] added OpenFOAM 3.0, first try

parent 87ea1b4d
Loading
Loading
Loading
Loading

OpenFOAM/3.0+

0 → 100644
+158 −0
Original line number Diff line number Diff line
#%Module
#
# OpenFOAM 3.0+
#
set     foamversion      "v3.0+"

proc ModulesHelp { } {
	global foamversion
        puts stderr "\tSets up the environment for the OpenFOAM ($foamversion)\n"
	puts stderr "\t- WM_PROJECT_DIR \t- the OpenFOAM directory\n"
        puts stderr "\t- WM_PROJECT_INST_DIR\t- directory where OpenFOAM and required 3rd party files are installed to\n"
	puts stderr "\t- WM_THIRD_PARTY_DIR \t- directory whre the 3rd party files are installed to\n"
	
	puts stderr "\t- WM_PROJECT_USER_DIR \t- directory containing your OpenFOAM dependent project code and data"
	puts stderr "\t\t\t\t  you should overwrite the default by predefining an\n\t\t\t\t  environment variable with the same name!\n"

	puts stderr "\t- ParaView_DIR\t\t- The Path to a modified version of Paraview 4.1.0\n"

        puts stderr "\t- LD_LIBRARY_PATH\n"
        puts stderr "\t- LD_RUN_PATH\n"
        puts stderr "\n\t\t\t\t a lot of other OpenFOAM depending variables and paths"
}

module-whatis   "sets up the environment for the OpenFOAM $foamversion"

prereq      mpi/openmpi-x86_64
conflict     intel
conflict     CGAL

set		pkghome			/opt/apps/OpenFOAM
set		wm_dir			$pkghome/OpenFOAM-$foamversion
set		3dparty_dir		$pkghome/ThirdParty-$foamversion

setenv		WM_PROJECT		"OpenFOAM"
setenv		WM_PROJECT_VERSION	$foamversion
setenv		WM_PROJECT_INST_DIR	$pkghome	
setenv		WM_PROJECT_DIR		$wm_dir
setenv		WM_THIRD_PARTY_DIR	$3dparty_dir

setenv		WM_DIR			$wm_dir/wmake
setenv		WM_PRECISION_OPTION	"DP"
setenv		WM_COMPILER_LIB_ARCH	"64"
setenv		WM_ARCH			"linux64"
setenv		WM_ARCH_OPTION		"64"
setenv	 	WM_COMPILE_OPTION	"Opt"
setenv 		WM_LINK_LANGUAGE	"c++"
setenv		WM_CXX			"g++"
setenv		WM_CXXFLAGS		"-m64 -fPIC"
setenv		WM_CC			"gcc"
setenv		WM_CFLAGS		"-m64 -fPIC"
setenv		WM_LDFLAGS		"-m64"
setenv		WM_COMPILER		"Gcc"
setenv		WM_MPLIB		"SYSTEMOPENMPI"
setenv		WM_OSTYPE		"POSIX"
setenv		WM_OPTIONS		"linux64GccDPInt32Opt"


# ??? $MPI_HOME=/usr/lib64/openmpi set in mpi/openmpi module but not anymore in environment 
setenv 		MPI_ARCH_PATH		$::env(MPI_HOME)
setenv		MPI_BUFFER_SIZE		"20000000"




# [???] Boost is missing, boost-system used???
setenv		BOOST_ARCH_PATH		$3dparty_dir/platforms/linux64Gcc/boost-system





setenv		CGAL_ARCH_PATH		$3dparty_dir/platforms/linux64Gcc/CGAL-4.7

setenv		FOAM_INST_DIR		$pkghome
setenv		FOAM_SIGFPE		""
setenv		FOAM_SETTINGS		""
setenv		FOAM_MPI		"openmpi-system"
setenv		FOAM_SOLVERS		$wm_dir/applications/solvers
setenv		FOAM_EXT_LIBBIN		$3dparty_dir/platforms/linux64GccDPInt32Opt/lib
setenv		FOAM_APPBIN		$wm_dir/platforms/linux64GccDPInt32Opt/bin
setenv		FOAM_TUTORIALS		$wm_dir/tutorials
setenv		FOAM_APP		$wm_dir/applications
setenv		FOAM_UTILITIES		$wm_dir/applications/utilities
setenv		FOAM_SRC		$wm_dir/src
setenv		FOAM_LIBBIN		$wm_dir/platforms/linux64GccDPInt32Optlib

set		user_project_dir			""
# take predefined path for WM_PROJECT_USER_DIR or set default values
if { [  info exists ::env(WM_PROJECT_USER_DIR) ] } {
    # predefined path for WM_PROJECT_USER_DIR
    set		user_project_dir		$::env(WM_PROJECT_USER_DIR)
    puts stderr "\nINFO:\tThe Module is configured with your predefined 'WM_PROJECT_USER_DIR'\n\t $::env(WM_PROJECT_USER_DIR)\n"
} else {
    set		user_project_dir		$::env(HOME)/OpenFOAM/$::env(USER)-$foamversion
    puts stderr "\nINFO:\tThe Module is configured with the default values for 'WM_PROJECT_USER_DIR'\n$user_project_dir\n"
    puts stderr "\n\tIf you want to set a diverent location for your project files set a environment variable 'WM_PROJECT_USER_DIR' beforeloding this module !\n\n"
}

setenv		WM_PROJECT_USER_DIR	$user_project_dir
setenv 		FOAM_RUN			$user_project_dir/run
setenv 		FOAM_USER_APPBIN		$user_project_dir/platforms/linux64GccDPOpt/bin
setenv 		FOAM_USER_LIBBIN		$user_project_dir/platforms/linux64GccDPOpt/lib


set		        ParaView_DIR		$3dparty_dir/platforms/linux64Gcc/ParaView-4.4.0
setenv		        ParaView_VERSION	"4.4.0"
setenv		        ParaView_MAJOR		"4.4"
setenv       	        ParaView_DIR		$ParaView_DIR

setenv		        PV_PLUGIN_PATH		$3dparty_dir/platforms/linux64GccDPOpt/lib/paraview-4.4
setenv 		        ParaView_INCLUDE_DIR	$3dparty_dir/platforms/linux64Gcc/ParaView-4.1.0/include/paraview-4.1

# attention, don't know if necessary but
# should contain site wide additional libs for simulations
#setenv		        FOAM_JOB_DIR		$pkghome/jobControl
#setenv		        FOAM_SITE_APPBIN	$pkghome/site/2.3.1/platforms/linux64GccDPOpt/bin
#setenv		        FOAM_SITE_LIBBIN		$pkghome/site/2.3.1/platforms/linux64GccDPOpt/lib
#
#
#prepend-path	        PATH       		/opt/OpenFOAM/site/2.3.1/platforms/linux64GccDPOpt/bin

prepend-path		PATH            	$3dparty_dir/platforms/linux64GccDPOpt/bin
prepend-path		PATH		        $wm_dir/wmake
prepend-path		PATH		        $wm_dir/bin
prepend-path		PATH		        $ParaView_DIR/bin
prepend-path		PATH		        $3dparty_dir/platforms/linux64GccDPOpt/gperftools-svn/bin
prepend-path		PATH		        $user_project_dir/platforms/linux64GccDPOpt/bin


prepend-path		LD_LIBRARY_PATH	        $wm_dir/platforms/linux64GccDPOpt/lib/dummy
prepend-path		LD_LIBRARY_PATH 	$3dparty_dir/platforms/linux64GccDPOpt/lib
prepend-path		LD_LIBRARY_PATH	        $wm_dir/platforms/linux64GccDPOpt/lib
prepend-path		LD_LIBRARY_PATH	        $wm_dir/platforms/linux64GccDPOpt/lib
prepend-path		LD_LIBRARY_PATH 	$user_project_dir/platforms/linux64GccDPOpt/lib
prepend-path		LD_LIBRARY_PATH 	$3dparty_dir/platforms/linux64GccDPOpt/lib/openmpi-system
prepend-path		LD_LIBRARY_PATH 	$wm_dir/platforms/linux64GccDPOpt/lib/openmpi-system







prepend-path		LD_LIBRARY_PATH	 $3dparty_dir/platforms/linux64Gcc/ParaView-4.1.0/lib/paraview-4.1
prepend-path		LD_LIBRARY_PATH	$3dparty_dir/platforms/linux64Gcc/gperftools-svn/lib
prepend-path		LD_LIBRARY_PATH	$3dparty_dir/platforms/linux64Gcc/CGAL-4.3/lib


unset		pkghome
unset		wm_dir
unset		3dparty_dir
unset		foamversion
unset		ParaView_DIR
unset		user_project_dir


#source $env(MODULESHOME)/modincludes/info_logging.tcl