Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Development
openfoam
Commits
2b163418
Commit
2b163418
authored
Sep 29, 2008
by
Andrew Heather
Browse files
Merge branch 'master' of
ssh://hunt/~OpenFOAM/OpenFOAM-dev
parents
5a9cfc95
318b71e2
Changes
46
Hide whitespace changes
Inline
Side-by-side
applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C
View file @
2b163418
...
...
@@ -139,7 +139,7 @@ void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
IOobject
LESPropertiesHeader
(
"
RA
SProperties"
,
"
LE
SProperties"
,
runTime
.
constant
(),
mesh
,
IOobject
::
MUST_READ
,
...
...
src/ODE/ODE/ODE.H
View file @
2b163418
...
...
@@ -34,7 +34,7 @@ Description
#define ODE_H
#include
"scalarField.H"
#include
"Matri
x
.H"
#include
"
scalar
Matri
ces
.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
...
...
@@ -80,7 +80,7 @@ public:
const
scalar
x
,
const
scalarField
&
y
,
scalarField
&
dfdx
,
Matrix
<
scalar
>
&
dfdy
scalarSquareMatrix
&
dfdy
)
const
=
0
;
};
...
...
src/ODE/ODESolvers/KRR4/KRR4.C
View file @
2b163418
...
...
@@ -25,7 +25,6 @@ License
\*---------------------------------------------------------------------------*/
#include
"KRR4.H"
#include
"simpleMatrix.H"
#include
"addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
...
...
@@ -36,11 +35,11 @@ namespace Foam
{
addToRunTimeSelectionTable
(
ODESolver
,
KRR4
,
ODE
);
const
scalar
const
scalar
KRR4
::
safety
=
0
.
9
,
KRR4
::
grow
=
1
.
5
,
KRR4
::
pgrow
=
-
0
.
25
,
KRR4
::
shrink
=
0
.
5
,
KRR4
::
pshrink
=
(
-
1
.
0
/
3
.
0
),
KRR4
::
errcon
=
0
.
1296
;
const
scalar
const
scalar
KRR4
::
gamma
=
1
.
0
/
2
.
0
,
KRR4
::
a21
=
2
.
0
,
KRR4
::
a31
=
48
.
0
/
25
.
0
,
KRR4
::
a32
=
6
.
0
/
25
.
0
,
KRR4
::
c21
=
-
8
.
0
,
KRR4
::
c31
=
372
.
0
/
25
.
0
,
KRR4
::
c32
=
12
.
0
/
5
.
0
,
...
...
@@ -81,8 +80,8 @@ void Foam::KRR4::solve
const
ODE
&
ode
,
scalar
&
x
,
scalarField
&
y
,
scalarField
&
dydx
,
const
scalar
eps
,
scalarField
&
dydx
,
const
scalar
eps
,
const
scalarField
&
yScale
,
const
scalar
hTry
,
scalar
&
hDid
,
...
...
@@ -109,14 +108,14 @@ void Foam::KRR4::solve
a_
[
i
][
i
]
+=
1
.
0
/
(
gamma
*
h
);
}
simpleMatrix
<
scalar
>::
LUDecompose
(
a_
,
pivotIndices_
);
LUDecompose
(
a_
,
pivotIndices_
);
for
(
register
label
i
=
0
;
i
<
n_
;
i
++
)
{
g1_
[
i
]
=
dydxTemp_
[
i
]
+
h
*
c1X
*
dfdx_
[
i
];
}
simpleMatrix
<
scalar
>::
LUBacksubstitute
(
a_
,
pivotIndices_
,
g1_
);
LUBacksubstitute
(
a_
,
pivotIndices_
,
g1_
);
for
(
register
label
i
=
0
;
i
<
n_
;
i
++
)
{
...
...
@@ -131,7 +130,7 @@ void Foam::KRR4::solve
g2_
[
i
]
=
dydx_
[
i
]
+
h
*
c2X
*
dfdx_
[
i
]
+
c21
*
g1_
[
i
]
/
h
;
}
simpleMatrix
<
scalar
>::
LUBacksubstitute
(
a_
,
pivotIndices_
,
g2_
);
LUBacksubstitute
(
a_
,
pivotIndices_
,
g2_
);
for
(
register
label
i
=
0
;
i
<
n_
;
i
++
)
{
...
...
@@ -146,7 +145,7 @@ void Foam::KRR4::solve
g3_
[
i
]
=
dydx
[
i
]
+
h
*
c3X
*
dfdx_
[
i
]
+
(
c31
*
g1_
[
i
]
+
c32
*
g2_
[
i
])
/
h
;
}
simpleMatrix
<
scalar
>::
LUBacksubstitute
(
a_
,
pivotIndices_
,
g3_
);
LUBacksubstitute
(
a_
,
pivotIndices_
,
g3_
);
for
(
register
label
i
=
0
;
i
<
n_
;
i
++
)
{
...
...
@@ -154,7 +153,7 @@ void Foam::KRR4::solve
+
(
c41
*
g1_
[
i
]
+
c42
*
g2_
[
i
]
+
c43
*
g3_
[
i
])
/
h
;
}
simpleMatrix
<
scalar
>::
LUBacksubstitute
(
a_
,
pivotIndices_
,
g4_
);
LUBacksubstitute
(
a_
,
pivotIndices_
,
g4_
);
for
(
register
label
i
=
0
;
i
<
n_
;
i
++
)
{
...
...
src/ODE/ODESolvers/KRR4/KRR4.H
View file @
2b163418
...
...
@@ -62,15 +62,15 @@ class KRR4
mutable
scalarField
g4_
;
mutable
scalarField
yErr_
;
mutable
scalarField
dfdx_
;
mutable
Matrix
<
scalar
>
dfdy_
;
mutable
Matrix
<
scalar
>
a_
;
mutable
scalarSquareMatrix
dfdy_
;
mutable
scalarSquareMatrix
a_
;
mutable
labelList
pivotIndices_
;
static
const
int
maxtry
=
40
;
static
const
scalar
safety
,
grow
,
pgrow
,
shrink
,
pshrink
,
errcon
;
static
const
scalar
static
const
scalar
gamma
,
a21
,
a31
,
a32
,
c21
,
c31
,
c32
,
c41
,
c42
,
c43
,
...
...
src/ODE/ODESolvers/SIBS/SIBS.H
View file @
2b163418
...
...
@@ -60,8 +60,8 @@ class SIBS
static
const
scalar
safe1
,
safe2
,
redMax
,
redMin
,
scaleMX
;
mutable
scalarField
a_
;
mutable
Matrix
<
scalar
>
alpha_
;
mutable
Matrix
<
scalar
>
d_p_
;
mutable
scalarSquareMatrix
alpha_
;
mutable
scalarSquareMatrix
d_p_
;
mutable
scalarField
x_p_
;
mutable
scalarField
err_
;
...
...
@@ -69,7 +69,7 @@ class SIBS
mutable
scalarField
ySeq_
;
mutable
scalarField
yErr_
;
mutable
scalarField
dfdx_
;
mutable
Matrix
<
scalar
>
dfdy_
;
mutable
scalarSquareMatrix
dfdy_
;
mutable
label
first_
,
kMax_
,
kOpt_
;
mutable
scalar
epsOld_
,
xNew_
;
...
...
@@ -82,7 +82,7 @@ void SIMPR
const
scalarField
&
y
,
const
scalarField
&
dydx
,
const
scalarField
&
dfdx
,
const
Matrix
<
scalar
>
&
dfdy
,
const
scalarSquareMatrix
&
dfdy
,
const
scalar
deltaX
,
const
label
nSteps
,
scalarField
&
yEnd
...
...
@@ -97,7 +97,7 @@ void polyExtrapolate
scalarField
&
yz
,
scalarField
&
dy
,
scalarField
&
x_p
,
Matrix
<
scalar
>
&
d_p
scalarSquareMatrix
&
d_p
)
const
;
...
...
src/ODE/ODESolvers/SIBS/SIMPR.C
View file @
2b163418
...
...
@@ -25,7 +25,6 @@ License
\*---------------------------------------------------------------------------*/
#include
"SIBS.H"
#include
"simpleMatrix.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
...
...
@@ -36,7 +35,7 @@ void Foam::SIBS::SIMPR
const
scalarField
&
y
,
const
scalarField
&
dydx
,
const
scalarField
&
dfdx
,
const
Matrix
<
scalar
>
&
dfdy
,
const
scalarSquareMatrix
&
dfdy
,
const
scalar
deltaX
,
const
label
nSteps
,
scalarField
&
yEnd
...
...
@@ -44,7 +43,7 @@ void Foam::SIBS::SIMPR
{
scalar
h
=
deltaX
/
nSteps
;
Matrix
<
scalar
>
a
(
n_
,
n_
);
scalarSquareMatrix
a
(
n_
);
for
(
register
label
i
=
0
;
i
<
n_
;
i
++
)
{
for
(
register
label
j
=
0
;
j
<
n_
;
j
++
)
...
...
@@ -55,14 +54,14 @@ void Foam::SIBS::SIMPR
}
labelList
pivotIndices
(
n_
);
simpleMatrix
<
scalar
>::
LUDecompose
(
a
,
pivotIndices
);
LUDecompose
(
a
,
pivotIndices
);
for
(
register
label
i
=
0
;
i
<
n_
;
i
++
)
{
yEnd
[
i
]
=
h
*
(
dydx
[
i
]
+
h
*
dfdx
[
i
]);
}
simpleMatrix
<
scalar
>::
LUBacksubstitute
(
a
,
pivotIndices
,
yEnd
);
LUBacksubstitute
(
a
,
pivotIndices
,
yEnd
);
scalarField
del
(
yEnd
);
scalarField
ytemp
(
n_
);
...
...
@@ -83,7 +82,7 @@ void Foam::SIBS::SIMPR
yEnd
[
i
]
=
h
*
yEnd
[
i
]
-
del
[
i
];
}
simpleMatrix
<
scalar
>::
LUBacksubstitute
(
a
,
pivotIndices
,
yEnd
);
LUBacksubstitute
(
a
,
pivotIndices
,
yEnd
);
for
(
register
label
i
=
0
;
i
<
n_
;
i
++
)
{
...
...
@@ -99,7 +98,7 @@ void Foam::SIBS::SIMPR
yEnd
[
i
]
=
h
*
yEnd
[
i
]
-
del
[
i
];
}
simpleMatrix
<
scalar
>::
LUBacksubstitute
(
a
,
pivotIndices
,
yEnd
);
LUBacksubstitute
(
a
,
pivotIndices
,
yEnd
);
for
(
register
label
i
=
0
;
i
<
n_
;
i
++
)
{
...
...
src/ODE/ODESolvers/SIBS/polyExtrapolate.C
View file @
2b163418
...
...
@@ -36,7 +36,7 @@ void Foam::SIBS::polyExtrapolate
scalarField
&
yz
,
scalarField
&
dy
,
scalarField
&
x
,
Matrix
<
scalar
>
&
d
scalarSquareMatrix
&
d
)
const
{
label
n
=
yz
.
size
();
...
...
src/OSspecific/Unix/regularExpression.H
0 → 100644
View file @
2b163418
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2008 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
Foam::regularExpression
Description
Wrapper around regular expressions.
SourceFiles
\*---------------------------------------------------------------------------*/
#ifndef regularExpression_H
#define regularExpression_H
#include
<sys/types.h>
#include
<regex.h>
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
/*---------------------------------------------------------------------------*\
Class regularExpression Declaration
\*---------------------------------------------------------------------------*/
class
regularExpression
{
// Private data
//- Precompiled regular expression
regex_t
*
preg_
;
// Private member functions
//- Disallow default bitwise copy construct
regularExpression
(
const
regularExpression
&
);
//- Disallow default bitwise assignment
void
operator
=
(
const
regularExpression
&
);
public:
// Constructors
//- Construct from string
inline
regularExpression
(
const
string
&
s
)
{
preg_
=
new
regex_t
;
if
(
regcomp
(
preg_
,
s
.
c_str
(),
REG_EXTENDED
|
REG_NOSUB
)
!=
0
)
{
FatalErrorIn
(
"regularExpression::regularExpression(const char*)"
)
<<
"Failed to compile regular expression "
<<
s
<<
exit
(
FatalError
);
}
}
// Destructor
//- Construct from string
inline
~
regularExpression
()
{
if
(
preg_
)
{
regfree
(
preg_
);
delete
preg_
;
}
}
// Member functions
//- Matches?
inline
bool
matches
(
const
string
&
s
)
{
size_t
nmatch
=
0
;
regmatch_t
*
pmatch
=
NULL
;
return
regexec
(
preg_
,
s
.
c_str
(),
nmatch
,
pmatch
,
0
)
==
0
;
}
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
}
// End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //
src/OpenFOAM/Make/files
View file @
2b163418
...
...
@@ -177,8 +177,9 @@ dimensionedTypes/dimensionedTensor/dimensionedTensor.C
matrices/solution/solution.C
scalarMatrix = matrices/scalarMatrix
$(scalarMatrix)/scalarMatrix.C
scalarMatrices = matrices/scalarMatrices
$(scalarMatrices)/scalarMatrices.C
$(scalarMatrices)/SVD/SVD.C
LUscalarMatrix = matrices/LUscalarMatrix
$(LUscalarMatrix)/LUscalarMatrix.C
...
...
src/OpenFOAM/db/IOstreams/Pstreams/PstreamCommsStruct.C
View file @
2b163418
...
...
@@ -22,8 +22,6 @@ License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Description
\*---------------------------------------------------------------------------*/
#include
"Pstream.H"
...
...
src/OpenFOAM/matrices/DiagonalMatrix/DiagonalMatrix.C
0 → 100644
View file @
2b163418
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include
"DiagonalMatrix.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
template
<
class
Type
>
template
<
class
Form
>
Foam
::
DiagonalMatrix
<
Type
>::
DiagonalMatrix
(
const
Matrix
<
Form
,
Type
>&
a
)
:
List
<
Type
>
(
min
(
a
.
n
(),
a
.
m
()))
{
forAll
(
*
this
,
i
)
{
this
->
operator
[](
i
)
=
a
[
i
][
i
];
}
}
template
<
class
Type
>
Foam
::
DiagonalMatrix
<
Type
>::
DiagonalMatrix
(
const
label
size
)
:
List
<
Type
>
(
size
)
{}
template
<
class
Type
>
Foam
::
DiagonalMatrix
<
Type
>::
DiagonalMatrix
(
const
label
size
,
const
Type
&
val
)
:
List
<
Type
>
(
size
,
val
)
{}
template
<
class
Type
>
Foam
::
DiagonalMatrix
<
Type
>&
Foam
::
DiagonalMatrix
<
Type
>::
invert
()
{
forAll
(
*
this
,
i
)
{
Type
x
=
this
->
operator
[](
i
);
if
(
mag
(
x
)
<
VSMALL
)
{
this
->
operator
[](
i
)
=
Type
(
0
);
}
else
{
this
->
operator
[](
i
)
=
Type
(
1
)
/
x
;
}
}
return
this
;
}
template
<
class
Type
>
Foam
::
DiagonalMatrix
<
Type
>
Foam
::
inv
(
const
DiagonalMatrix
<
Type
>&
A
)
{
DiagonalMatrix
<
Type
>
Ainv
=
A
;
forAll
(
A
,
i
)
{
Type
x
=
A
[
i
];
if
(
mag
(
x
)
<
VSMALL
)
{
Ainv
[
i
]
=
Type
(
0
);
}
else
{
Ainv
[
i
]
=
Type
(
1
)
/
x
;
}
}
return
Ainv
;
}
// ************************************************************************* //
src/OpenFOAM/matrices/DiagonalMatrix/DiagonalMatrix.H
0 → 100644
View file @
2b163418
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
Foam::DiagonalMatrix<Type>
Description
DiagonalMatrix<Type> is a 2D diagonal matrix of objects
of type Type, size nxn
SourceFiles
DiagonalMatrix.C
\*---------------------------------------------------------------------------*/
#ifndef DiagonalMatrix_H
#define DiagonalMatrix_H
#include
"List.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
// * * * * * * * * * * * * Class Forward declaration * * * * * * * * * * * //
template
<
class
Form
,
class
Type
>
class
Matrix
;
/*---------------------------------------------------------------------------*\
Class DiagonalMatrix Declaration
\*---------------------------------------------------------------------------*/
template
<
class
Type
>
class
DiagonalMatrix
:
public
List
<
Type
>
{
public:
// Constructors
//- Construct from diagonal component of a Matrix
template
<
class
Form
>
DiagonalMatrix
<
Type
>
(
const
Matrix
<
Form
,
Type
>&
);
//- Construct empty from size
DiagonalMatrix
<
Type
>
(
const
label
size
);
//- Construct from size and a value
DiagonalMatrix
<
Type
>
(
const
label
,
const
Type
&
);
// Member functions
//- Invert the diaganol matrix and return itself
DiagonalMatrix
<
Type
>&
invert
();
};
// Global functions
//- Return the diagonal Matrix inverse
template
<
class
Type
>
DiagonalMatrix
<
Type
>
inv
(
const
DiagonalMatrix
<
Type
>&
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
}
// End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
# include "DiagonalMatrix.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //
src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrix.C
View file @
2b163418
...
...
@@ -31,9 +31,9 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam
::
LUscalarMatrix
::
LUscalarMatrix
(
const
Matrix
<
scalar
>
&
matrix
)
Foam
::
LUscalarMatrix
::
LUscalarMatrix
(
const
scalarSquareMatrix
&
matrix
)
:
scalarMatrix
(
matrix
),
scalar
Square
Matrix
(
matrix
),
pivotIndices_
(
n
())
{
LUDecompose
(
*
this
,
pivotIndices_
);
...
...
@@ -101,7 +101,7 @@ Foam::LUscalarMatrix::LUscalarMatrix
nCells
+=
lduMatrices
[
i
].
size
();
}
Matrix
<
scalar
>
m
(
nCells
,
nCells
,
0
.
0
);
scalarSquareMatrix
m
(
nCells
,
0
.
0
);
transfer
(
m
);
convert
(
lduMatrices
);
}
...
...
@@ -109,7 +109,7 @@ Foam::LUscalarMatrix::LUscalarMatrix
else
{
label
nCells
=
ldum
.
lduAddr
().
size
();
Matrix
<
scalar
>
m
(
nCells
,
nCells
,
0
.
0
);
scalarSquareMatrix
m
(
nCells
,
0
.
0
);
transfer
(
m
);
convert
(
ldum
,
interfaceCoeffs
,
interfaces
);
}
...
...
src/OpenFOAM/matrices/LUscalarMatrix/LUscalarMatrix.H
View file @
2b163418
...
...
@@ -36,7 +36,7 @@ SourceFiles
#ifndef LUscalarMatrix_H
#define LUscalarMatrix_H
#include
"scalarMatri
x
.H"
#include
"scalarMatri
ces
.H"