CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   Declaring a New Scalar Field (https://www.cfd-online.com/Forums/openfoam-programming-development/118823-declaring-new-scalar-field.html)

Redfocus June 5, 2013 04:40

Declaring a New Scalar Field
 
Greetings,

I've just recently started working with openFOAM and this is my first experience programming in C++ or anything similar. I have MATLAB experience but that's about it. I've worked through some tutorials but am still having trouble getting my feet on the ground.

I am writing a solver for a transport equation and would like to define a new constant tau,
which would be given by

tau = 1/(c*omega)

where c is some constant and omega is a volScalarField I am reading from.

tau would ideally then be used in a solve function.

What would be the best way to implement this in my solver?

Lieven June 5, 2013 09:21

Hi Matt,

There are a few options but this one could do the trick:
Code:

volScalarField tau("tau", 1/(c*omega));
I hope this is clear! If not, just say so ;-)

Lieven

Redfocus June 5, 2013 09:34

That worked perfectly, I'm just amazed I couldn't find anything written like that anywhere. That was very helpful, thank you!

If you had time, could you quickly explain the difference between declaring a volScalarField and a ScalarField?

Lieven June 5, 2013 09:48

Hi Matt,

To put maybe a bit overly simplistic but I hope you get the point:
A volScalarField is constructed from the internal field and the boundary fields of a variable. Both the internalField and the boundaryfields are (dimensioned) scalarFields. So a scalarField (you can compare this with a simple 1D-array in matlab) is one of the buildings blocks of a volScalarField.

Just for your information, all information about the code structure, definitions of classes etc. can be found at http://www.openfoam.org/docs/cpp/
It's in the beginning a bit overwhelming to work with it, but after a while you get used to it and you can really learn a lot from it.

Cheers,

Lieven

Redfocus June 5, 2013 10:00

Ok, that makes a good bit more sense. So when I'm defining a scalar field throughout my mesh I'm using volScalarField, which is composed of scalarFields.

Thanks again for the help, I really appreciate it.

-Matt


All times are GMT -4. The time now is 07:27.