Flow around a cone-shaped piston moving at high speed

OpenFOAM 4.x

Case directory

$FOAM_TUTORIALS/compressible/sonicDyMFoam/movingCone

Summary

We calculate the flow around a cone-shaped piston moving in a cylindrical tube. The calculation is performed with a simplified model in which a portion of the cylinder is cut out in a wedge shape for one mesh.

Model Model

The region "left" is assumed to be open to allow fluid flow in and out, the cylinder surface is set to no-slip wall conditions, and the piston surface (region "movingWall") is set to a fixed flow velocity (0, 0, 0). The piston moves from the region "left" to the region "fixedWall" at 160 m/s. The motion of the mesh is specified in the files constant/dynamicMeshDict and 0/pointMotionUx as follows.

dynamicFvMesh   dynamicMotionSolverFvMesh;
motionSolverLibs ( "libfvMotionSolvers.so" );
solver          velocityComponentLaplacian;
velocityComponentLaplacianCoeffs
{
    component       x;
    diffusivity     directional (1 200 0);
}
File: constant/dynamicMeshDict
dimensions      [0 1 -1 0 0 0 0];
internalField   uniform 0;
boundaryField
{
	movingWall
	{
		type            uniformFixedValue;
		uniformValue    constant 160;
	}
	farFieldMoving
	{
		type            slip;
	}
	fixedWall
	{
		type            uniformFixedValue;
		uniformValue    constant 0;
	}
	left
	{
		type            uniformFixedValue;
		uniformValue    constant 0;
	}
	farField
	{
		type            slip;
	}
	back
	{
		type            wedge;
	}
	front
	{
		type            wedge;
	}
}
File: 0/pointMotionUx

The meshes are as follows.

Mesh at time 0 Mesh at time 0

The calculation result is as follows.

Mesh motion
Flow velocity (U)
Flow velocity at final time (U) Flow velocity at final time (U)
Pressure at final time (p) Pressure at final time (p)

Commands

cp -r $FOAM_TUTORIALS/compressible/sonicDyMFoam/movingCone movingCone
cd movingCone

blockMesh
sonicDyMFoam

paraFoam

Calculation time

25.43 seconds *Single, Inter(R) Core(TM) i7-8700 CPU @ 3.20GHz 3.19GHz

Reference