|
[Sponsors] |
Interpolation between faces and points of a polyPatch |
![]() |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
![]() |
![]() |
#1 |
Senior Member
Markus Hartinger
Join Date: Mar 2009
Posts: 102
Rep Power: 17 ![]() |
Hello,
for the calculation of the movement of some boundary points I am doing some calulations on a polyPatch, and I would like to store that data(scalar) somewhere. I guess, a "surfaceScalarField" would be appropriate, although I only need to store the data for that patch. A "surfaceScalarField" stores the data at the face centres, right? From there I'd like to interplate those values to the points of the boundary and store that data as well. What is the class to use to store data in boundary points? And how do I do the interpolation, if it's already implemented? Thank you markus |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Join Date: Mar 2009
Posts: 854
Rep Power: 22 ![]() |
If you are storing data for a single patch and are not concerned about the patch field type fvPatchField should be used for face-centre data and pointPatchField for vertex data. Both are templated on the type but there are also convenient typedefs for the common types e.g. fvPatchScalarField and pointPatchScalarField.
|
|
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Markus Hartinger
Join Date: Mar 2009
Posts: 102
Rep Power: 17 ![]() |
If I am using a fvPatchScalarField it would be constructed with a fvPatch and an internal Field. Where do I get the internal Field from and why does it need one anyways?
thanks markus |
|
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Join Date: Mar 2009
Posts: 854
Rep Power: 22 ![]() |
A patch field needs an internal field from which to evaluate the boundary condition. If you do not have a corresponding internal field then you probably should be using scalarField rather than fvPatchScalarField to store your patch data.
|
|
![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Markus Hartinger
Join Date: Mar 2009
Posts: 102
Rep Power: 17 ![]() |
Ah, I don't have an corresponding internal field, then I'll use a scalarField for the face centered values.
I could use another scalarField for the corresponding point values and do the interpolation myself. But I would obviously prefer an existing solution for the interpolation. Is there something? thanks markus |
|
![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,906
Rep Power: 33 ![]() |
All done for you and ready to use - isn't FOAM wonderful! :-)
Make an object of type primitivePatchInterpolation (or templated PrimitivePatchInterpolation). The functions are in: ~/OpenFOAM/OpenFOAM-1.1/src/OpenFOAM/lnInclude/PrimitivePatchInterpolation.H and you've got: //- Interpolate from faces to points template<class> tmp<field<type> > faceToPointInterpolate ( const Field<type>& ff ) const; //- Interpolate from points to faces template<class> tmp<field<type> > pointToFaceInterpolate ( const Field<type>& pf ) const; //- Interpolate from faces to edges template<class> tmp<field<type> > faceToEdgeInterpolate ( const Field<type>& ff ) const; Enjoy (in enery sense of the word!), Hrv
__________________
Hrvoje Jasak Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk |
|
![]() |
![]() |
![]() |
![]() |
#7 |
Senior Member
Markus Hartinger
Join Date: Mar 2009
Posts: 102
Rep Power: 17 ![]() |
I'll try that
thank you markus |
|
![]() |
![]() |
![]() |
![]() |
#8 | |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 51 ![]() ![]() ![]() |
Quote:
just one question. Is there some publication of how to interpolate from faces to points? Otherwise I will check it out in the source code but a reference would be very nice. Kind regards Tobi
__________________
Keep foaming, Tobias Holzmann |
||
![]() |
![]() |
![]() |
![]() |
#10 |
Senior Member
Join Date: Jan 2010
Location: Stuttgart
Posts: 150
Rep Power: 16 ![]() |
Hi,
can you please explain how to do the interpolation? Kind regards Chrisi |
|
![]() |
![]() |
![]() |
![]() |
#12 |
Senior Member
Join Date: Jan 2010
Location: Stuttgart
Posts: 150
Rep Power: 16 ![]() |
Oh that's nice!
So my idea is to write a utility that interpolates a volScalarField to the patches (bc: zeroGradient) writing out the node values on every patch. Kind regards Chrisi |
|
![]() |
![]() |
![]() |
![]() |
#13 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 51 ![]() ![]() ![]() |
Hi Chris and all other,
here you find the face-to-point interpolation that is used by OpenFOAM: http://holzmann-cfd.de/index.php/en/publications
__________________
Keep foaming, Tobias Holzmann |
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Field interpolation in mesh points code | jzlam | OpenFOAM Post-Processing | 2 | December 14, 2010 16:48 |
interpolation on faces and wall boundaries | ca | Main CFD Forum | 0 | September 2, 2008 12:42 |
[Technical] Mapping cell faces to other cell faces | doug | OpenFOAM Meshing & Mesh Conversion | 5 | March 30, 2007 02:43 |
Mesh to points cells faces and boundaries files | billy | OpenFOAM Pre-Processing | 19 | April 18, 2006 15:38 |
Mesh hard points on faces | Ashton Peters | FLUENT | 4 | March 15, 2005 15:43 |