-
-
December 2, 2023 at 1:29 pmSantiago Palacio CanoSubscriber
Greetings,
Im conducting right now an experiment for my thesis. I'm not very acquainted with CFD, so excuse if this seems easy.
My geometry consists of a 3D salt water volume, encapsuled within a stainless steel pipe of an already meshed thickness, wich in turn is encapsuled within distilled water. Boundary conditions are known for both inlets. It is a turbulent problem (High Reynolds Number) and using k epsilon with standard wall treatment. The study consist of the generation of a biofilm layer next to the salt water part of the pipe in time.Â
As the solid geometry is meshed, 2Â coupled wall interfaces are created with its shadow walls. I left the distilled water wall interface as coupled with 0 wall thickness and 0 flux and the salt water interface with my expression of wall thickness increasing with time. So by what i've been seen in the users guide, the heat transfer is calculated with the meshed geometry thickness and then the expression is applied concerning time. The problem is that, while there is heat transfer within the walls, theres none with the fluids.Â
Now, i also tried with only 2 meshed fluids, let fluent create an interior wall as interface, and make shell conduction with 2 layers, but alas no heat transfer also between the fluids.Â
Maybe Im missing something out of lack of Fluent expertise.Â
The only thing that occurs to me is making a steady state calculation, get it to converge and after apply my wall thickness change trough time.Â
Â
-
December 5, 2023 at 2:23 pmRobForum Moderator
Be careful with the words you use - we need to be very careful with definitions to avoid confusion.Â
A coupled wall (wall & wall shadow) will pass heat. An interface pair with wall settings will also pass heat. Look very carefully at the temperature near the wall; do you have enough mesh to pick up the boundary layer and are you looking at a sensible temperature scale?
-
December 13, 2023 at 10:17 amSantiago Palacio CanoSubscriber
Sorry for the late reply, I found my problem.As I applied an expression as the wall thickness, it seems that ansys fluent cannot calculate it and just acts as adiabatic. Found some posts claiming so, and the analysis i've been making confirms it, so its actually a bug of the program, which still (after 4 years at least) have not been solved.Â
Thank you. -
December 13, 2023 at 1:01 pmRobForum Moderator
Thanks for the update, I'll check here too.Â
-
December 16, 2023 at 8:49 amSantiago Palacio CanoSubscriber
Hello rob,
With my studies I have found that applying an expression that change wall thickness throught time into the shell conduction, and i believe also into the unmeshed thin plate, does not change the outcome, it keeps acting as t = 0.
-
December 19, 2023 at 9:58 amRobForum Moderator
It looks to be working here: I'd lost the thread so didn't comment, sorry. Can you create an isosurface on just the fluid to see if it's a subtle temperature change? Also, check the value of the expression. It's very easy to miss the units and create a thin wall that's a very good insulator. Not that I've ever done that......Â
Â
-
December 19, 2023 at 10:26 amSantiago Palacio CanoSubscriber
Â
Im sorry Rob, but i can assure you that when you apply to a non solid geometry wall (only interface) shell conduction and in one layer apply a wall thickness that changes through time, it doesnt actually change throught time, and stays the value of t=0.Â
The shell layer acts as when t=0, as is very easy to discern by writing the /define/model/shell-conduction-write at different points in time. Also, I reported the expression, check the values in the OUT file and they are correct, though not imposed into the simulation.
 Another way to find out is to make the simulation with the Exppression in the shell conduction, and another one with macros, changing manually the shell layer wall thickness for every time step with the values that the expression should give. I did both. The first one doesn't change a bit. The second one actually changes and gives me the perfect data (almost an R2 of 1).Â
