Prescribed mesh motion does not correspond to actual motion
Hi, I am attempting to simulate the compression of a gas within a piston-cylinder apparatus using Ansys CFX. I am using CEL expressions to specify the mesh motion, coupled together with the 'Specified Displacement' option. I am applying the mesh motion to a subdomain of the main fluid domain and I am finding that the results of the simulation do not match the prescribed motion that I have applied through the CEL expressions, i.e. the CFX simulation lags behind the actual.
I was just wondering if it is correct to apply this type of mesh motion in this manner and if so, why do my results lag behind the prescribed motion. Thanks in advance Regards Richard |
This means you've set something up wrong. Could you post the expressions used and the relevant CCL for the subdomain and boundary conditions?
|
1 Attachment(s)
Thanks a million for your reply and apologies for the length of my reply.
I am attempting to model the compression of two opposed pistons in one cylinder, hence there is a line of symmetry down the centre of the combustion chamber and the model is axisymmetric about the central axis. Initially the cylinder is 178 mm and the stroke length is 167.81 mm. Included below are the CEL expressions used in this simulation. Note that anything to do with 'Function' are step functions used to define different phases of the compression, i.e. acceleration, CV and deceleration stages and I have omitted these CEL expressions. Also included is an image of the desired displacement function that I wish to apply as the mesh motion. This is applied to a subdomain which comprises of the full fluid domain and the function drops off linearly to zero at the mid chamber location (as there is zero mesh motion at this location). The BC's used in this simulation are all either wall or symmetry BC's, all with 'unspecified' mesh motion as mesh motion is dependent on the motion of the subdomain. Attachment 8115 Disp = OverallFunction*sDisp TDC = 167.81e-03 [m] TotalTime = 116.6e-03 [s] aAccel = 2079.05 [m/s^2] aDecel = -23493.3 [m/s^2] sDisp = sDispAccel+sDispCV+sDispDecel+sDispZero sDispAccel = (0.5*aAccel*t*t)*Function1 sDispCV = ((velCV*t)-(0.5*aAccel*tAccel*tAccel))*Function2 sDispDecel = (((t-timeDecel)*(velCV))+(0.5*aDecel*(t-timeDecel)*(t-timeDecel))+((velCV*timeDecel)-(0.5*aAccel*tAccel*tAccel)))*Function3 sDispZero = TDC*Function4 tAccel = 6.07055e-03 [s] tCV = 9.992233e-03 [s] tTotal = 16.6e-03 [s] timeDecel = tAccel+tCV velCV = 12.621 [m/s] |
So 'Disp' is the function applied to the subdomain, with 'OverallFunction' providing the linear weighting? Since this appears to only depend on t (and x/y/z to get the linear weighting I assume), then the results should be fairly easy to debug. In your results file you can get the "Total Mesh Displacement" at one end of the cylinder. Given t and x/y/z at that location you can evaluate your displacement expression. Are you saying these two don't match?
|
Thanks for your reply and yes, 'Disp' is the desired displacement function and applied as the mesh motion to the subdomain. As is shown in the graph above, the applied total displacement is 167.81 mm at the end of the cylinder exposed to the maximum displacement. From the results file, the 'Total Mesh Displacement' at this end of the cylinder is only 91.72 mm.
|
What is OverallFunction equal to? If it depends on x/y/z did you account for the fact that x/y/z will change during the solution as the mesh moves?
|
The two variables that every CEL expression depends on are 't' and 'aaxis'.... Does the 'aaxis' variable change as mesh deformation occurs?
|
aaxis is usually just equal to z, unless you have some local coord frame defined. So if the mesh moves in the z direction then yes, aaxis will change.
|
Thanks a million for your help.
|
All times are GMT -4. The time now is 13:09. |