CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Community Contributions

[swak4Foam] Problem with groovyTotalPressure

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 12, 2014, 11:25
Default Problem with groovyTotalPressure
  #1
New Member
 
towanda
Join Date: Aug 2014
Posts: 20
Rep Power: 11
towanda is on a distinguished road
Dear community of Foamers,
I am working with groovyTotalPressure BC. It works fine in several tests, but in some cases when I am trying to run parallelized cases, the evaluation of the "p0Expression" seems to fail.

I have made some tests and the: p0Expression "A+B+C..."; is well recognized by the BC, but the evaluation of that expression which takes place in line:

p0()=driver_.evaluate<scalar>(this->p0Expression_);

seems to fail when I am running in parallel with several processors.

For the case of interest regarding the number of processors, the patch where I am applying this BC is completly contained in the same domain.

At the moment, I am running out of ideas to see which could be the problem or in what manner can I understand/figure it out what is going on.


I will appreciate comments, ideas or some help


Best regards.

Last edited by towanda; October 15, 2014 at 14:44.
towanda is offline   Reply With Quote

Old   October 13, 2014, 09:39
Default
  #2
Assistant Moderator
 
Bernhard Gschaider
Join Date: Mar 2009
Posts: 4,225
Rep Power: 51
gschaider will become famous soon enoughgschaider will become famous soon enough
Quote:
Originally Posted by towanda View Post
Dear community of Foamers,
I am working with groovyTotalPressure BC. It works fine in several tests, but in some cases when I am trying to run parallelized cases, the evaluation of the "p0Expression" seems to fail.

I have made some tests and the: p0Expression "A+B+C..."; is well recognized by the BC, but the evaluation of that expression which takes place in line:

p0()=driver_.evaluate<scalar>(this->p0Expression_);

seems to fail when I am running in parallel with several processors.

For the case of interest regarding the number of processors, the patch where I am applying this BC is completly contained in the same domain.

At the moment, I am running out of ideas to see which could be the problem or in what manner can I understand/figure it out what is going on.


I will appreciate comments, ideas or some help


Best regards.
At first: when reporting a problem please always state the version of OF you're using. Also the version of swak you have.

Also "seems to fail" is a bit vague: does the solver crash? Or just calculate wrong results?
__________________
Note: I don't use "Friend"-feature on this forum out of principle. Ah. And by the way: I'm not on Facebook either. So don't be offended if I don't accept your invitation/friend request
gschaider is offline   Reply With Quote

Old   October 13, 2014, 12:55
Default
  #3
New Member
 
towanda
Join Date: Aug 2014
Posts: 20
Rep Power: 11
towanda is on a distinguished road
Dear Bernhard Gschaider,
thank you for your time. I am testing the features of swak4foam. The solver does not crash by the usage of groovyBC. I was not fully understanting results when I made parallel runnings. For instance, in each copy of the BC files for p_rgh, U, etc... to each processor#, if the patch on which I am applying the groovyTotalPressure is not contained in the processor adds:

p0 nonuniform 0();
value nonuniform 0();

On the other hand, I want to recompile the groovyTotalPressure with a small modification to add another entry similar to "p0Expression2", but when I apply de geometric decomposition, the copies of the files in each processor do not contain this new entry. The question is: Where or in what file I should modify how the copies to each procesor of the groovyBC files are made? Can I print while is running the value of some expressions that I am programming inside the groovy ?

Thank you in advance
towanda is offline   Reply With Quote

Old   October 13, 2014, 12:56
Default
  #4
New Member
 
towanda
Join Date: Aug 2014
Posts: 20
Rep Power: 11
towanda is on a distinguished road
I am using swak v2.2.x
towanda is offline   Reply With Quote

Old   October 13, 2014, 13:25
Default
  #5
Assistant Moderator
 
Bernhard Gschaider
Join Date: Mar 2009
Posts: 4,225
Rep Power: 51
gschaider will become famous soon enoughgschaider will become famous soon enough
Quote:
Originally Posted by towanda View Post
I am using swak v2.2.x
That is the version of OpenFOAM, right? Which version of swak do you use (this is reported for instance by funkySetFields immediately below the OF-header).

Concerning your problem: I don't understand what it is exactly. "nonuniform 0()" is perfectly normal (and OK) behaviour.

Is there a problem with the "normal" groovyTotalPressure (crashes or produces different results than single CPU?) or is the problem with your adapted version. To make sure that decomposition of BC works you've got to make sure that the write-method writes out all the information that the constructor with the dictionary argument later reads (and of course the constructor has to read everything write writes)
__________________
Note: I don't use "Friend"-feature on this forum out of principle. Ah. And by the way: I'm not on Facebook either. So don't be offended if I don't accept your invitation/friend request
gschaider is offline   Reply With Quote

Old   October 13, 2014, 13:32
Default
  #6
New Member
 
towanda
Join Date: Aug 2014
Posts: 20
Rep Power: 11
towanda is on a distinguished road
Thank you for the reply, I did not understand what "nonuniform 0()" really means. I am trying to understand a little better how groovyBC works with several small tests.
towanda is offline   Reply With Quote

Old   October 15, 2014, 06:34
Default
  #7
Assistant Moderator
 
Bernhard Gschaider
Join Date: Mar 2009
Posts: 4,225
Rep Power: 51
gschaider will become famous soon enoughgschaider will become famous soon enough
Quote:
Originally Posted by towanda View Post
Thank you for the reply, I did not understand what "nonuniform 0()" really means. I am trying to understand a little better how groovyBC works with several small tests.
That is not groovyBC-specific. That is general OpenFOAM. It means "there is a patch but this processor doesn't have a part of it so it stores a field of length 0"
__________________
Note: I don't use "Friend"-feature on this forum out of principle. Ah. And by the way: I'm not on Facebook either. So don't be offended if I don't accept your invitation/friend request
gschaider is offline   Reply With Quote

Old   October 15, 2014, 14:51
Default
  #8
New Member
 
towanda
Join Date: Aug 2014
Posts: 20
Rep Power: 11
towanda is on a distinguished road
Dear Bernhard Gschaider,
thank you for the answer. You are right that my question was not about the groovys BC, but of general knowledge of parallel calculations with OF. The groovyTotalPressure that I am using works pretty fine!.

Thank you for your time.
Best regards.
towanda is offline   Reply With Quote

Reply


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 Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
UDF compiling problem Wouter Fluent UDF and Scheme Programming 6 June 6, 2012 04:43
Gambit - meshing over airfoil wrapping (?) problem JFDC FLUENT 1 July 11, 2011 05:59
natural convection problem for a CHT problem Se-Hee CFX 2 June 10, 2007 06:29
Adiabatic and Rotating wall (Convection problem) ParodDav CFX 5 April 29, 2007 19:13
Is this problem well posed? Thomas P. Abraham Main CFD Forum 5 September 8, 1999 14:52


All times are GMT -4. The time now is 14:10.