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? |
Hi Matt,
There are a few options but this one could do the trick: Code:
volScalarField tau("tau", 1/(c*omega)); Lieven |
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? |
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 |
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. |