Sloshing
I am doing a sloshing problem. I define my boundary conditions as functions of time and don't have fluid draining from my tank(boundary condition is wall).
-The solver must be unsteady (1st order implicit) -the multiphase model is obviously VOF. Turn on the implicit body force option -the viscous model is laminar -set the phases. The primary phase should be the lighter -on the operating conditions panel, enable gravity and specify the operating density as the one of the lighter phase. -on the boundary conditions panel, turn on the source terms and use my momentum source -keep my URFs quite big (0.6 and 0.8 for pressure and momentum respectively, 1 for the other parameters) -discretization schemes: BODY FORCE WEIGHTED for pressure, PISO for pressure velocity coupling (skewness correction=1, neighbour correction=1, turn on the skewness neighbor coupling), FIRST ORDER UPWIND for momentum. -once I initialize the flow field to create an adaption register for patching the initial fluid location (adapt>region, then patch the liquid volume fraction solve>initialise>patch, select the volume fraction of the liquid as 1) -keep my time step quite small(0.001). This is my UDF #include "udf.h" double AlnrX; DEFINE_ADJUST(Accl, domain) { double t; t = RP_Get_Real("flow-time"); AlnrX = -0.0363*sin(1.1*t); printf("time = %f\n",t); printf("accel = %f\n",AlnrX); } DEFINE_SOURCE(xmom_source, cell, thread, dS, eqn) { double pos[ND_ND]; double rho; double source; C_CENTROID(pos,cell,thread); rho = C_R(cell,thread); dS[eqn] = 0.0; source = AlnrX *rho; return source; } But my calculation is wrong comparing with experiment. Please tall me what is wrong on my setting. Thank you very much! Lin |
Re: Sloshing
How is it wrong?
Grid and timestep independance? Higher order spatial and temporal discretisation? Start with a simple dam breaking validation to check your numerics. |
All times are GMT -4. The time now is 04:37. |