]> Pileus Git - ~andy/sunrise/commitdiff
sci-libs/openfoam-solvers: Some bug fixes.
authorOliver Borm (oli) <oli.borm@web.de>
Fri, 28 Mar 2008 16:33:19 +0000 (16:33 +0000)
committerOliver Borm (oli) <oli.borm@web.de>
Fri, 28 Mar 2008 16:33:19 +0000 (16:33 +0000)
svn path=/sunrise/; revision=5921

sci-libs/openfoam-solvers/ChangeLog
sci-libs/openfoam-solvers/Manifest
sci-libs/openfoam-solvers/files/openfoam-solvers-1.4.1_p20080328.patch [new file with mode: 0644]
sci-libs/openfoam-solvers/files/openfoam-solvers-compile-1.4.1_p20080328.patch [new file with mode: 0644]
sci-libs/openfoam-solvers/openfoam-solvers-1.4.1_p20080328.ebuild [new file with mode: 0644]

index df0e57b423bab8a85cbdcb9dec66d03774c5b2a2..31b310c7c9be26c5efc82698fd96d499e09a2c95 100644 (file)
@@ -2,6 +2,12 @@
 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+  28 Mar 2008; Oliver Borm (boroli) <oli.borm@web.de>
+  +openfoam-solvers-1.4.1_p20080328.ebuild,
+  +files/openfoam-solvers-1.4.1_p20080328.patch,
+  +files/openfoam-solvers-compile-1.4.1_p20080328.patch:
+  Some bug fixes.
+
   29 Jan 2008; Oliver Borm (boroli) <oli.borm@web.de>
   +files/openfoam-solvers-1.4.1_p20080118.patch,
   +files/openfoam-solvers-compile-1.4.1_p20080118.patch, +metadata.xml,
index e158af09dda6e4b3027167fab19e78ab19105201..dbe4d204475941b78f6058eb071e11ffc9096e01 100644 (file)
@@ -1,6 +1,9 @@
 AUX openfoam-solvers-1.4.1_p20080118.patch 12338 RMD160 e2147d7209ef7891420ae3dcab40ccac403f2cfe SHA1 428a07b47add96ad4bc5fc2ffae923314ad3ddf3 SHA256 455320ba9a9d4fa97543fd8d8381672ec4a4bdb747d0b1b7c4b3e6efe9b32dac
+AUX openfoam-solvers-1.4.1_p20080328.patch 13843 RMD160 0b00d42d4122e3d83f5bf1ba73f24c03785bfd99 SHA1 229d1cb7c817064ece22982e8753471574222cca SHA256 cc4acd93d8fa73b67e6bc3916d267446ae3a563de5e4b226e9e7b00c3e49deec
 AUX openfoam-solvers-compile-1.4.1_p20080118.patch 996 RMD160 0debfeb112bed547317d8d61a3fbdae1490050ba SHA1 87c9b4ace94e4eb7b0c16a39e041ec72fca7877e SHA256 1e6062ff63e4367067c229cc8348f5bbd5e6e96f2b9f109bbacb73f3f16310d5
+AUX openfoam-solvers-compile-1.4.1_p20080328.patch 996 RMD160 0debfeb112bed547317d8d61a3fbdae1490050ba SHA1 87c9b4ace94e4eb7b0c16a39e041ec72fca7877e SHA256 1e6062ff63e4367067c229cc8348f5bbd5e6e96f2b9f109bbacb73f3f16310d5
 DIST OpenFOAM-1.4.1.General.gtgz 148526808 RMD160 e25d8bdfa63f15eeeb7b9f1cef09cc26fb7bef74 SHA1 56bbbf5b33c49d08cda35088a65b24d7dc59014f SHA256 c765b36639b42c737bc9ba1ac13c0f66efe20ee4a9f71a6ef987e86ebd50da28
 EBUILD openfoam-solvers-1.4.1_p20080118.ebuild 2621 RMD160 3e629fd50bc01a90f536fef681fa64bfbeca3772 SHA1 f545e748edc7ff4ec58fc243d53be18db51095a5 SHA256 e8d5bac6993c1dfa5b1eac708fdc16758d2b6e39137ffe6f638915ce33364b7c
