Issues with log-law wall model in AMR-Wind (z0 > cell center height) #1710
Replies: 6 comments
-
The assumption for using log law is the first cell height is greater than roughness length by a significant amount. There are studies which define the allowed cell size for z0 values. However, in the urban microclimate studies this usually fails and we often replace log(z/z0) with log((z+z0)/z0). @marchdf can we check if z0>z and change the log law profile? |
Beta Was this translation helpful? Give feedback.
-
I assume we could do that if need be. |
Beta Was this translation helpful? Give feedback.
-
Hi Lutz, one thing you may consider for this is keeping the same resolution near the wall (the resolution that matches the profile well) and use the static refinement feature to add refine the mesh in other parts of the domain. I'm not sure if this will work for your use case because I don't fully understand it, but this would seem to allow you to refine the mesh without violating or further violating the assumptions of the wall model. |
Beta Was this translation helpful? Give feedback.
-
One question. Could you show the turbulence intensity (TI) profile? Does it match the standard profile, and the TI value are close to the standard? @LutzRohlfing |
Beta Was this translation helpful? Give feedback.
-
Hi @mbkuhn, thanks for your feedback. I already tried this one. That does work, but i am uncertain about this solution, since it contradicts the usual CFD workflow, because i would get a coarser grid close to the wall. I am worried that this might be hard to justify if i wanted to publish something later on. What do you think about that? Maybe also a bit of explanation of what i am doing: I have a lot of measurement data from different instruments. I binned this data by stability and wind speed and averaged it. So the data you see there is basically the average neutral case at 10 m/s at the site i want to simulate. I want to simulate this ABL and then add the turbines we have at the site later. I think i will try to compile a custom AMR-Wind variant on my own with the log((z+z0)/z0) as suggested above. This should still be within my limited C++ skill. I will report back on the results here when i figured it out. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I am currently experiencing issues with the log-law wall model in AMR-Wind, which were briefly discussed during the last AMR-Wind Quarterly User Meeting (09.07.2025). I am trying to simulate an atmospheric boundary layer (ABL), based on measurement data from various instruments. When I fit the log-law to the data, the best-fit value for the surface roughness length is z0 = 4.4 m. I am aware that this is relatively high, but i think it could be reasonable for the site I'm simulating: 53.472719, 10.214529, which is in a densely built-up and partially forested area.
The spin-up simulation produces good results — the dashed line in my plots corresponds to the analytical log-law, and the match is ok. However, when I refine the mesh in a precursor simulation, the results degrade significantly. My current suspicion is that the problem arises when z0 > cell_center_height.
Following the suggestions from the user meeting, I ran a simulation with the ABL.log_law_height parameter set to a constant height. As shown in the attached plot, this did not resolve the issue either.
I understand that a value of z0 = 4.4 m may push the log-law model beyond its valid range, but I have observed similar issues even with smaller roughness lengths. I conducted a few quick-and-dirty test simulations, and from what I can tell, even a value like z0 = 0.5 m might cause problems when using a cell size of 1 m — although I cannot currently prove this because running at cell size 1m takes quite some time.
I’ve attached my input files; all simulations were run using AMR-Wind v3.3.1. It's possible that the issue lies elsewhere — perhaps I've overlooked something in my setup, or there’s a deeper misunderstanding or input error on my part.
Input_files.zip
Any feedback or insights would be highly appreciated!
Beta Was this translation helpful? Give feedback.
All reactions