I Will write you, just in case the expressions:
Arreglo: 0.000535534/(1+exp(-0.29*(t-30[day])/ 1[day]))
Rf: 2.2*(1/(1+exp(-0.29 [day^-1]*(t-30 [day]))/1))
Thermal_conductivity: 0.625*(exp(-t*0.014[day^-1]))
+Wall thickness= ((Rf*Thermal_Conductivity * (10^-3))+Arreglo)*1[m]
*the one I'm using (yes I created a unit called day)So yeah, heat transfer works but only as t=0, it doesnt change automatically through time and apparently, it should.
Check if you want both my premises, and you will find that I'm right (I've been studying this error for my thesis for months) Find attached the plot of the wal thickness, the plot of the inlet-outlet with the expression (in seconds) and the plot of the inlet_outlet using macros:
-
December 19, 2023 at 1:47 pmRobForum Moderator
Please can you post the heat flux through the wall?Â
-
December 19, 2023 at 5:43 pmSantiago Palacio CanoSubscriber
-
December 21, 2023 at 10:27 amRobForum Moderator
OK, so there's a flux through the walls, which is nonzero. If you evaluate the expression how thick is the wall?Â
-
December 21, 2023 at 10:56 amSantiago Palacio CanoSubscriber
Rob, there is thermal conduction. However, if the expression is made to give values from t=0 to t=60 days, and if working fine should be giving different values of thermal exchange with time, it is not doing it. It is giving the same values as t=0 when t=1,2,3...60. That means the expression, which the program builds up fine as you saw in my first image, the program is not applying those values into the wall thickness of the shell conduction as you are seeing in the second batch of images i sent you (and yes i obviously applied it in the conduction section). However, when those values of wall thickness are manually applied through macros, the program acknowledge them and apply the boundary condition, giving the exact results. I will send you the python i used to give me 61 documents to create the macros, with the values of wall thickness that the expression should give:Â
# Lista de valores para el espesor de la capa de aluminio
thickness_values = [
   0.0000000573471048, 0.0000000766392398, 0.0000001024209873,
  0.0000001368750092, 0.0000001829177855, 0.0000002444461069,
  0.0000003266661919, 0.0000004365329898, 0.0000005833363143,
  0.0000007794824536, 0.0000010415356739, 0.0000013916046551,
  0.0000018591856343, 0.0000024836083139, 0.0000033172738268,
  0.0000044299273082, 0.0000059142708114, 0.0000078932928604,
  0.0000105297611033, 0.0000140383770291, 0.0000187010921586,
  0.0000248859705316, 0.0000330696445140, 0.0000438626765729,
  0.0000580357545337, 0.0000765422885533, 0.0001005293414296,
  0.0001313238850236, 0.0001703759292053, 0.0002191365852113,
  0.0002788525621857, 0.0003502759759917, 0.0004333249474531,
  0.0005267813076206, 0.0006281525855836, 0.0007338164838159,
  0.0008394803820482, 0.0009408516600112, 0.0010343080201787,
  0.0011173569916400, 0.0011887804054460, 0.0012484963824204,
  0.0012972570384265, 0.0013363090826082, 0.0013671036262022,
  0.0013910906790784, 0.0014095972130980, 0.0014237702910589,
  0.0014345633231177, 0.0014427469971002, 0.0014489318754731,
  0.0014535945906027, 0.0014571032065285, 0.0014597396747713,
  0.0014617186968204, 0.0014632030403236, 0.0014643156938049,
  0.0014651493593179, 0.0014657737819974, 0.0014662413629767,
  0.0014665914319579
]# Texto de la versión de Fluent
fluent_version = "Fluent Version 22.2,Build ID xxxxxx"# Crear archivos CSV con valores especÃficos
for i, thickness in enumerate(thickness_values):
  filename = f"archivo_{i + 1}.csv"
  with open(filename, mode='w', newline='') as file:
    # Escribir la versión de Fluent directamente
    file.write(fluent_version + '\n')
    Â
    # Encabezado del archivo CSV
    header = "Zone ID,Zone Name,Enable-Shell? (1/0),Layer Number,Material,Layer Thickness (m),Heat Generation Rate (w/m3)"
    file.write(header + '\n')
    Â
    # Escribir las filas de datos
    file.write("4,pared,1,1,stainless-steel-316ti-annealed,0.0015,0\n")
    file.write(f"4,pared,1,2,aluminum,{thickness},0\n")print("Archivos CSV creados exitosamente.")