-MISC ChangeLog 384 RMD160 f135f41b99684bfb5acaf9430e353c836e025765 SHA1 75a7448f984a0bfbf5ee2f73dbdc1c44a44b7164 SHA256 c4d9b6bac9e4f8000822cb91f0aa869896619c03696d7161763fc44ce2cde5bb
+EBUILD openfoam-solvers-1.4.1_p20080328.ebuild 2623 RMD160 8750fa3d6041cb2b436235d13b10001e6bfaa1a9 SHA1 b0e98618cd25792f4b00e775c456ea96587e33f1 SHA256 139e000ade2545299e7f005f48b8366ad1bc86c074ed0176fdceb0f95395caea
+MISC ChangeLog 607 RMD160 f92580e3070f16bd40e03f8f2da66e65bc07d5c7 SHA1 d434e9589ed92bab233a698f55a1810b6bff8693 SHA256 72df1a61fbb504091b2d0dfc63bb8cc9edcbb4acac6140eccd137b403aa93947
 MISC metadata.xml 170 RMD160 645927a396fdc21cdeb089fe42c5397332420ea6 SHA1 ac7f48a14fec325926f9ce1be8fbf1f311b4f2e4 SHA256 d797a2ec6f9dc516c9f9c1a758ee87ad3e8c43101b5dc76c2f872d5bd4639b42
