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

OpenFOAM solvers

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

Reply
 
LinkBack Thread Tools Display Modes
Old   October 19, 2017, 05:31
Default OpenFOAM solvers
  #1
New Member
 
PATRICIA NAKANWAGI
Join Date: May 2017
Posts: 22
Rep Power: 2
npatricia is on a distinguished road
Greetings,

I am kindly seeking your help on my challenge please.
I am trying to work on a project on solar pond modelling for improved salt production.I am aiming at predicting the optimal pond dimensions, and am presuming at monitoring the evaporation trends at various pond dimensions (depth in particular) to yield the optimal. ( that is see results when a given percentage of brine has been evaporated). i further envisage checking trend with and without a liner material in my pond.

I am a new OpenFoam user, and have been able to read related information concerning the software. My challenge however is choosing the right solver that can best suit my problem. Kindly advise me please

Thank you.
PATRICIA
npatricia is offline   Reply With Quote

Old   October 19, 2017, 05:55
Default
  #2
Senior Member
 
Alexey Matveichev
Join Date: Aug 2011
Location: Nancy, France
Posts: 1,762
Rep Power: 29
alexeym will become famous soon enoughalexeym will become famous soon enough
Send a message via Skype™ to alexeym
Hi,

So, guess, you are trying to model something like this: https://qph.ec.quoracdn.net/main-qim...67db0fea378c6a but without right part.

You can start with buoyantBoussinesq(S|P)impleFoam. If you are interested in steady state use S, if you model transient state, use P.

Heat source, evaporation, and mass transfer can be added using fvOption/functionObject mechanism or by implementing these things directly into solver.
alexeym is offline   Reply With Quote

Old   October 19, 2017, 06:15
Default OpenFOAM
  #3
New Member
 
PATRICIA NAKANWAGI
Join Date: May 2017
Posts: 22
Rep Power: 2
npatricia is on a distinguished road
Thank you so much Alexeym.

That is what I want to model.
And where do I feed my governing equations?
Am sorry if I am asking too much.

Thank you
npatricia is offline   Reply With Quote

Old   October 19, 2017, 06:34
Default
  #4
New Member
 
PATRICIA NAKANWAGI
Join Date: May 2017
Posts: 22
Rep Power: 2
npatricia is on a distinguished road
Also, what is the difference between steady state and transient state in line with pond modeling
npatricia is offline   Reply With Quote

Old   October 19, 2017, 07:49
Default
  #5
Senior Member
 
M. C.
Join Date: May 2013
Location: Italy
Posts: 263
Rep Power: 10
student666 is on a distinguished road
Is it an absorption cycle?
student666 is offline   Reply With Quote

Old   October 19, 2017, 08:17
Default
  #6
Senior Member
 
Alexey Matveichev
Join Date: Aug 2011
Location: Nancy, France
Posts: 1,762
Rep Power: 29
alexeym will become famous soon enoughalexeym will become famous soon enough
Send a message via Skype™ to alexeym
@npatricia

