mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: UniformList to wrap a single value into a list-like container
- refactor UniformField accordingly
This commit is contained in:
@ -1,15 +1,73 @@
|
||||
#include "UniformField.H"
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | www.openfoam.com
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2020 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||
|
||||
Application
|
||||
Test-UniformField
|
||||
|
||||
Description
|
||||
Test uniform list/field
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "argList.H"
|
||||
#include "vector.H"
|
||||
#include "IOstreams.H"
|
||||
#include "UniformField.H"
|
||||
|
||||
using namespace Foam;
|
||||
|
||||
int main()
|
||||
template<class T>
|
||||
void printInfo(const UniformList<T>& list, const label i=0)
|
||||
{
|
||||
UniformField<scalar> uf1(13.1);
|
||||
UniformField<vector> uf2(vector(1, 2, 3));
|
||||
Info<< nl
|
||||
<< "value: " << list.value() << nl
|
||||
<< "cast: " << static_cast<const T&>(list) << nl
|
||||
<< "[" << i << "] = " << list[i] << nl;
|
||||
}
|
||||
|
||||
Info<< "uf1 = " << uf1[22] << "; uf2 = " << uf2[1002] << endl;
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// Main program:
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
{
|
||||
UniformField<scalar> fld(3.14159);
|
||||
|
||||
printInfo(fld, -100);
|
||||
|
||||
// Change value
|
||||
fld.value() *= 0.5;
|
||||
|
||||
Info<< nl << "/= 2 " << nl;
|
||||
|
||||
printInfo(fld, -100);
|
||||
}
|
||||
|
||||
{
|
||||
UniformField<vector> fld(vector(1, 2, -1));
|
||||
|
||||
printInfo(fld);
|
||||
|
||||
// Change value
|
||||
fld.value() *= 0.5;
|
||||
|
||||
Info<< nl << "/= 2 " << nl;
|
||||
|
||||
printInfo(fld);
|
||||
}
|
||||
|
||||
|
||||
Info<< "\nEnd\n" << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
Reference in New Issue
Block a user