diff --git a/sci-libs/openfoam-solvers/files/openfoam-solvers-1.4.1_p20080328.patch b/sci-libs/openfoam-solvers/files/openfoam-solvers-1.4.1_p20080328.patch
new file mode 100644 (file)
index 0000000..0e4955d
--- /dev/null
@@ -0,0 +1,392 @@
+Index: multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C
+===================================================================
+--- applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C  (Revision 30)
++++ applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C  (Revision 569)
+@@ -120,30 +120,30 @@
+ Foam::tmp<Foam::volScalarField> Foam::multiphaseMixture::rho() const
+ {
+     PtrDictionary<phase>::const_iterator iter = phases_.begin();
+     tmp<volScalarField> trho = iter()*iter().rho();
+-    for(; iter != phases_.end(); ++iter)
++    for(++iter; iter != phases_.end(); ++iter)
+     {
+         trho() += iter()*iter().rho();
+     }
+     return trho;
+ }
+ Foam::tmp<Foam::volScalarField> Foam::multiphaseMixture::mu() const
+ {
+     PtrDictionary<phase>::const_iterator iter = phases_.begin();
+     tmp<volScalarField> tmu = iter()*iter().rho()*iter().nu();
+-    for(; iter != phases_.end(); ++iter)
++    for(++iter; iter != phases_.end(); ++iter)
+     {
+         tmu() += iter()*iter().rho()*iter().nu();
+     }
+     return tmu;
+ }
+@@ -151,15 +151,15 @@
+ Foam::tmp<Foam::surfaceScalarField> Foam::multiphaseMixture::muf() const
+ {
+     PtrDictionary<phase>::const_iterator iter = phases_.begin();
+     tmp<surfaceScalarField> tmuf = 
+         fvc::interpolate(iter())*iter().rho()*fvc::interpolate(iter().nu());
+-    for(; iter != phases_.end(); ++iter)
++    for(++iter; iter != phases_.end(); ++iter)
+     {
+         tmuf() += 
+             fvc::interpolate(iter())*iter().rho()*fvc::interpolate(iter().nu());
+     }
+     return tmuf;
+ }
+
+Index: multiphase/interFoam/FoamX/fvSchemes.cfg
+===================================================================
+--- applications/solvers/multiphase/interFoam/FoamX/fvSchemes.cfg      (Revision 0)
++++ applications/solvers/multiphase/interFoam/FoamX/fvSchemes.cfg      (Revision 569)
+@@ -0,0 +1,29 @@
++/*---------------------------------------------------------------------------*\
++| =========                 |                                                 |
++| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
++|  \\    /   O peration     | Version:  1.4                                   |
++|   \\  /    A nd           | Web:      http://www.openfoam.org               |
++|    \\/     M anipulation  |                                                 |
++\*---------------------------------------------------------------------------*/
++
++include "$FOAMX_CONFIG/dictionaries/fvSchemes/fvSchemes.cfg";
++
++entries
++{
++    include "$FOAMX_CONFIG/dictionaries/fvSchemes/ddt/transient.cfg";
++
++    include "$FOAMX_CONFIG/dictionaries/fvSchemes/grad/defaultOnly.cfg";
++    include "fvSchemes/divSchemes.cfg";
++    include "$FOAMX_CONFIG/dictionaries/fvSchemes/laplacian/defaultOnly.cfg";
++    include "fvSchemes/interpolationSchemes.cfg";
++    include "$FOAMX_CONFIG/dictionaries/fvSchemes/snGrad/defaultOnly.cfg";
++    include "$FOAMX_CONFIG/dictionaries/fvSchemes/flux/pdPcorrGamma.cfg"
++;
++}
++
++default
++{
++    include "defaults/system/fvSchemes";
++}
++
++// ************************************************************************* //
+Index: multiphase/interFoam/FoamX/interFoam.cfg
+===================================================================
+--- applications/solvers/multiphase/interFoam/FoamX/interFoam.cfg      (Revision 0)
++++ applications/solvers/multiphase/interFoam/FoamX/interFoam.cfg      (Revision 569)
+@@ -0,0 +1,57 @@
++/*---------------------------------------------------------------------------*\
++| =========                 |                                                 |
++| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
++|  \\    /   O peration     | Version:  1.4                                   |
++|   \\  /    A nd           | Web:      http://www.openfoam.org               |
++|    \\/     M anipulation  |                                                 |
++\*---------------------------------------------------------------------------*/
++
++description "Free surface-capturing unsteady laminar two-phase flow code";
++
++dictionaries        
++{
++    include "$FOAMX_CONFIG/dictionaries/controlDict/controlDictAdjustTimeStep.cfg";
++    fvSchemes;
++    fvSolution;
++    include "$FOAMX_CONFIG/dictionaries/transportProperties/twoPhaseTransportProperties.cfg";
++    include "$FOAMX_CONFIG/dictionaries/environmentalProperties/environmentalPropertiesg.cfg";
++}
++
++fields
++{
++    include "$FOAMX_CONFIG/entries/geometricFields/pd.cfg";
++    include "$FOAMX_CONFIG/entries/geometricFields/U.cfg";
++    include "$FOAMX_CONFIG/entries/geometricFields/gamma.cfg";
++}
++
++patchPhysicalTypes
++{
++    include "$FOAMX_CONFIG/entries/patchPhysicalTypes/standard/patches.cfg";
++
++    wallContactAngle
++    {
++        description         "Wall boundary condition with specified contact-angle";
++        parentType           wall;
++    }
++}
++
++patchFieldsPhysicalTypes
++{
++    gamma
++    {
++        include "$FOAMX_CONFIG/entries/patchPhysicalTypes/standard/gamma.cfg";
++        wallContactAngle gammaContactAngle;
++    }
++
++    U
++    {
++        include "$FOAMX_CONFIG/entries/patchPhysicalTypes/standard/U.cfg";
++    }
++
++    pd
++    {
++        include "$FOAMX_CONFIG/entries/patchPhysicalTypes/standard/pd.cfg";
++    }
++}
++
++// ************************************************************************* //
+Index: multiphase/interFoam/FoamX/fvSchemes/divSchemes.cfg
+===================================================================
+--- applications/solvers/multiphase/interFoam/FoamX/fvSchemes/divSchemes.cfg   (Revision 0)
++++ applications/solvers/multiphase/interFoam/FoamX/fvSchemes/divSchemes.cfg   (Revision 569)
+@@ -0,0 +1,21 @@
++/*---------------------------------------------------------------------------*\
++| =========                 |                                                 |
++| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
++|  \\    /   O peration     | Version:  1.4                                   |
++|   \\  /    A nd           | Web:      http://www.openfoam.org               |
++|    \\/     M anipulation  |                                                 |
++\*---------------------------------------------------------------------------*/
++
++divSchemes
++{
++    include "$FOAMX_CONFIG/dictionaries/fvSchemes/div/schemes.cfg"; 
++    entries
++    {
++        include "$FOAMX_CONFIG/dictionaries/fvSchemes/div/rhoPhiU.cfg";
++        include "$FOAMX_CONFIG/dictionaries/fvSchemes/div/phiGamma.cfg";
++        include "$FOAMX_CONFIG/dictionaries/fvSchemes/div/phirbGamma.cfg";
++    }                  
++}
++
++
++// ************************************************************************* //
+Index: multiphase/interFoam/FoamX/fvSchemes/interpolationSchemes.cfg
+===================================================================
+--- applications/solvers/multiphase/interFoam/FoamX/fvSchemes/interpolationSchemes.cfg (Revision 0)
++++ applications/solvers/multiphase/interFoam/FoamX/fvSchemes/interpolationSchemes.cfg (Revision 569)
+@@ -0,0 +1,18 @@
++/*---------------------------------------------------------------------------*\
++| =========                 |                                                 |
++| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
++|  \\    /   O peration     | Version:  1.4                                   |
++|   \\  /    A nd           | Web:      http://www.openfoam.org               |
++|    \\/     M anipulation  |                                                 |
++\*---------------------------------------------------------------------------*/
++
++interpolationSchemes
++{
++    include "$FOAMX_CONFIG/dictionaries/fvSchemes/interpolation/schemes.cfg"; 
++    entries
++    {
++        include "$FOAMX_CONFIG/dictionaries/fvSchemes/interpolation/default.cfg";
++    }
++}
++
++// ************************************************************************* //
+Index: multiphase/interFoam/FoamX/fvSolution.cfg
+===================================================================
+--- applications/solvers/multiphase/interFoam/FoamX/fvSolution.cfg     (Revision 0)
++++ applications/solvers/multiphase/interFoam/FoamX/fvSolution.cfg     (Revision 569)
+@@ -0,0 +1,45 @@
++/*---------------------------------------------------------------------------*\
++| =========                 |                                                 |
++| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
++|  \\    /   O peration     | Version:  1.4                                   |
++|   \\  /    A nd           | Web:      http://www.openfoam.org               |
++|    \\/     M anipulation  |                                                 |
++\*---------------------------------------------------------------------------*/
++
++include "$FOAMX_CONFIG/dictionaries/fvSolution/fvSolution.cfg";
++
++entries
++{
++    solvers
++    {
++        type        dictionary;
++        entries
++        {
++            include "$FOAMX_CONFIG/dictionaries/fvSolution/solvers/pcorr.cfg";
++            include "$FOAMX_CONFIG/dictionaries/fvSolution/solvers/pd.cfg";
++            include "$FOAMX_CONFIG/dictionaries/fvSolution/solvers/pdFinal.cfg";
++            include "$FOAMX_CONFIG/dictionaries/fvSolution/solvers/U.cfg";
++        }
++    }
++
++    PISO
++    {
++        type        dictionary;
++        entries
++        {
++            include "$FOAMX_CONFIG/entries/Switch/momentumPredictor.cfg";
++            include "$FOAMX_CONFIG/entries/label/nCorrectors.cfg";
++            include "$FOAMX_CONFIG/entries/label/nNonOrthogonalCorrectors.cfg";
++            include "$FOAMX_CONFIG/entries/label/nGammaCorr.cfg";
++            include "$FOAMX_CONFIG/entries/label/nGammaSubCycles.cfg";
++            include "$FOAMX_CONFIG/entries/scalar/cGamma.cfg";
++        }
++    }
++}
++
++default
++{
++    include "defaults/system/fvSolution";
++}
++
++// ************************************************************************* //
+Index: multiphase/interFoam/FoamX/defaults/system/fvSchemes
+===================================================================
+--- applications/solvers/multiphase/interFoam/FoamX/defaults/system/fvSchemes  (Revision 0)
++++ applications/solvers/multiphase/interFoam/FoamX/defaults/system/fvSchemes  (Revision 569)
+@@ -0,0 +1,67 @@
++/*---------------------------------------------------------------------------*\
++| =========                 |                                                 |
++| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
++|  \\    /   O peration     | Version:  1.4                                   |
++|   \\  /    A nd           | Web:      http://www.openfoam.org               |
++|    \\/     M anipulation  |                                                 |
++\*---------------------------------------------------------------------------*/
++
++FoamFile
++{
++    version         2.0;
++    format          ascii;
++
++    root            "";
++    case            "";
++    instance        "";
++    local           "";
++
++    class           dictionary;
++    object          fvSchemes;
++}
++
++// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
++
++ddtSchemes
++{
++    default Euler;
++}
++
++gradSchemes
++{
++    default         Gauss linear;
++}
++
++divSchemes
++{
++    div(rho*phi,U)  Gauss limitedLinearV 1;
++    div(phi,gamma)  Gauss vanLeer;
++    div(phirb,gamma) Gauss interfaceCompression;
++}
++
++laplacianSchemes
++{
++    default         Gauss linear corrected;
++}
++
++interpolationSchemes
++{
++    default         linear;
++    interpolate(HbyA) linear;
++}
++
++snGradSchemes
++{
++    default         corrected;
++}
++
++fluxRequired
++{
++    default         no;
++    pd;
++    pcorr;
++    gamma;
++}
++
++
++// ************************************************************************* //
+Index: multiphase/interFoam/FoamX/defaults/system/fvSolution
+===================================================================
+--- applications/solvers/multiphase/interFoam/FoamX/defaults/system/fvSolution (Revision 0)
++++ applications/solvers/multiphase/interFoam/FoamX/defaults/system/fvSolution (Revision 569)
+@@ -0,0 +1,64 @@
++/*---------------------------------------------------------------------------*\
++| =========                 |                                                 |
++| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
++|  \\    /   O peration     | Version:  1.4                                   |
++|   \\  /    A nd           | Web:      http://www.openfoam.org               |
++|    \\/     M anipulation  |                                                 |
++\*---------------------------------------------------------------------------*/
++
++FoamFile
++{
++    version         2.0;
++    format          ascii;
++
++    root            "";
++    case            "";
++    instance        "";
++    local           "";
++
++    class           dictionary;
++    object          fvSolution;
++}
++
++// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
++
++solvers
++{
++    pcorr PCG
++    {
++        preconditioner   DIC;
++        tolerance        1e-10;
++        relTol           0;
++    };
++    pd PCG
++    {
++        preconditioner   DIC;
++        tolerance        1e-7;
++        relTol           0.05;
++    };
++    pdFinal PCG
++    {
++        preconditioner   DIC;
++        tolerance        1e-7;
++        relTol           0;
++    };
++    U PBiCG
++    {
++        preconditioner   DILU;
++        tolerance        1e-06;
++        relTol           0;
++    };
++}
++
++PISO
++{
++    momentumPredictor no;
++    nCorrectors     3;
++    nNonOrthogonalCorrectors 1;
++    nGammaCorr      1;
++    nGammaSubCycles 2;
++    cGamma          1;
++}
++
++
++// ************************************************************************* //
+
diff --git a/sci-libs/openfoam-solvers/files/openfoam-solvers-compile-1.4.1_p20080328.patch b/sci-libs/openfoam-solvers/files/openfoam-solvers-compile-1.4.1_p20080328.patch
new file mode 100644 (file)
index 0000000..e2ab13d
--- /dev/null
@@ -0,0 +1,22 @@
+diff -ur OpenFOAM-1.4.1-src/wmake/rules/General/flex++ OpenFOAM-1.4.1/wmake/rules/General/flex++
+--- OpenFOAM-1.4.1-src/wmake/rules/General/flex++      2006-08-18 17:35:12.000000000 +0200
++++ OpenFOAM-1.4.1/wmake/rules/General/flex++  2007-10-28 17:38:46.000000000 +0100
+@@ -1,6 +1,6 @@
+ .SUFFIXES: .L
+-Ltoo = flex++ -f $$SOURCE ; mv lex.yy.cc $*.C ; $(CC) $(c++FLAGS) -c $*.C -o $@ 
++Ltoo = flex --c++ -f $$SOURCE ; mv lex.yy.cc $*.C ; $(CC) $(c++FLAGS) -c $*.C -o $@ 
+ .L.dep:
+       $(MAKE_DEP)
+diff -ur OpenFOAM-1.4.1-src/wmake/rules/General/flex++.test OpenFOAM-1.4.1/wmake/rules/General/flex++.test
+--- OpenFOAM-1.4.1-src/wmake/rules/General/flex++.test 2007-03-13 17:27:58.000000000 +0100
++++ OpenFOAM-1.4.1/wmake/rules/General/flex++.test     2007-10-28 17:39:09.000000000 +0100
+@@ -1,6 +1,6 @@
+ .SUFFIXES: .L
+-Ltoo = flex++ $$SOURCE ; mv lex.yy.cc $*.C ; $(CC) $(c++FLAGS) -c $*.C -o $@ 
++Ltoo = flex --c++ $$SOURCE ; mv lex.yy.cc $*.C ; $(CC) $(c++FLAGS) -c $*.C -o $@ 
+ .L.dep:
+       $(MAKE_DEP)
diff --git a/sci-libs/openfoam-solvers/openfoam-solvers-1.4.1_p20080328.ebuild b/sci-libs/openfoam-solvers/openfoam-solvers-1.4.1_p20080328.ebuild
new file mode 100644 (file)
index 0000000..e26504e
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header:  $
+
+inherit eutils java-pkg-2 versionator multilib toolchain-funcs
+
+MY_PN="OpenFOAM"
+MY_PV=$(get_version_component_range 1-3 ${PV})
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="OpenFOAM - solvers"
+HOMEPAGE="http://www.opencfd.co.uk/openfoam/"
+SRC_URI="mirror://sourceforge/foam/${MY_P}.General.gtgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="!sci-libs/openfoam
+       !sci-libs/openfoam-bin
+       <virtual/jdk-1.5
+       >=sci-libs/openfoam-kernel-${MY_PV}"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+INSDIR="/usr/$(get_libdir)/${MY_PN}/${MY_P}"
+
+pkg_setup() {
+       if ! version_is_at_least 4.1 $(gcc-version) ; then
+               die "${PN} requires >=sys-devel/gcc-4.1 to compile."
+       fi
+
+       java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+       ln -s "${DISTDIR}"/${MY_P}.General.gtgz ${MY_P}.General.tgz
+       unpack ./${MY_P}.General.tgz
+
+       cd "${S}"
+       epatch "${FILESDIR}"/${P}.patch
+       epatch "${FILESDIR}"/${PN}-compile-${PV}.patch
+}
+
+src_compile() {
+       cp -a ${INSDIR}/.bashrc "${S}"/.bashrc || "cannot copy .bashrc"
+       cp -a ${INSDIR}/.${MY_P}/bashrc "${S}"/.${MY_P}/bashrc.bak || "cannot copy bashrc"
+
+       use amd64 && export WM_64="on"
+
+       sed -i -e "s|WM_PROJECT_INST_DIR=/usr/$(get_libdir)/\$WM_PROJECT|WM_PROJECT_INST_DIR="${WORKDIR}"|"     \
+               -e "s|WM_PROJECT_DIR=\$WM_PROJECT_INST_DIR/\$WM_PROJECT-\$WM_PROJECT_VERSION|WM_PROJECT_DIR="${S}"|"    \
+               "${S}"/.${MY_P}/bashrc.bak || die "could not replace source options"
+
+       sed -i -e "s|\$WM_PROJECT_INST_DIR/\$WM_ARCH/bin|"${INSDIR}"/bin|"      \
+               -e "s|FOAM_LIB=\$WM_PROJECT_DIR/lib|FOAM_LIB="${INSDIR}"/lib|"  \
+               -e "s|FOAM_LIBBIN=\$FOAM_LIB|FOAM_LIBBIN=\$WM_PROJECT_DIR/lib/\$WM_OPTIONS|"    \
+               -e "s|AddLib \$FOAM_USER_LIBBIN|AddLib \$FOAM_LIB|"     \
+               -e "s|applications/bin|applications/bin/\$WM_OPTIONS|"  \
+               -e "s|FOAM_MPI_LIBBIN=\$FOAM_LIBBIN/|FOAM_MPI_LIBBIN="${INSDIR}"/lib/|" \
+               "${S}"/.bashrc || die "could not replace paths"
+
+       sed -i -e "s|-L\$(LIB_WM_OPTIONS_DIR)|-L\$(LIB_WM_OPTIONS_DIR) -L${INSDIR}/lib|" \
+               "${S}"/wmake/Makefile || die "could not replace search paths"
+
+       source "${S}"/.${MY_P}/bashrc.bak
+
+       cd "${S}"/applications/solvers
+       wmake all || die "could not build OpenFOAM utilities"
+}
+
+src_install() {
+       insopts -m0755
+       insinto ${INSDIR}/applications/bin
+       doins -r applications/bin/${WM_OPTIONS}/*
+
+       insinto /usr/$(get_libdir)/${MY_PN}/${MY_P}/lib
+       doins -r lib/${WM_OPTIONS}/*
+
+       find "${S}"/applications -type d \( -name "${WM_OPTIONS}" -o -name linuxDebug -o -name linuxOpt \)  | xargs rm -rf
+
+       insopts -m0644
+       insinto ${INSDIR}/applications
+       doins -r applications/solvers
+}