# question regarding the codes for setting inlet flow

 Register Blogs Members List Search Today's Posts Mark Forums Read

 November 10, 2009, 04:59 question regarding the codes for setting inlet flow #1 New Member   Alice Join Date: Nov 2009 Posts: 16 Rep Power: 8 Dear all, I have a question about writing the codes for the inlet flow.I would like to know what's the difference between the following two codes? Code 1: inletk==1.5*pow(0.11*Foam:: pow(z*2,-0.18),2)*magSqr(inletU) Code 2: inletk==1.5*pow(0.11*pow(z*2,-0.18),2)*magSqr(inletU) actually what's the difference in the meaning between "Foam:: pow" and "pow"? Thanks

 November 10, 2009, 06:46 #2 Senior Member   Kathrin Kissling Join Date: Mar 2009 Location: Besigheim, Germany Posts: 134 Rep Power: 9 Dear Alicelin, you will find the difference if you try to do something like this: volScalarField a; volScalarField b = Foam:ow(a,2); or volScalarField a; volScalarField b = pow(a,2); The second one will fail. The problem is pow is firstly only defined for scalars (doubles, float, ...) If you try to work on a derrived type like volScalarField or scalarField, which are list of scalars, in c you would have need to go: for (i=0; i< sizeOfField; i++) b[i] = pow(a[i],2) Foam does this for you. It automatically loops if you work on scalarFields. But Foam needs to know, whether it should do that or not. So you have to tell it the namespace, which is FOAM and the belonging function which is pow in your case. So the macro is FOAM:ow(, double); Foam will automatically take a look on what is and work accordingly. Understood? If you have questions regarding this, please feel free to ask! Kathrin

 November 11, 2009, 01:11 #3 New Member   Alice Join Date: Nov 2009 Posts: 16 Rep Power: 8 Dear Kathrin, Really thanks for your reply! just one more question to ask.....what're "doubles" and "float" that you've mentioned in your post? Alice

 November 11, 2009, 03:05 #4 Senior Member   Kathrin Kissling Join Date: Mar 2009 Location: Besigheim, Germany Posts: 134 Rep Power: 9 Dear Alice, double and float are data types for floating point numbers in c/c++. The difference is in the size, which can be stored and therefore in its precision. Float gives you numbers in single precision, double in double precision. This is really fundamental c/c++. Please refer to a textbook or webpages on c/c++. You will find it very difficult to work with OpenFOAM if you don't have experience with c++ or at least c. Hope this helps! Best Kathrin

 November 11, 2009, 04:04 #5 New Member   Alice Join Date: Nov 2009 Posts: 16 Rep Power: 8 Dear Kathrin, Really thanks a lot! Alice

 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post Katie FLUENT 2 March 3, 2012 18:35 richard FLUENT 2 June 1, 2008 11:44 manu FLUENT 0 February 5, 2008 14:24 Silvia FLUENT 1 August 12, 2005 13:55 Mohammad Kermani Main CFD Forum 25 December 29, 2000 19:46

All times are GMT -4. The time now is 18:58.