Engine-design: air intake

A subforum specific to the development of the OpenFoam-based workbenches ( Cfd https://github.com/qingfengxia/Cfd and CfdOF https://github.com/jaheyns/CfdOF )

Moderator: oliveroxtoby

thschrader
Posts: 1366
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Engine-design: air intake

Postby thschrader » Wed Oct 03, 2018 10:21 am

Hello everyone!

There is a discussion in the german forum about designing
the air intake of a four-stroke Audi racing engine.
https://forum.freecadweb.org/viewtopic. ... 6&start=90
https://forum.freecadweb.org/viewtopic. ... 5&start=70

At the moment we use simplefoam-solver with steady/single-phase/incompressible option.
Does it makes sense to use the new Hisa-solver for such a problem?
Would be nice to see a pressure-wave / temperature-distribution running
through the engine.

At full-throttle the engine runs at 7500 rpm.
Stroke 92,8 mm, drilling 84 mm.
This gives an average mass-flow (inlet condition) of 31 grams air/sec.
The average air speed is approx 20 m/s, max piston speed is 73 m/s,
That are obviously not high-mach numbers.

When having a look at fvSchemes, there is the word „rPseudoDeltaT“.
Is Hisa a „pseudo-transient“-method? If so, how must I interpret the iteration-steps?
@Oliver: a tutorial about hisa would be sooo nice.

Comments/ideas welcome.
Thomas
air_intake.JPG
air_intake.JPG (89.44 KiB) Viewed 480 times
hisa_case.JPG
hisa_case.JPG (24.11 KiB) Viewed 480 times
User avatar
oliveroxtoby
Posts: 219
Joined: Fri Dec 23, 2016 9:43 am

Re: Engine-design: air intake

Postby oliveroxtoby » Thu Oct 04, 2018 9:33 pm

thschrader wrote:
Wed Oct 03, 2018 10:21 am
The average air speed is approx 20 m/s, max piston speed is 73 m/s,
That are obviously not high-mach numbers.
As a density-based solver, HiSA is best used at Mach numbers > 0.3. A pressure-based compressible solver such as rhoSimpleFoam/rhoPimpleFoam would probably be best here.
When having a look at fvSchemes, there is the word „rPseudoDeltaT“.
Is Hisa a „pseudo-transient“-method? If so, how must I interpret the iteration-steps?
@Oliver: a tutorial about hisa would be sooo nice.
Dual timestepping with local timestepping is used to converge the steady state solution. The pseudo-timestep used for this has no relation to actual time and is automatically computed to converge as quickly as possible.

There are some example cases in the source - see hisa.gitlab.io
thschrader
Posts: 1366
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Re: Engine-design: air intake

Postby thschrader » Fri Oct 05, 2018 5:12 pm

oliveroxtoby wrote:
Thu Oct 04, 2018 9:33 pm
There are some example cases in the source - see hisa.gitlab.io
Hello Oliver,
sorry, I have overlooked the Hisa-tutorials on gitlab.

I am trying to rebuild the basic-finner tutorial with FC.
http://hisa.gitlab.io/archive/asc/basic ... inner.html

How can I generate the nice mesh (or a mesh closed to this)
you used in the tutorial? I have set a basic element-size of 300 mm
(the cube in the corner) and 3 refinement boxes (refinement level 0,5 each box)
and at least a surface refinement of 0,2 with 5 boundary layers. As a start.
Meshing works, but the boundary-layers are located wrong.
According to the uav-tutorial: must I first set the surface refinement of
the body and after that the volume refinement? Is there a special order needed
of the mesh-refinement objects in the model tree?
I used a finner with a diameter of 200 mm and the dimensions
from the tutorial.

I downloaded the shockTube tutorial from gitlab and did a run with
bluecfd. No problems.

Air intake Audi-engine and my wrong thoughts about using Hisa:
At 7500 rpm the piston needs 0,004 seconds from the upper dead-point
to the lower dead- point („loading“-phase). Can the air follow this movement?
At atmospheric pressure of 100 kPa and a „vacuum“ in the cylinder
the air would fill the vacuum with approx 400 m/s. But the max piston speed is
at 70 m/s, the air cant be faster. This gives a Mach-number of 0,2,
I think for a non-scientific approach the use of simpleFoam solver is ok.
Thomas
mesh_finner_tutorial.JPG
mesh_finner_tutorial.JPG (123.94 KiB) Viewed 405 times
meshRefinement.JPG
meshRefinement.JPG (110.59 KiB) Viewed 405 times
cfmesh-finner.JPG
cfmesh-finner.JPG (80.83 KiB) Viewed 405 times
boundary_layer.JPG
boundary_layer.JPG (101.43 KiB) Viewed 405 times
User avatar
oliveroxtoby
Posts: 219
Joined: Fri Dec 23, 2016 9:43 am

Re: Engine-design: air intake

Postby oliveroxtoby » Tue Oct 09, 2018 6:35 am

thschrader wrote:
Fri Oct 05, 2018 5:12 pm

I am trying to rebuild the basic-finner tutorial with FC.
http://hisa.gitlab.io/archive/asc/basic ... inner.html

How can I generate the nice mesh (or a mesh closed to this)
you used in the tutorial? I have set a basic element-size of 300 mm
(the cube in the corner) and 3 refinement boxes (refinement level 0,5 each box)
and at least a surface refinement of 0,2 with 5 boundary layers. As a start.
Meshing works, but the boundary-layers are located wrong.
The mesh shown was generated with different meshing tool to cfMesh (Hexpress Hybrid I think). However your mesh looks OK to me. Have you tried selecting the symmetry plane and un-setting boundary layers on that patch?
According to the uav-tutorial: must I first set the surface refinement of
the body and after that the volume refinement? Is there a special order needed
of the mesh-refinement objects in the model tree?
I used a finner with a diameter of 200 mm and the dimensions
from the tutorial.
No special order needed.
thschrader
Posts: 1366
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Re: Engine-design: air intake

Postby thschrader » Thu Oct 11, 2018 2:15 pm

oliveroxtoby wrote:
Tue Oct 09, 2018 6:35 am
Have you tried selecting the symmetry plane and un-setting boundary layers on that patch?
No, how can I do this in the GUI?

I have the same problem when using a cylinder. The boundary layer elements
are located correct, when the cylinder is as long (or longer) than the cube.
When the cylinder is inside the cube, the boundary elements are located wrong.
I experimented hours but cant find the reason.
meshTest.FCStd
(13.95 KiB) Downloaded 8 times
cyl1.JPG
cyl1.JPG (39.65 KiB) Viewed 314 times
boundary_layer_ok.JPG
boundary_layer_ok.JPG (237.85 KiB) Viewed 314 times
boundary_layer_wrong.JPG
boundary_layer_wrong.JPG (193.25 KiB) Viewed 314 times
User avatar
oliveroxtoby
Posts: 219
Joined: Fri Dec 23, 2016 9:43 am

Re: Engine-design: air intake

Postby oliveroxtoby » Thu Oct 11, 2018 8:52 pm

thschrader wrote:
Thu Oct 11, 2018 2:15 pm
oliveroxtoby wrote:
Tue Oct 09, 2018 6:35 am
Have you tried selecting the symmetry plane and un-setting boundary layers on that patch?
No, how can I do this in the GUI?
I was thinking you could add the symmetry face as a refinement region and unselect boundary layers (or set them to 1), but I don't think that will make a difference.
I have the same problem when using a cylinder. The boundary layer elements
are located correct, when the cylinder is as long (or longer) than the cube.
When the cylinder is inside the cube, the boundary elements are located wrong.
I experimented hours but cant find the reason.
Try removing and re-adding the references in the mesh region object - if the geometry changes, the numbering will change. The cylinder works OK for me. However, cfMesh will often continue boundary layers onto adjacent patches (probably depending on feature angle), so this behaviour might be unavoidable depending on geometry.
Screenshot from 2018-10-11 22-50-13.png
Screenshot from 2018-10-11 22-50-13.png (266.71 KiB) Viewed 293 times