I've generally had good luck with solutions converging when my loads consist of prescribed velocities. When I use prescribed pressures, though, I generally have more trouble.
I've attached an analysis log and an image showing a rough sketch of the problem I'm trying to solve. I tried various tweaks to get my solution to converge, and I finally did, but I'm not happy with the results. I'm performing a Steady Fluid Flow analysis using the Segregated formulation type, and with the default tolerance on the iterative solver, the pressure solution would always fail to converge.
Upping the tolerance and forcing the pressure solution to use the iterative solver (in the Segregated formulation options) led to convergence, but the solution took a very long time (about 40 hours) and every (psuedo) time step converged with stagnation due to oscillation. I'm afraid this has led to erroneous results, as there was very little consistency between load cases.
I'm trying to analyze something that is overall quite large (about 12 feet long total) with some very small features inside the pipe (thicknesses of ~.125") Here are some of the basic parameters of my analysis:
- Steady Fluid Flow analysis type
- 2 rows in the load curve table, .1 s / .1 magnitude, 1s / 1 magnitude, 20 steps on each row, turbulence enabled
- Segregated formulation, velocity solver left automatic, pressure solver set to iterative
- Tolerance for iterative solver set to .0001 (up from the default of 1e-6)
- Tetrahedra and wedges mesh type
- Absolute boundary layer thickness of .06"
- Absolute mesh size of 1"
- Refinement points for the mesh (Divide factor 3) in the areas with small features
I believe I understand the basic idea of 'convergence with stagnation due to oscillation', but given how large the R_Norm_P and R_Norm_V values are when each step completes, I'm not confident in the results. I believe I can turn that off, but I'm afraid the solution will again fail to convege (some steps required over 500 non-linear iterations), and even if it does the solution time will go completely out of bounds.
Ok, all that said, my question is this: is there something special I should be doing when I have an analysis with only specified surface pressures? I typically have no problem getting solutions to converge when I have prescribed velocities, but I can't always accurately determine such input parameters.
Solved! Go to Solution.
I am not the fluid flow expert, but the way I like to think of pressure loads versus velocity loads is as follows. (Since this is just a "thought" experiment, there may be errors in my descriptions.)
- the main calculation result is velocity, and pressure is secondary (derived from velocity).
- when applying a velocity to the model, the solution (velocity) is known at some points in the model. Actually, 3 of 4 results at nodes are known if you specify all three velocity components, leaving just pressure as the unknown at those nodes.
- when applying pressure to the model, the solution (velocity) is not known anywhere in the model. Three of the 4 results must be "found".
Consequently, it is harder to calculate the velocity from a prescribed pressure than it is to calculate the pressure from the prescribed velocity.
Perhaps this is a better analogy. Think of doing a hand calculation of a water piping system. If all you know is the pressure drop, the overall velocity cannot be calculated until all of the loss coefficients are calculated. On the other hand, if you know the inlet or outlet flow, you can immediately start to calculate the pressure drop and continue to the next segment.
Ok, enough for today's lesson. Here are some things you should consider for your model:
(1) Since the model is converging when applying a velocity, use applied velocity and ramp it up. Use an educational guess/calculation to get the expected velocity, and then ramp the velocity to twice that amount. From looking at the results, you will see what step corresponds to the desired pressure (or pressure drop). Even if you need to interpolate between time steps and do another analysis with a finer resolution in the time step results, have a fast-and-reasonably accurate answer is better than having an accurate answer that is taking an unknown length of time to achieve.
(2) You may have better luck with an unsteady fluid flow analysis than a steady fluid flow analysis. Considering the highly nonlinear nature of fluid flow, is there really a steady state solution? That is, no vortices, no fluttering, etc.
(3) When using the segregated solver, I thought the pressure iterations would solve better when using the sparse solver instead of the iterative solver. You might want to double-check the documentation about this.
John Holtz, P.E.
Senior User Experience Designer, Simulation
Current version of Mechanical & Multiphysics: 2013 SP1 (2013.01.00.0012 28-Jun-2012)
The root reason could be explained from Newton's second law F=ma, note that pressure BC is identical to Force after integration on surface, and then identical to acceleration with constant mass using Newton's law.
Knowing acceleration a=dv/dt ( time derivative ), where v is nodal velocity in simulation fluid domain(s), one can see that pressure BC is one order higher than velocity BC in term of time derivative, also notes that the velocity is real DOF (degree of freedom) in fluid flow solution, so velocity BC directly regulates the boundary conditions but pressure BC does not so that it has much higher uncertainties and thoretically harder to converge comparing to velocity BC.