How OpenFoam stores variable values
Hi Foamers.
I am having difficulties in understanding how OpenFoam stores variables, in particular dependent variables like for example velocity vector and stress tensor field, in the elements, and how it uses them when performing calculations, especially those associated with div schemes for convection and convective related derivatives. Information in the literature, including Jasak thesis, are not very user friendly in this regard. The problem is that my boss wants to know every little detail concerning OpenFoam, and he is having doubts that OpenFoam is any good. Regards, António Martins |
Quote:
http://foam.sourceforge.net/doc/Doxy...ca1069e5ec8d15 you can work back to the GeometricField http://foam.sourceforge.net/doc/Doxy...tricField.html which gets you to a DimensionedField.html http://foam.sourceforge.net/doc/Doxy...onedField.html which has a dimensionSet http://foam.sourceforge.net/doc/Doxygen/html/classFoam_1_1dimensionSet.html for managing consistence in the operations and then there are the various bits of the field (internal, boundary..) BTW: what happens when your boss can't get the same implementation information for a commercial code? I guess he wouldn't use a commercial code then. |
VectorSpace has the actual data members for the tensor and vector components, which it stores as arrays. OpenFOAM defines its own lists, which I doubt are much different from STL lists. Fields are lists with algebra defined (for instance, using operator overloads). GeometricFields are fields with boundaries defined.
The indexing of the lists varies by what is defined. For instance, the diagonal coefficients are scalarFields, indexed by cell number; the owner and neighbour coefficients are also scalarFields, but these are indexed by cell faces. My boss also had concerns about OpenFOAM. It seems the open source can scare some people... but try and find a commercial code that tells you where its TensorFields are stored. |
You can find information about the basic principles in
Weller, Tabor, Jasak, Fureby; A tensorial approach to computational continuum mechanics using object-oriented techniques, 1998 http://powerlab.fsb.hr/ped/kturbo/op...apers/Foam.pdf. Luise |
Quoting David:
Quote:
Code:
00041 // Construct with length specified Regards. |
1 Attachment(s)
Titio, you said:
Quote:
Respect of div schemes for convection and convective related derivatives, it depends on the kind of operations you want to do, if these are implicit operations (fvm) or explicit (fvc) ones. Regards. |
Hi
Hi
i have something like this and i don't know if it is implemented in openfoam it is: fvc::div(nusEff * T) where nusEff is a scalar spacial varying viscosity law to be defined and T is a tensor so if i do fvc::div(nusEff *T), will it be ok in openFoam? or it should be done another way? How to define a new nusEff , lets for example in simpleFoam different from the existing nuEff()? thanks |
All times are GMT -4. The time now is 14:43. |