summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Borm (oli) <oli.borm@web.de>2008-08-28 08:12:58 +0000
committerOliver Borm (oli) <oli.borm@web.de>2008-08-28 08:12:58 +0000
commitf16c8e9d3f6f635ed6288450a8105d48b8b72387 (patch)
tree7a2567ac8f69d22318ef7a617d07e938b6f6c5d8 /sci-libs/openfoam-solvers
parentsci-libs/openfoam-kernel: Update patches for the OpenFOAM Kernel (diff)
downloadsunrise-f16c8e9d3f6f635ed6288450a8105d48b8b72387.tar.gz
sunrise-f16c8e9d3f6f635ed6288450a8105d48b8b72387.tar.bz2
sunrise-f16c8e9d3f6f635ed6288450a8105d48b8b72387.zip
sci-libs/openfoam-solvers: Update patches for the OpenFOAM solvers
svn path=/sunrise/; revision=6867
Diffstat (limited to 'sci-libs/openfoam-solvers')
-rw-r--r--sci-libs/openfoam-solvers/ChangeLog6
-rw-r--r--sci-libs/openfoam-solvers/Manifest5
-rw-r--r--sci-libs/openfoam-solvers/files/openfoam-solvers-1.4.1_p20080827.patch423
-rw-r--r--sci-libs/openfoam-solvers/files/openfoam-solvers-compile-1.4.1_p20080827.patch22
-rw-r--r--sci-libs/openfoam-solvers/openfoam-solvers-1.4.1_p20080827.ebuild85
5 files changed, 540 insertions, 1 deletions
diff --git a/sci-libs/openfoam-solvers/ChangeLog b/sci-libs/openfoam-solvers/ChangeLog
index a44d67d75..c62dff4d3 100644
--- a/sci-libs/openfoam-solvers/ChangeLog
+++ b/sci-libs/openfoam-solvers/ChangeLog
@@ -2,6 +2,12 @@
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 28 Aug 2008; Oliver Borm (boroli) <oli.borm@web.de>
+ +openfoam-solvers-1.4.1_p20080827.ebuild,
+ +files/openfoam-solvers-1.4.1_p20080827.patch,
+ +files/openfoam-solvers-compile-1.4.1_p20080827.patch:
+ Update patches for the OpenFOAM solvers
+
04 Aug 2008; Oliver Borm (boroli) <oli.borm@web.de>
openfoam-solvers-1.4.1_p20080328.ebuild, openfoam-solvers-1.5.ebuild:
Changed version dependencies
diff --git a/sci-libs/openfoam-solvers/Manifest b/sci-libs/openfoam-solvers/Manifest
index 6e06868e6..8bafb815c 100644
--- a/sci-libs/openfoam-solvers/Manifest
+++ b/sci-libs/openfoam-solvers/Manifest
@@ -1,9 +1,12 @@
AUX OpenFOAM-1.5-compile.patch 15006 RMD160 ba8423526b5244e3c30d9d38830a2fe79e3c2a1a SHA1 7d275039cea1fe8a3c28fafeda1fef3665360f83 SHA256 6cb940b6c559a846ec65184db8f7c7966d1bef105d5bdad6ca4afd3f1b4d5b89
AUX openfoam-solvers-1.4.1_p20080328.patch 13843 RMD160 0b00d42d4122e3d83f5bf1ba73f24c03785bfd99 SHA1 229d1cb7c817064ece22982e8753471574222cca SHA256 cc4acd93d8fa73b67e6bc3916d267446ae3a563de5e4b226e9e7b00c3e49deec
+AUX openfoam-solvers-1.4.1_p20080827.patch 15090 RMD160 7d3f6b97e2f7ddb9d4a96d26894e3f3f0af75616 SHA1 50d45192e46c4cce6458091e0e1e715c32745001 SHA256 4555e1345df0e241b3536115118e4833fe0ae3bde0b7600446832725f43e3bdd
AUX openfoam-solvers-compile-1.4.1_p20080328.patch 996 RMD160 0debfeb112bed547317d8d61a3fbdae1490050ba SHA1 87c9b4ace94e4eb7b0c16a39e041ec72fca7877e SHA256 1e6062ff63e4367067c229cc8348f5bbd5e6e96f2b9f109bbacb73f3f16310d5
+AUX openfoam-solvers-compile-1.4.1_p20080827.patch 996 RMD160 0debfeb112bed547317d8d61a3fbdae1490050ba SHA1 87c9b4ace94e4eb7b0c16a39e041ec72fca7877e SHA256 1e6062ff63e4367067c229cc8348f5bbd5e6e96f2b9f109bbacb73f3f16310d5
DIST OpenFOAM-1.4.1.General.gtgz 148526808 RMD160 e25d8bdfa63f15eeeb7b9f1cef09cc26fb7bef74 SHA1 56bbbf5b33c49d08cda35088a65b24d7dc59014f SHA256 c765b36639b42c737bc9ba1ac13c0f66efe20ee4a9f71a6ef987e86ebd50da28
DIST OpenFOAM-1.5.General.gtgz 117334661 RMD160 bccaa9f8f99d31aa6c791d40b30dd9ad4f534041 SHA1 3577f562dc1f54bb32e1e0ef43f979418212c2f7 SHA256 d4cba2d9475523a53cea80b8d39da70d12bfffb9f46e2d1442946ba4a23efd31
EBUILD openfoam-solvers-1.4.1_p20080328.ebuild 2624 RMD160 f61aec1dcf80aa4295ad894ede2af3ba1bab136c SHA1 6a7b3701e3d39744484afe69de684e7d9075ead7 SHA256 567fb499cd396e9058a56e60b5b0ab4a4f03c64bdd0fe3bd9c1de41b5ecddbd4
+EBUILD openfoam-solvers-1.4.1_p20080827.ebuild 2624 RMD160 f61aec1dcf80aa4295ad894ede2af3ba1bab136c SHA1 6a7b3701e3d39744484afe69de684e7d9075ead7 SHA256 567fb499cd396e9058a56e60b5b0ab4a4f03c64bdd0fe3bd9c1de41b5ecddbd4
EBUILD openfoam-solvers-1.5.ebuild 1820 RMD160 166913ae0572bfb57c327eff0d84f4be932cf658 SHA1 276ec3d920d1564cef01861daf86971cbbfda41f SHA256 f3f4506810142d9f7a7a59d8626ddcb11fd1a6e9f67a531a77033c1a5cb5dcf8
-MISC ChangeLog 1529 RMD160 068bd2e5b94f76273524a61457b7b24e6213480f SHA1 023bed95798355ae59ad73bf1759d7f99414dd38 SHA256 629568cc56e99d23c505f160ac322fffd2fb54dd318172936f4244d69c49a984
+MISC ChangeLog 1776 RMD160 0dff7b8fca0699b5b47c8ff42d87950152067bd4 SHA1 e0c9408e6b75bc5875f921ce81c71c6c276731a1 SHA256 2532d9701ba04ca8615a28993a261fdf211b8a9a48bb291470c8012d87cd389f
MISC metadata.xml 170 RMD160 645927a396fdc21cdeb089fe42c5397332420ea6 SHA1 ac7f48a14fec325926f9ce1be8fbf1f311b4f2e4 SHA256 d797a2ec6f9dc516c9f9c1a758ee87ad3e8c43101b5dc76c2f872d5bd4639b42
diff --git a/sci-libs/openfoam-solvers/files/openfoam-solvers-1.4.1_p20080827.patch b/sci-libs/openfoam-solvers/files/openfoam-solvers-1.4.1_p20080827.patch
new file mode 100644
index 000000000..314a2e6e6
--- /dev/null
+++ b/sci-libs/openfoam-solvers/files/openfoam-solvers-1.4.1_p20080827.patch
@@ -0,0 +1,423 @@
+Index: multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C
+===================================================================
+--- applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C (Revision 30)
++++ applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C (Revision 784)
+@@ -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 784)
+@@ -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 784)
+@@ -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 784)
+@@ -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 784)
+@@ -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 784)
+@@ -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 784)
+@@ -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 784)
+@@ -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;
++}
++
++
++// ************************************************************************* //
+
+Index: multiphase/twoPhaseEulerFoam/kineticTheoryModel/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C
+===================================================================
+--- applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModel/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C (Revision 30)
++++ applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModel/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C (Revision 784)
+@@ -126,23 +126,23 @@
+ volScalarField& muf_ = tmuf();
+
+ forAll (D, celli)
+ {
+ if (alpha[celli] > alphaMax.value()-5e-2)
+ {
+ muf_[celli] =
+- 0.5*alpha[celli]*pf[celli]*sin(phi.value())
++ 0.5*pf[celli]*sin(phi.value())
+ /(
+ sqrt(1.0/6.0*(sqr(D[celli].xx() - D[celli].yy())
+ + sqr(D[celli].yy() - D[celli].zz())
+ + sqr(D[celli].zz() - D[celli].xx()))
+ + sqr(D[celli].xy()) + sqr(D[celli].xz())
+ + sqr(D[celli].yz())) + I2Dsmall
+ );
+ }
+ }
+
+- return muf_;
++ return tmuf;
+ }
+
+
+ // ************************************************************************* //
+
diff --git a/sci-libs/openfoam-solvers/files/openfoam-solvers-compile-1.4.1_p20080827.patch b/sci-libs/openfoam-solvers/files/openfoam-solvers-compile-1.4.1_p20080827.patch
new file mode 100644
index 000000000..e2ab13d8e
--- /dev/null
+++ b/sci-libs/openfoam-solvers/files/openfoam-solvers-compile-1.4.1_p20080827.patch
@@ -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_p20080827.ebuild b/sci-libs/openfoam-solvers/openfoam-solvers-1.4.1_p20080827.ebuild
new file mode 100644
index 000000000..857dcc3c5
--- /dev/null
+++ b/sci-libs/openfoam-solvers/openfoam-solvers-1.4.1_p20080827.ebuild
@@ -0,0 +1,85 @@
+# 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=""
+
+DEPEND="!=sci-libs/openfoam-${MY_PV}*
+ !=sci-libs/openfoam-bin-${MY_PV}*
+ <virtual/jdk-1.5
+ =sci-libs/openfoam-kernel-${MY_PV}*"
+
+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
+}