As you can see, the values of the wall thickness throught time are the same as the created by the expression, thought not applied. After i created 61 documents with the different values, i used these to create the macros to apply to the program:
Name   Every   When   Command   Once?   Active?
command-1   1   "Iteration"   "/define/model/shell-conduction/read "archivo_1""   #t   #t
command-2   25   "Iteration"   "/define/model/shell-conduction/read "archivo_2""   #t   #t
command-3   50   "Iteration"   "/define/model/shell-conduction/read "archivo_3""   #t   #t
command-4   75   "Iteration"   "/define/model/shell-conduction/read "archivo_4""   #t   #t
command-5   100   "Iteration"   "/define/model/shell-conduction/read "archivo_5""   #t   #t
command-6   125   "Iteration"   "/define/model/shell-conduction/read "archivo_6""   #t   #t
command-7   150   "Iteration"   "/define/model/shell-conduction/read "archivo_7""   #t   #t
command-8   175   "Iteration"   "/define/model/shell-conduction/read "archivo_8""   #t   #t
command-9   200   "Iteration"   "/define/model/shell-conduction/read "archivo_9""   #t   #t
command-10   225   "Iteration"   "/define/model/shell-conduction/read "archivo_10""   #t   #t
command-11   250   "Iteration"   "/define/model/shell-conduction/read "archivo_11""   #t   #t
command-12   275   "Iteration"   "/define/model/shell-conduction/read "archivo_12""   #t   #t
command-13   300   "Iteration"   "/define/model/shell-conduction/read "archivo_13""   #t   #t
command-14   325   "Iteration"   "/define/model/shell-conduction/read "archivo_14""   #t   #t
.......
command-61   1500   "Iteration"   "/define/model/shell-conduction/read "archivo_61""   #t   #tBy doing this, every 25 ieration (1 day), the values of the wall thickness THAT SHOULD BE APPLIED AUTOMATICALLY in the expression, are manually applied.Â
The first image is using the expression, that gives the same values. The second image is applying this, giving the second image. So yeah, the program doesn't consider the change of wall thickness through time using expressions.
-
December 21, 2023 at 11:01 amSantiago Palacio CanoSubscriber
The files im using as macros created by the python: "archivo_1"...."archivo_60" have this format:
Fluent Version 22.2,Build ID xxxxx
Zone ID,Zone Name,Enable-Shell? (1/0),Layer Number,Material,Layer Thickness (m),Heat Generation Rate (w/m3)
4,pared,1,1,stainless-steel-316ti-annealed,0.0015,0
4,pared,1,2,aluminum,5.73471048e-08,0....
Fluent Version 22.2,Build ID xxxxx
Zone ID,Zone Name,Enable-Shell? (1/0),Layer Number,Material,Layer Thickness (m),Heat Generation Rate (w/m3)
4,pared,1,1,stainless-steel-316ti-annealed,0.0015,0
4,pared,1,2,aluminum,0.0014665914319579,0 -
December 21, 2023 at 12:19 pmRobForum Moderator
25 time steps to a day? If you run steady state how does it behave (just change the expression so rather than pulling in time it's getting a constant)?Â
-
December 21, 2023 at 12:33 pmSantiago Palacio CanoSubscriber
Im running a transient calculation. I included one unit called day, which is 86400 seconds. the time step size is 1 (day), nº of time steps 60, and nº of iterations per time steps 25 (the resulting data is R2=0.99978, so its actually great). If i run steady state, the expression gives the value of t=0, because its steady state. When running transient, the expression builds up as shown in the picture, but as said, the wall thickness doesnt change, and stays as t=0.
-
December 21, 2023 at 2:01 pmRobForum Moderator
Yes, hence adding a dummy value to increment time as a check. In CFD we have to resolve the flow timescale so timesteps that are big can cause problems.Â
-
December 21, 2023 at 2:38 pmSantiago Palacio CanoSubscriber
Rob, let me crystal clear. Right now i believe you already acknowledge the mistake in the programming and just making up excuses. Ive tried with a time step size of seconds to make a calculation for 60 days. Like i already told you, and the photos actually show It. Time step size or time steps doesnt change the implementation of the result of the expresion into the boundary, It keeps the first value of t= 0. Also for the same expresión with units of second, and the total time of simulation of hours, the program never ever implement the result into the wall thickness. I manage to overcome this, but a program that cost what ansys costs cannot have this mistakes into its code.
-
December 21, 2023 at 4:30 pmRobForum Moderator
We've agreed that something isn't working, but I don't know if that's expressions in shell zones, expressions in wall thickness in general or that there's a problem with the expression you're using. Hence me making suggestions for tests as I am unable to take files from the forum to check here: that's something I regularly do for commercial customers in the region I cover. Â
The graphs show that heat is passing through the wall, they don't show which of the above is correct.Â
-
December 21, 2023 at 4:41 pmSantiago Palacio CanoSubscriber
Rob, just look at the pictures. The expression gives an exponencial function. Then you have the photos of inlet-outlet and heat flux. In both, One is straight and the other is exponencial. I told you that with macros it works, and with the expression it continues with the value of t=0. So yeah, i believe they show which is correct . I can assure you, in all instances the program gives of energy conduction, if you place an expression that changes through time, it stays with the first value (t=0). Not with heat flux tho.
It is clear to me that you dont have the power of getting this fixed and that right now this problem matters to you the very same as it does to me (as i manage to complete the simulation with, i have to say, perfect results), so i will put this conversation as checked and we will leave it like it was.
-
- The topic ‘Fluid-solid-fluid Interfaces’ is closed to new replies.
- Non-Intersected faces found for matching interface periodic-walls
- Script error Code: 800a000d
- Unburnt Hydrocarbons contour in ANSYS FORTE for sector mesh
- Help: About the expression of turbulent viscosity in Realizable k-e model
- Fluent fails with Intel MPI protocol on 2 nodes
- Cyclone (Stairmand) simulation using RSM
- error udf
- Diesel with Ammonia/Hydrogen blend combustion
- Mass Conservation Issue in Methane Pyrolysis Shock Tube Simulation
- Script Error
-
1301
-
591
-
544
-
524
-
366
© 2025 Copyright ANSYS, Inc. All rights reserved.