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
9d2ba297
Commit
9d2ba297
authored
Mar 16, 2017
by
Henry Weller
Browse files
Function1: Added zero and one constant functions for convenience
parent
1fea6fee
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/OpenFOAM/primitives/functions/Function1/One/OneConstant.C
0 → 100644
View file @
9d2ba297
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2017 OpenFOAM Foundation
\\/ 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 3 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, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include
"OneConstant.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template
<
class
Type
>
Foam
::
Function1Types
::
OneConstant
<
Type
>::
OneConstant
(
const
word
&
entryName
)
:
Function1
<
Type
>
(
entryName
)
{}
template
<
class
Type
>
Foam
::
Function1Types
::
OneConstant
<
Type
>::
OneConstant
(
const
word
&
entryName
,
const
dictionary
&
dict
)
:
Function1
<
Type
>
(
entryName
)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
template
<
class
Type
>
Foam
::
Function1Types
::
OneConstant
<
Type
>::~
OneConstant
()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template
<
class
Type
>
Type
Foam
::
Function1Types
::
OneConstant
<
Type
>::
value
(
const
scalar
x
)
const
{
return
pTraits
<
Type
>::
one
;
}
template
<
class
Type
>
Type
Foam
::
Function1Types
::
OneConstant
<
Type
>::
integrate
(
const
scalar
x1
,
const
scalar
x2
)
const
{
return
(
x2
-
x1
)
*
pTraits
<
Type
>::
one
;
}
template
<
class
Type
>
void
Foam
::
Function1Types
::
OneConstant
<
Type
>::
writeData
(
Ostream
&
os
)
const
{
Function1
<
Type
>::
writeData
(
os
);
os
<<
token
::
END_STATEMENT
<<
nl
;
}
// ************************************************************************* //
src/OpenFOAM/primitives/functions/Function1/One/OneConstant.H
0 → 100644
View file @
9d2ba297
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
\\/ 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 3 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, see <http://www.gnu.org/licenses/>.
Class
Foam::Function1Types::OneConstant
Description
Templated function that returns the corresponding 1 (one).
Usage:
\verbatim
<entryName> one;
\endverbatim
SourceFiles
OneConstant.C
\*---------------------------------------------------------------------------*/
#ifndef OneConstant_H
#define OneConstant_H
#include
"Function1.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
namespace
Function1Types
{
/*---------------------------------------------------------------------------*\
Class OneConstant Declaration
\*---------------------------------------------------------------------------*/
template
<
class
Type
>
class
OneConstant
:
public
Function1
<
Type
>
{
// Private Member Functions
//- Disallow default bitwise assignment
void
operator
=
(
const
OneConstant
<
Type
>&
);
public:
// Runtime type information
TypeName
(
"one"
);
// Constructors
//- Construct from entry name
OneConstant
(
const
word
&
entryName
);
//- Construct from entry name and dictionary
OneConstant
(
const
word
&
entryName
,
const
dictionary
&
dict
);
//- Construct and return a clone
virtual
tmp
<
Function1
<
Type
>>
clone
()
const
{
return
tmp
<
Function1
<
Type
>>
(
new
OneConstant
<
Type
>
(
*
this
));
}
//- Destructor
virtual
~
OneConstant
();
// Member Functions
//- Return constant value
Type
value
(
const
scalar
)
const
;
//- Integrate between two values
Type
integrate
(
const
scalar
x1
,
const
scalar
x2
)
const
;
//- Write in dictionary format
virtual
void
writeData
(
Ostream
&
os
)
const
;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
}
// End namespace Function1Types
}
// End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
#include
"OneConstant.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //
src/OpenFOAM/primitives/functions/Function1/Zero/ZeroConstant.C
0 → 100644
View file @
9d2ba297
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2017 OpenFOAM Foundation
\\/ 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 3 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, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include
"ZeroConstant.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template
<
class
Type
>
Foam
::
Function1Types
::
ZeroConstant
<
Type
>::
ZeroConstant
(
const
word
&
entryName
,
const
dictionary
&
dict
)
:
Function1
<
Type
>
(
entryName
)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
template
<
class
Type
>
Foam
::
Function1Types
::
ZeroConstant
<
Type
>::~
ZeroConstant
()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template
<
class
Type
>
Type
Foam
::
Function1Types
::
ZeroConstant
<
Type
>::
value
(
const
scalar
x
)
const
{
return
pTraits
<
Type
>::
zero
;
}
template
<
class
Type
>
Type
Foam
::
Function1Types
::
ZeroConstant
<
Type
>::
integrate
(
const
scalar
x1
,
const
scalar
x2
)
const
{
return
pTraits
<
Type
>::
zero
;
}
template
<
class
Type
>
void
Foam
::
Function1Types
::
ZeroConstant
<
Type
>::
writeData
(
Ostream
&
os
)
const
{
Function1
<
Type
>::
writeData
(
os
);
os
<<
token
::
END_STATEMENT
<<
nl
;
}
// ************************************************************************* //
src/OpenFOAM/primitives/functions/Function1/Zero/ZeroConstant.H
0 → 100644
View file @
9d2ba297
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
\\/ 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 3 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, see <http://www.gnu.org/licenses/>.
Class
Foam::Function1Types::ZeroConstant
Description
Templated function that returns the corresponding 0 (zero).
Usage:
\verbatim
<entryName> zero;
\endverbatim
SourceFiles
ZeroConstant.C
\*---------------------------------------------------------------------------*/
#ifndef ZeroConstant_H
#define ZeroConstant_H
#include
"Function1.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
namespace
Function1Types
{
/*---------------------------------------------------------------------------*\
Class ZeroConstant Declaration
\*---------------------------------------------------------------------------*/
template
<
class
Type
>
class
ZeroConstant
:
public
Function1
<
Type
>
{
// Private Member Functions
//- Disallow default bitwise assignment
void
operator
=
(
const
ZeroConstant
<
Type
>&
);
public:
// Runtime type information
TypeName
(
"zero"
);
// Constructors
//- Construct from entry name and dictionary
ZeroConstant
(
const
word
&
entryName
,
const
dictionary
&
dict
);
//- Construct and return a clzero
virtual
tmp
<
Function1
<
Type
>>
clzero
()
const
{
return
tmp
<
Function1
<
Type
>>
(
new
ZeroConstant
<
Type
>
(
*
this
));
}
//- Destructor
virtual
~
ZeroConstant
();
// Member Functions
//- Return constant value
Type
value
(
const
scalar
)
const
;
//- Integrate between two values
Type
integrate
(
const
scalar
x1
,
const
scalar
x2
)
const
;
//- Write in dictionary format
virtual
void
writeData
(
Ostream
&
os
)
const
;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
}
// End namespace Function1Types
}
// End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
#include
"ZeroConstant.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#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