
[Sponsors] 
July 23, 2012, 12:04 
nonstationary scalarTransportFoam

#1 
Member
Join Date: Jul 2012
Posts: 31
Rep Power: 7 
hi everyone,
i am trying to modify the scalarTransportFoam solver so that it can be applied to timevarying velocity fields (that i have computed with another solver). My idea was to insert the following lines from createFields.H inside the main loop of scalarTransportFoam.C:  volVectorField U ( IOobject ( "U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh ); # include "createPhi.H"  i thought this would update the Ufield for every time step. The Ufields in the respective folders are, however, all changed to the initial Ufield ( /0/U). Does anyone have an idea what's the problem here? Thx in advance. 

August 2, 2012, 08:52 

#2 
Member
Join Date: Jul 2012
Posts: 31
Rep Power: 7 
anyone has an idea?!


August 2, 2012, 15:48 

#3 
Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,978
Blog Entries: 39
Rep Power: 108 
Greetings kpax and welcome to the forum!
Perhaps you should think the other way around, namely use an existing solver as a basis for a nonstationary scalarTransportFoam. Better yet, you'll find at openfoamwiki.net the following two pages:
Best regards, Bruno
__________________


August 3, 2012, 10:12 

#4 
Member
Join Date: Jul 2012
Posts: 31
Rep Power: 7 
hey wyldckat,
the other way around works perfectly! thx alot! 

October 30, 2013, 17:59 

#5 
Member
Vishal Achasrya
Join Date: Nov 2011
Posts: 31
Rep Power: 7 
Hi,
But if icoFoam is used and a scalar transport is added to it, then both velocity and T would be solved for simultaneously coupled. What if I want to use scalarTransportFoam, but instead have a timevarying velocity field that is not solved but prescribed by the user? For example, what if my velocity is such that u=A+B*cos(t) and I want to use this timevarying field as the velocity with scalarTransportFoam, then how is this done? 

November 1, 2013, 20:12 

#6  
Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,978
Blog Entries: 39
Rep Power: 108 
Greetings Vishal,
Quote:
One example of coupled vs segregated flow: http://www.cfdonline.com/Wiki/Fluen...ated_solver.3F Quote:
Best regards, Bruno
__________________


November 5, 2013, 13:01 

#7 
Member
Vishal Achasrya
Join Date: Nov 2011
Posts: 31
Rep Power: 7 
Bruno,
Thanks for the reply. Indeed, for a passive scalar, the U and T are independent. However what I have is a case where my U is a function of space and time and I have a mathematical form for it such as A+B*cos(t). I wanted to hardcode this into the solver. I looked at the code and U (and phi) are defined in createFields.H before the simple.loop(). Which means that the default scalarTransport can only use a U that is defined at the beginning and kept the same throughout. I changed this by removed the block of code from "volVectorField U ( " until #include "createPhi.H" and included it in my simple.loop(). But since I am not reading or writing U to a file, I need not define U as an IOobject. Instead, I need to have a loop over all cells that calculates U as A(x,y)+B(x,y)*cos(t). If I use the following inside the simple.loop(): volVectorField U = (U0+uamp*sin(2.0*pi*f0*runTime))*vector(1, 0, 0) + (V0+vamp*sin(2.0*pi*f0*runTime))*vector(0, 1, 0); It does not work ! Here, U0, uamp, V0 and vamp are dimensionedScalars that have units m/s and f0 is a dimensionedScalar with unit 1/s, runTime is the time value I have used, pi is a const scalar. All of these values are read from the transportProperties dictionary file in the createFields.H file. 

November 23, 2013, 06:19 

#8 
Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,978
Blog Entries: 39
Rep Power: 108 
Hi Vishal,
I've finally managed to get some time and clear mind to look into your post. The first thing that comes to mind is potentialFoam: http://openfoamwiki.net/index.php/PotentialFoam  this solver is as simple or simpler than scalarTransportFoam and allows for you to do tests of modifying "U" more easily with this solver. The second thing that comes to mind: can you please share the source code of the modified solver you're working on? This way I could test for myself and figure out what's wrong/missing. Best regards, Bruno
__________________


January 21, 2017, 20:44 
Same kind of Problem!!!

#9  
Member
Himanshu Sharma
Join Date: Jul 2012
Posts: 98
Rep Power: 6 
Quote:
Where you able to solve your problem, and implement it in OpenFOAM. I am currently doing same kind of problem where my U =B*cos(t). Any help will be really appreciated. Thank you 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Can CFX do CHT simulations with a solid domain rotating in a stationary fluid domain?  acro  CFX  15  September 23, 2016 11:16 
ScalarTransportFoam for RTD calculations  santoo_cfd  OpenFOAM Running, Solving & CFD  34  May 22, 2014 10:20 
Problem with scalarTransportFoam illistrated using pitzDaily tutorial  mlawson  OpenFOAM  2  January 18, 2011 14:39 
Stationary Vs. Moving Mesh  startingcfd  Main CFD Forum  1  July 18, 2010 11:05 
How to output data from stationary part only?  Aerolex  FLUENT  0  November 16, 2009 23:46 