Skip to content
GitLab
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
03c7baf7
Commit
03c7baf7
authored
Jan 14, 2009
by
Andrew Heather
Browse files
adding kinematic->dynamic pressure function object
parent
ee416e81
Changes
8
Hide whitespace changes
Inline
Side-by-side
src/postProcessing/functionObjects/Allwmake
View file @
03c7baf7
...
...
@@ -2,9 +2,9 @@
cd
${
0
%/*
}
||
exit
1
# run from this directory
set
-x
wmake libso field
Average
wmake libso field
wmake libso forces
wmake libso
minMaxField
s
wmake libso
utilitie
s
wmake libso systemCall
# ----------------------------------------------------------------- end-of-file
src/postProcessing/functionObjects/utilities/Make/files
0 → 100644
View file @
03c7baf7
dynamicPressure/dynamicPressure.C
dynamicPressure/dynamicPressureFunctionObject.C
LIB = $(FOAM_LIBBIN)/libutilityFunctionObjects
src/postProcessing/functionObjects/utilities/Make/options
0 → 100644
View file @
03c7baf7
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/sampling/lnInclude
LIB_LIBS = \
-lfiniteVolume \
-lmeshTools \
-lsampling
src/postProcessing/functionObjects/utilities/dynamicPressure/IOdynamicPressure.H
0 → 100644
View file @
03c7baf7
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
Typedef
Foam::IOdynamicPressure
Description
Instance of the generic IOOutputFilter for dynamicPressure.
\*---------------------------------------------------------------------------*/
#ifndef IOdynamicPressure_H
#define IOdynamicPressure_H
#include
"dynamicPressure.H"
#include
"IOOutputFilter.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
typedef
IOOutputFilter
<
dynamicPressure
>
IOdynamicPressure
;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //
src/postProcessing/functionObjects/utilities/dynamicPressure/dynamicPressure.C
0 → 100644
View file @
03c7baf7
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\*---------------------------------------------------------------------------*/
#include
"dynamicPressure.H"
#include
"volFields.H"
#include
"dictionary.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace
Foam
{
defineTypeNameAndDebug
(
dynamicPressure
,
0
);
}
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
bool
Foam
::
dynamicPressure
::
isKinematicPressure
()
{
const
volScalarField
&
p
=
obr_
.
lookupObject
<
volScalarField
>
(
pName_
);
return
p
.
dimensions
()
==
sqr
(
dimLength
)
/
sqr
(
dimTime
);
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam
::
dynamicPressure
::
dynamicPressure
(
const
word
&
name
,
const
objectRegistry
&
obr
,
const
dictionary
&
dict
,
const
bool
loadFromFiles
)
:
name_
(
name
),
obr_
(
obr
),
active_
(
true
),
pName_
(
dict
.
lookup
(
"p"
)),
rho_
(
readScalar
(
dict
.
lookup
(
"rho"
)))
{
// Check if the available mesh is an fvMesh, otherwise deactivate
if
(
!
isA
<
fvMesh
>
(
obr_
))
{
active_
=
false
;
WarningIn
(
"dynamicPressure::dynamicPressure"
"(const objectRegistry& obr, const dictionary& dict)"
)
<<
"No fvMesh available, deactivating."
<<
nl
<<
endl
;
}
else
{
// Check if the pressure is kinematic pressure, otherwise deactivate
if
(
!
isKinematicPressure
())
{
active_
=
false
;
WarningIn
(
"dynamicPressure::dynamicPressure"
"(const objectRegistry& obr, const dictionary& dict)"
)
<<
"Pressure is not kinematic pressure, deactivating."
<<
nl
<<
endl
;
}
}
read
(
dict
);
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam
::
dynamicPressure
::~
dynamicPressure
()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void
Foam
::
dynamicPressure
::
read
(
const
dictionary
&
dict
)
{
if
(
active_
)
{
dict
.
lookup
(
"p"
)
>>
pName_
;
dict
.
lookup
(
"rho"
)
>>
rho_
;
}
}
void
Foam
::
dynamicPressure
::
execute
()
{
// Do nothing - only valid on write
}
void
Foam
::
dynamicPressure
::
write
()
{
if
(
active_
)
{
const
volScalarField
&
p
=
obr_
.
lookupObject
<
volScalarField
>
(
pName_
);
volScalarField
pDyn
(
IOobject
(
"pDyn"
,
obr_
.
time
().
timeName
(),
obr_
,
IOobject
::
NO_READ
),
dimensionedScalar
(
"rho"
,
dimDensity
,
rho_
)
*
p
);
pDyn
.
write
();
}
}
// ************************************************************************* //
src/postProcessing/functionObjects/utilities/dynamicPressure/dynamicPressure.H
0 → 100644
View file @
03c7baf7
/*---------------------------------------------------------------------------*\
========= |
\\ / 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::dynamicPressure
Description
Converts kinematic pressure to dynamic pressure, from the name of the
pressure field, and density.
SourceFiles
dynamicPressure.C
IOdynamicPressure.H
\*---------------------------------------------------------------------------*/
#ifndef dynamicPressure_H
#define dynamicPressure_H
#include
"pointFieldFwd.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
// Forward declaration of classes
class
objectRegistry
;
class
dictionary
;
class
mapPolyMesh
;
/*---------------------------------------------------------------------------*\
Class dynamicPressure Declaration
\*---------------------------------------------------------------------------*/
class
dynamicPressure
{
// Private data
//- Name of this set of dynamicPressure objects
word
name_
;
const
objectRegistry
&
obr_
;
//- on/off switch
bool
active_
;
//- Name of pressure field
word
pName_
;
//- Density
scalar
rho_
;
// Private Member Functions
//- Return true if the pressure field corresponds to kinematic pressure
bool
isKinematicPressure
();
//- Disallow default bitwise copy construct
dynamicPressure
(
const
dynamicPressure
&
);
//- Disallow default bitwise assignment
void
operator
=
(
const
dynamicPressure
&
);
public:
//- Runtime type information
TypeName
(
"dynamicPressure"
);
// Constructors
//- Construct for given objectRegistry and dictionary.
// Allow the possibility to load fields from files
dynamicPressure
(
const
word
&
name
,
const
objectRegistry
&
,
const
dictionary
&
,
const
bool
loadFromFiles
=
false
);
// Destructor
virtual
~
dynamicPressure
();
// Member Functions
//- Return name of the set of dynamicPressure
virtual
const
word
&
name
()
const
{
return
name_
;
}
//- Read the dynamicPressure data
virtual
void
read
(
const
dictionary
&
);
//- Execute
virtual
void
execute
();
//- Calculate the dynamicPressure and write
virtual
void
write
();
//- Update for changes of mesh
virtual
void
updateMesh
(
const
mapPolyMesh
&
)
{}
//- Update for changes of mesh
virtual
void
movePoints
(
const
pointField
&
)
{}
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
}
// End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //
src/postProcessing/functionObjects/utilities/dynamicPressure/dynamicPressureFunctionObject.C
0 → 100644
View file @
03c7baf7
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
\*---------------------------------------------------------------------------*/
#include
"dynamicPressureFunctionObject.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace
Foam
{
defineNamedTemplateTypeNameAndDebug
(
dynamicPressureFunctionObject
,
0
);
addToRunTimeSelectionTable
(
functionObject
,
dynamicPressureFunctionObject
,
dictionary
);
}
// ************************************************************************* //
src/postProcessing/functionObjects/utilities/dynamicPressure/dynamicPressureFunctionObject.H
0 → 100644
View file @
03c7baf7
/*---------------------------------------------------------------------------*\
========= |
\\ / 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
Typedef
Foam::dynamicPressureFunctionObject
Description
FunctionObject wrapper around dynamicPressure to allow it to be created via
the functions list within controlDict.
SourceFiles
dynamicPressureFunctionObject.C
\*---------------------------------------------------------------------------*/
#ifndef dynamicPressureFunctionObject_H
#define dynamicPressureFunctionObject_H
#include
"dynamicPressure.H"
#include
"OutputFilterFunctionObject.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
typedef
OutputFilterFunctionObject
<
dynamicPressure
>
dynamicPressureFunctionObject
;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment