CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > ANSYS > FLUENT

Needt help about Soil Temperature Gradient Implementation

Register Blogs Community New Posts Updated Threads Search

Like Tree7Likes
  • 2 Post By vinerm
  • 1 Post By vinerm
  • 1 Post By vinerm
  • 1 Post By vinerm
  • 1 Post By vinerm
  • 1 Post By vinerm

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 7, 2020, 07:31
Default Needt help about Soil Temperature Gradient Implementation
  #1
New Member
 
Join Date: Oct 2019
Posts: 20
Rep Power: 6
berkmm is on a distinguished road
Hello everyone, I'm working on a Geothermal Borehole Heat Exchanger simulation and it involves modelling a soil(earth ground). I needed to implement the temperature gradient of soil during modeling of soil because its temperature is changing according to the depth.

My model is a transient axisymmetric model and can be seen in the Figure 1 and Figure 2. It has a 200m wide and 2140 m depth ( with a 3 porous zone section at 2000 m 2090 m and 2140 m) and the temperature is changing by depth. Temperature formation values in well can be seen in the Figure 3 and Figure 4. According to the literature(temperature gradient is modeled with an UDF) , simulation's initial temprature gradient were given in Figure 5.

In order to do modelling these temperature gradient in my soil model i've used named expression. I used a piecewise linear expression for each of the soil segments. (According to the tutorial https://www.youtube.com/watch?v=GVSLyb7buEU&t=627s ) Temperature values of given figure can be seen in the below.
Depth(m) Temperature (K) Expression (Unitless)
0<x<150 283.15<Temp<433.15 T1=10+273.15+0.9333[/m]*(x)
150<x<288 433.15<Temp<463.15 T2= 150+273.15+0.2899[/m]*(x)
288<x<1437 463.15<Temp<473.15 T3=190+273.15+0.0087[/m]*(x)
1437<x<1500 473.15<Temp<493.15 T4=273.15+200+0.3175[/m]*(x)
1500<x<1588 493.15<Temp<588.15 T5=273.15+220+1.0795[/m]*(x)
1588<x<1650 588.15<Temp<608.15 T6=273.15+315+0.3226[/m]*(x)
1650<x<2000 608.15<Temp<618.15 T7=273.15+335+0.0286[/m]*(x)
2000<x<2090 618.15<Temp<783.15 T8=273.15+345+1.8333[/m]*(x)
2090<x<2140 783.15<Temp<923.15K T9=273.15+510+2.8[/m]*(x)

Note that= Depth given in meter, temperature Kelvin and expression is unitless because I've given the temperature values in cell zone condition( Fixed values - temperature) and it only support the unitless parameters.

Since my model has 3 section (Porous zone 1 2 and 3), I need to adapt these temperature variations depth my depth. Therefore, I used a IF conditional expression according to the depth down until 2000m. Because of I have 3 sectional figure.
Temperature Gradient (0-2000m) for Porous Zone 1: IF(x>=1650[m],p7,IF(x>=1588[m],p6,IF(x>=1500[m],p5,IF(x>=1437[m],p4,IF(x>=288[m],p3,IF(x>=150[m],p2,p1))))))
Temperature Gradient 2 ( 2000-2090m) for Porous Zone 2:
273.15+345+1.8333[/m]*(x)
Temperature Gradient 3 for Porous Zone 3:
273.15+510+2.8[/m]*(x)

Note: p1 p2 p3 p4 p5 p6 p7 values are T1 T2 T3 T4 T5 T6 T7. Moreover, I've defined the wall boundary conditions for soil wall and I made it by changing unitless temperature values to [K] and changing named expression while assigning it to the walls except Soil top surface defined as 283.15 K and bottom surface is defined as 923.15 K constant temperature.

However, After I run a transient simulation ( Simulation is performing very quickly because there is no flow) , I'm not getting an expected results. Temperature is increasing very rapidly and slip occurs in values (Temperature is going up to 5000K ). Also contours and XY Plot values are not matching. Results can be seen in the Result 1 figure (Total Temperature contour result of internal zone) and Result 2 figure (XY Plot of Total Temperatue of internal zone) .

Therefore, I need help to model the temperature gradient of ground. How can I model and get the correct results according to the Figures for this model?
Attached Images
File Type: png Figure 1.PNG (2.7 KB, 13 views)
File Type: png Figure 2.PNG (3.1 KB, 9 views)
File Type: png Figure 3.PNG (115.5 KB, 10 views)
File Type: png Figure 4.PNG (191.9 KB, 9 views)
File Type: png Figure 5.PNG (165.8 KB, 8 views)

Last edited by berkmm; May 7, 2020 at 09:48.
berkmm is offline   Reply With Quote

Old   May 7, 2020, 07:33
Default
  #2
New Member
 
Join Date: Oct 2019
Posts: 20
Rep Power: 6
berkmm is on a distinguished road
Results are given in this message due to limitation. Sorry for the flood.
Attached Images
File Type: png Result 1.PNG (7.7 KB, 7 views)
File Type: png Result 2.PNG (18.2 KB, 8 views)
berkmm is offline   Reply With Quote

Old   May 7, 2020, 09:12
Default Clarity
  #3
Senior Member
 
vinerm's Avatar
 
Vinerm
Join Date: Jun 2009
Location: Nederland
Posts: 2,946
Blog Entries: 1
Rep Power: 35
vinerm will become famous soon enough
Your description is not very clear

1. Where are you applying these expression? At the wall boundary for temperature or in the cell zone conditions as source?

2. If there is no flow, why are you looking at total temperature. And to ensure that there is no flow, did you disable the flow equations?
berkmm and AliTalbi like this.
__________________
Regards,
Vinerm

PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority.
vinerm is offline   Reply With Quote

Old   May 7, 2020, 09:41
Default
  #4
New Member
 
Join Date: Oct 2019
Posts: 20
Rep Power: 6
berkmm is on a distinguished road
Sorry for misunderstanding,
1) I stated in note section. I've used both cell zone condition and boundary condition in order to apply the temperature values. "Temperature Gradient for Porous Zone 1 2 and 3" formulas are used in Cell Zone Condition. Also, I used boundary condition for wall of soil in order to define the temperature values by converting unitless expression to [K].

2) I didnt disable the flow equations I've used realizable k-e standard wall functions viscous model because porous zones are defined as fluid zone and 0 gauge pressure inlet boundary condition are used in surface of soil without outlet. However, in simulation residuals of continuity,velocity,energy equations values were constant at 0.00e+00 value, only k and epsilon residuals were changing with a converging behaviour.
berkmm is offline   Reply With Quote

Old   May 7, 2020, 09:51
Default Setup
  #5
Senior Member
 
vinerm's Avatar
 
Vinerm
Join Date: Jun 2009
Location: Nederland
Posts: 2,946
Blog Entries: 1
Rep Power: 35
vinerm will become famous soon enough
If you assign all the values in cell zone conditions, then Fluent has got nothing to do. You are already providing the solution to it. And you cannot assign gradients in Cell Zone Conditions. Either you have options for source or for fixed values. If you use these expressions for fixed values, then Fluent has nothing to do. You already know the solution. You should use expressions only for source and/or for boundary conditions.

Porous zone is a fluid zone, however, you mentioned that you don't want any flow in there. So, there is no point in enabling any turbulence model. And you should disable the flow equation under Solution Controls > Equations.
berkmm likes this.
__________________
Regards,
Vinerm

PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority.
vinerm is offline   Reply With Quote

Old   May 7, 2020, 10:23
Default
  #6
New Member
 
Join Date: Oct 2019
Posts: 20
Rep Power: 6
berkmm is on a distinguished road
I didnt know that fixed values under cell zone condition means the solution of the case but yes, I know the solution but Fluent doesnt give my expected results. In figure 3 formation temperature in wall of well was given(You can see in "Formation Temperature KG-25" label) and I need to implement the temperature values inside the soil by assuming the wall of the well temperature is equal to the soil temperature(earth ground) by depth. I exctracted the data of temperature values as linear expression. However, Results are not what i expected after solution. Therefore, I need some help to implement these equations into the internal of soil how can I do this implementation ? Also, I dont think solving the other equations are affecting my solution but do we have any chance to see the model without solution? Do results after Hybrid Initilization give my expected results without waiting ?

If I will delete the fixed values, and applying the boundary condition at the wall of well means I'm also defining a temperature values internal of soil?

I have defined porous zone porosity as %1 so there is very low fluid in porous zone. Moreover, In the next step I will be adding the well of geothermal but I wanted to go step by step, and this step I'm modelling the soil temperature gradient. Therefore, I dont want to close the fluid equations.

Thanks for your help btw (:
berkmm is offline   Reply With Quote

Old   May 7, 2020, 10:33
Default Functioning
  #7
Senior Member
 
vinerm's Avatar
 
Vinerm
Join Date: Jun 2009
Location: Nederland
Posts: 2,946
Blog Entries: 1
Rep Power: 35
vinerm will become famous soon enough
You need to understand the functioning of the tool. User is only expected to apply boundary conditions and the tool is supposed to solve what is inside. If you already know the temperature profile inside and not just the boundaries, then you do not need a tool; you already have what you are looking for.

Solving other equations directly affect the solution because thermal energy equation has two components coming from flow - convection based on flow velocity and conduction based on turbulence enhancement. Therefore, you need to disable those equations.

Its a good practice to go one step at a time but sometimes you cannot break into smaller steps, such as, when you want to jump across a chasm. It has to be in one go. If the objective is to predict the thermal field in the porous ground, then you have to apply either the temperature or the heat flux (which is essentially temperature gradient) on the wall. And let Fluent solve only Energy equation.
berkmm likes this.
__________________
Regards,
Vinerm

PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority.
vinerm is offline   Reply With Quote

Old   May 7, 2020, 11:04
Default
  #8
New Member
 
Join Date: Oct 2019
Posts: 20
Rep Power: 6
berkmm is on a distinguished road
Well then, Here is my whole case. Left hand side has Fluid domain(Inlet and Outlet similar in axisymmetric model.png) which is well of geothermal and right side has earth ground which has section according to the depth called as Porous Zone 1 2 and 3. It is nearly same as my model but in different scale(Doman and Wall can be seen in the attachments.). In this simulation I wanted to give the initial condition of the soil and analyze the water inside the well and the soil temperature formation changes (Soil temperature gradient is not fully fixed just an initial condition is known). But couldnt achieve correct temperature gradient and wanted to go step by step since the whole process is time consuming.

Can we define an initial temperature condition for internal nodes by using named expression?(I can not define anything to Interior zones under Boundary Condition tab.) How can i achieve this?
Attached Images
File Type: png Domain.PNG (21.3 KB, 3 views)
File Type: png Walls.PNG (28.3 KB, 4 views)
File Type: png Axisymmetric model.PNG (28.1 KB, 1 views)
berkmm is offline   Reply With Quote

Old   May 7, 2020, 12:05
Default Initialization
  #9
Senior Member
 
vinerm's Avatar
 
Vinerm
Join Date: Jun 2009
Location: Nederland
Posts: 2,946
Blog Entries: 1
Rep Power: 35
vinerm will become famous soon enough
Initialization is not done via Boundary Conditions but via Initialization. Go to Initialization and then use Patch. Patch is specific initialization method; you can select a function and cell zone to which you want to apply that function as well as the field variable for which the function is valid; for you the field variable is temperature.
berkmm likes this.
__________________
Regards,
Vinerm

PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority.
vinerm is offline   Reply With Quote

Old   May 7, 2020, 13:51
Default
  #10
New Member
 
Join Date: Oct 2019
Posts: 20
Rep Power: 6
berkmm is on a distinguished road
I will try this tutorial: http://hmf.enseeiht.fr/travaux/CD990...al/Rapport.htm

In second section of this tutorial Gradient temperature as initialization is presented. I will inform about the results.
berkmm is offline   Reply With Quote

Old   May 7, 2020, 14:00
Default Gradient Initialization
  #11
Senior Member
 
vinerm's Avatar
 
Vinerm
Join Date: Jun 2009
Location: Nederland
Posts: 2,946
Blog Entries: 1
Rep Power: 35
vinerm will become famous soon enough
That's not gradient initialization but temperature initialization as I mentioned in my last post. Only the name of the function is gradient; you can use even your name as a function, it doesn't matter. There is nothing called gradient initialization only fields are initialized and their gradients are based on the initial fields. So, if you have gradients, you need to convert those into fields by integration and then apply those fields for initialization.
berkmm likes this.
__________________
Regards,
Vinerm

PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority.
vinerm is offline   Reply With Quote

Old   May 7, 2020, 15:34
Default
  #12
New Member
 
Join Date: Oct 2019
Posts: 20
Rep Power: 6
berkmm is on a distinguished road
I patched the temperature variable of 3 porous zone by making custom field function. Results can be seen in the figure 1, figure 2 and figure3. Looks like I have to divide the zones according to the piecewise function and apply the function to those fields in initialization phase


However, there is still 1 missing point in my mind. I used 3 functions which they can be seen in the below. First function is T1= 283.15+0.9333*x for 0-2000m depth. It starts 283K and finishes at 2149.75. Its ok as can be seen in XY Plot of Total Temperature. However; as a second function, I used T2=618.15 +1.8333*x . This function should be mapped the zone 2 from 618.15K to 783.2 but in XY Plot of Total Temperature Result It starts around 4350 K which is very huge temperature. How can I fix these temperature values? The temperature shouldnt go that high.

Porous Zone 1 0-2000m Custom Field Function for patch
T1=283.15+0.9333*x
Porous Zone 2 2000-2090m Custom Field Function for patch
T2=618.15+1.8333*x
Porous Zone 3 2090-2140m Custom Field Function for patch
T3= 783.15+2.8*x
Attached Images
File Type: png Patch static.PNG (9.0 KB, 2 views)
File Type: png patch total.PNG (10.8 KB, 2 views)
File Type: png patch tempxy.PNG (19.1 KB, 3 views)
berkmm is offline   Reply With Quote

Old   May 7, 2020, 15:37
Default Temperature Field
  #13
Senior Member
 
vinerm's Avatar
 
Vinerm
Join Date: Jun 2009
Location: Nederland
Posts: 2,946
Blog Entries: 1
Rep Power: 35
vinerm will become famous soon enough
You are looking at wrong field. Total temperature does not make sense until and unless you have flow. Look at static temperature only.
berkmm likes this.
__________________
Regards,
Vinerm

PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority.
vinerm is offline   Reply With Quote

Old   May 7, 2020, 16:13
Default
  #14
New Member
 
Join Date: Oct 2019
Posts: 20
Rep Power: 6
berkmm is on a distinguished road
Unfortunately, Static temperature is nearly same as total temperature. You can check the results in attachments. Temperature values shouldnt be going that high according to the patch function that I assigned. Also I need to add that I'm not runing solution just initializing the case to see the values. Maybe the function is giving error, I'm making a function everytime Its calculation starts from 0m to x meter now I'll adapt its starting point from 2000m to 2090m. I will inform the results again.
Attached Images
File Type: png patch statxy.PNG (18.3 KB, 1 views)
File Type: png tempostatxy.PNG (16.8 KB, 1 views)
berkmm is offline   Reply With Quote

Old   May 7, 2020, 16:40
Default
  #15
New Member
 
Join Date: Oct 2019
Posts: 20
Rep Power: 6
berkmm is on a distinguished road
Yeeey, It worked. I changed the function according to the global coordinate system not for the zone.

T1= 273.15 + 10 + 0.9333 * x for 0-2000 m
T2= - 3048.5 + 1.8333 * x for 2000-2090 m
T3= - 5068.9 + 2.8 * x for 2090-2140 m

Results are in the attachment, It's not going very high temperature. Now all I need to do is divide everyzone and apply function which is made according to the global coordinate system. Very big thank you to you vinerm, I learned a lot from you. I really appreciate your help. Thanks
Attached Images
File Type: png Final.PNG (20.0 KB, 4 views)
File Type: png fino.PNG (12.2 KB, 1 views)
berkmm 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
Temperature gradient using wall-functions chantre OpenFOAM 2 July 19, 2021 07:56
Calculation of the Governing Equations Mihail CFX 7 September 7, 2014 06:27
how to perform temperature gradient on a particle (Thermophoretic Force) wwt650420 FLUENT 3 March 23, 2011 02:10
Wall correction for the temperature gradient Hagen OpenFOAM 0 March 7, 2011 20:04
Question on Face Temperature Gradient Tomasz Didenko FLUENT 1 June 27, 2003 04:30


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