Concerning governing equations, buoyantBoussinesq(S|P)impleFoam assumes they are Navier-Stokes with buoyancy described in Boussinesq approximation. So you just generate mesh for your geometry, set boundary conditions, run simulation (the solver at least looks simular to what is described here: http://www.sciencedirect.com/science...76610214016178). Additional terms in equations could go into system/fvOptions.

Steady/transient: it depends on what you are interested in. Obviously, there is no abstract "pond modelling", you are trying to extract data from simulation. So if you need to track evolution, use PIMPLE; otherwise you can use either of them.
alexeym is offline   Reply With Quote

Old   October 19, 2017, 08:59
Default
  #7
New Member
 
PATRICIA NAKANWAGI
Join Date: May 2017
Posts: 22
Rep Power: 2
npatricia is on a distinguished road
More like it, solar being the main energy source to facilitate the evaporation process.
npatricia is offline   Reply With Quote

Old   October 19, 2017, 09:01
Default
  #8
New Member
 
PATRICIA NAKANWAGI
Join Date: May 2017
Posts: 22
Rep Power: 2
npatricia is on a distinguished road
@Alexeym, thank you so much for the information.
I appreciate.
npatricia is offline   Reply With Quote

Old   October 27, 2017, 10:08
Default
  #9
New Member
 
PATRICIA NAKANWAGI
Join Date: May 2017
Posts: 22
Rep Power: 2
npatricia is on a distinguished road
Greetings to you all,

I am stuck on defining the appropriate boundary conditions for my problem. I am humbly seeking your help please.

Thank you
npatricia is offline   Reply With Quote

Old   October 27, 2017, 16:28
Default
  #10
Senior Member
 
Alexey Matveichev
Join Date: Aug 2011
Location: Nancy, France
Posts: 1,762
Rep Power: 29
alexeym will become famous soon enoughalexeym will become famous soon enough
Send a message via Skype™ to alexeym
Hi,

Could you elaborate? Step with creating a mesh went well?
alexeym is offline   Reply With Quote

Old   November 1, 2017, 02:51
Default
  #11
New Member
 
PATRICIA NAKANWAGI
Join Date: May 2017
Posts: 22
Rep Power: 2
npatricia is on a distinguished road
I am trying to model an open pond (no inlet and outlet), i am looking at working on two test cases, one with a rectangular domain, the other trapezoidal to check their temperature evolution at different depths in both. I have managed to create the mesh for the rectangular.

Initially, the surface pond temperature is equal to ambient temperature, and i want the vertical and bottom walls to adiabatic and impermeable. the free surface of my pond is only subjected to heat losses by convection, evaporation and radiation (which respective equations i have).
I am stuck on where to feed these additional equations, and the right boundary conditions to choose for my model.

I am kindly seeking some guidance on this.
Thank you so much.

PATRICIA
npatricia is offline   Reply With Quote

Old   November 2, 2017, 04:54
Default
  #12
Senior Member
 
Alexey Matveichev
Join Date: Aug 2011
Location: Nancy, France
Posts: 1,762
Rep Power: 29
alexeym will become famous soon enoughalexeym will become famous soon enough
Send a message via Skype™ to alexeym
Hi,

Let's check if I understood you right.

1. You have a reservoir, which is represented by a mesh. It is filled with a water. You are interested in temperature distribution inside the reservoir. Or is it temperature evolution?

2. Your reservoir exchanges with a world through top surface.

3. In the reservoir temperature evolves due to:
- convection (is it convection caused by thermal buoyancy, or you are also interested in solutal?). This feature is already in the solver.
- radiation at the top surface.
- evaporation at the top surface.

So I would propose the following boundary conditions:

Velocity: noSlip everywhere except top surface, where it is vice-versa, i.e. slip.
Pressure: zeroGradient everywhere.
Temperature: zeroGradient everywhere.

Concerning your heat losses. I would propose to use surfacial source terms through fvOption mechnism. I.e. you select cell at the top surface into topSurface cell set and then use codedFvOption to specify equations of your models.

Alternatively you can modify buoyantBoussinesq(P|S)impleFoam solver to include your source terms instead of using fvOptions.
alexeym is offline   Reply With Quote

Old   November 2, 2017, 09:38
Default
  #13
New Member
 
PATRICIA NAKANWAGI
Join Date: May 2017
Posts: 22
Rep Power: 2
npatricia is on a distinguished road
Quote:
Originally Posted by alexeym View Post
Hi,

Let's check if I understood you right.

1. You have a reservoir, which is represented by a mesh. It is filled with a water. You are interested in temperature distribution inside the reservoir. Or is it temperature evolution?

2. Your reservoir exchanges with a world through top surface.

3. In the reservoir temperature evolves due to:
- convection (is it convection caused by thermal buoyancy, or you are also interested in solutal?). This feature is already in the solver.
- radiation at the top surface.
- evaporation at the top surface.

So I would propose the following boundary conditions:

Velocity: noSlip everywhere except top surface, where it is vice-versa, i.e. slip.
Pressure: zeroGradient everywhere.
Temperature: zeroGradient everywhere.

Concerning your heat losses. I would propose to use surfacial source terms through fvOption mechnism. I.e. you select cell at the top surface into topSurface cell set and then use codedFvOption to specify equations of your models.

Alternatively you can modify buoyantBoussinesq(P|S)impleFoam solver to include your source terms instead of using fvOptions.
thank you so much Alexeym for the reply,
This is more like it. Specifically, am trying to model and optimize a solar pond for improved salt production in my area, that is why i thought of checking how temperature evolves in the pond, to link this to evaporation rate enhancement fostering salt crystallization. (the buoyancy term can be neglected being a salt solution)

I also kindly request to through more light on the fvoption mechanism of dealing with my heat losses. tried to read about it, but am failing to get exactly what to do.

I also tried to mesh my geometry and i was successful, but when i try again with the exact pond dimensions, am getting a fatal error. I am really lost yet i need to have this model as soon as possible.
Please, i am kindly requesting for you help.
Thank you.

the error is as below;

---FOAM FATAL IO ERROR:
cannot find file

file: /home/tflows/OpenFOAM/OpenFAOM-2.4.0/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/system/controlDict at line 0.

From function regI0object: :readStream( )
in file db/regIOobject/regIOobjectRead.C at line 73.

FOAM exiting
npatricia is offline   Reply With Quote

Old   November 3, 2017, 06:49
Default
  #14
New Member
 
PATRICIA NAKANWAGI
Join Date: May 2017
Posts: 22
Rep Power: 2
npatricia is on a distinguished road
I was able to see the cause of the fatal error message, and successfully meshed my domain.
npatricia is offline   Reply With Quote

Old   November 6, 2017, 09:24
Default
  #15
Senior Member
 
Alexey Matveichev
Join Date: Aug 2011
Location: Nancy, France
Posts: 1,762
Rep Power: 29
alexeym will become famous soon enoughalexeym will become famous soon enough
Send a message via Skype™ to alexeym
Hi,

I have created example case with codedSource fvOption. You can find it here:

https://github.com/mrklein/foam-case...ter/solar-pond

I have tried to explain how everything is done in README.pdf.

One of the possible problems could be version incompatibilities: I use 5.x, you use 2.4.0, so you have to adapt certain BCs and maybe fvOptions configuration dictionary.

If you have question, post them here.
alexeym is offline   Reply With Quote

Old   November 7, 2017, 07:27
Default
  #16
New Member
 
PATRICIA NAKANWAGI
Join Date: May 2017
Posts: 22
Rep Power: 2
npatricia is on a distinguished road
Thank you so much Alexeymn. This is surely helpful.
God bless you

PATRICIA
npatricia is offline   Reply With Quote

Old   November 8, 2017, 06:12
Default
  #17
New Member
 
PATRICIA NAKANWAGI
Join Date: May 2017
Posts: 22
Rep Power: 2
npatricia is on a distinguished road
Greetings,

I am having a challenge of which I kindly seek your help.
I have managed to work on my case, but when I try to view it geometry using paraFoam, I get the error message below.

--> FOAM FATAL IO ERROR:

Cannot find 'value' entry on patch bottom of field U in file "/home/tflows/OpenFOAM/OpenFOAM-2.4.0/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/SolarPond_1/0/U"
which is required to set the values of the generic patch field.
(Actual type noSlip)

Please add the 'value' entry to the write function of the user-defined boundary-condition


file: /home/tflows/OpenFOAM/OpenFOAM-2.4.0/tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/SolarPond_1/0/U.boundaryField.bottom from line 30 to line 30.

From function genericFvPatchField<Type>::genericFvPatchField(con st fvPatch&, const Field<Type>&, const dictionary&)
in file genericFvPatchField/genericFvPatchField.C at line 71.

FOAM exiting

I have no idea what this means.
Kindly need some assistance here.
Thank you.

PATRICIA
npatricia is offline   Reply With Quote

Old   November 8, 2017, 09:46
Default
  #18
Senior Member
 
Alexey Matveichev
Join Date: Aug 2011
Location: Nancy, France
Posts: 1,762
Rep Power: 29
alexeym will become famous soon enoughalexeym will become famous soon enough
Send a message via Skype™ to alexeym
This is a start of incompatibilities between 2.4.0 and 5.x (maybe you can upgrade you OpenFOAM?).

In 2.4.0 there is no noSlip boundary condition. You have to use "fixedValue" with "value uniform (0 0 0)". See U file in tutorials/heatTransfer/buoyantBoussinesqPimpleFoam/hotRoom/0 for example.

Also you need to fix changeDictionaryDict file, in 2.4.0 boundary dictionary has to be included in dictionaryReplacement dictionary.
alexeym is offline   Reply With Quote

Old   November 9, 2017, 05:58
Default
  #19
New Member
 
PATRICIA NAKANWAGI
Join Date: May 2017
Posts: 22
Rep Power: 2
npatricia is on a distinguished road
Thank you so much Alexeym.
Let me try to upgrade to OpenFoam 5.0.

Thank you
PATRICIA
npatricia is offline   Reply With Quote

Reply

Thread Tools
Display Modes

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
OpenFOAM Training Jan-Jul 2017, Virtual, London, Houston, Berlin CFDFoundation OpenFOAM Announcements from Other Sources 0 January 4, 2017 07:15
UNIGE February 13th-17th - 2107. OpenFOAM advaced training days joegi.geo OpenFOAM Announcements from Other Sources 0 October 1, 2016 19:20
OpenFOAM Training Jan-Apr 2017, Virtual, London, Houston, Berlin cfd.direct OpenFOAM Announcements from Other Sources 0 September 21, 2016 11:50
OpenFOAM Training, London, Chicago, Munich, Houston 2016-2017 cfd.direct OpenFOAM Announcements from Other Sources 0 September 14, 2016 03:19
Suggestion for a new sub-forum at OpenFOAM's Forum wyldckat Site Help, Feedback & Discussions 20 October 28, 2014 10:04


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