CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

To use or not to use linearValveLayersFvMesh

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   March 11, 2009, 05:18
Default Hi FOAMers, based on my s
  #1
Member
 
Marco Müller
Join Date: Mar 2009
Location: Germany
Posts: 94
Rep Power: 8
marico is on a distinguished road
Hi FOAMers,


based on my soliloquy http://www.cfd-online.com/OpenFOAM_D...s/1/11461.html,
I thought it would be useful to focus on the problem:

basically I need to simulate a reciprocating engine with one
piston and one valve. I HAVE TO add layers, because the valve
is closed in the beginning. So I chose the topoChangerFvMesh-class:

linearValveLayersFvMesh.

After comparing it with linearValveFvMesh (for which some tutorials
exist) I found out, that the main difference between both is (except
of layer addition/removal), HOW the Points are moved.
linearValveLayersFvMesh uses a more simple function "tnewpoints",
calculating the points out of the "pistonVelocity"-vector defined in
the dynamicMeshDict.
linearValveFvMesh instead uses a general motion solver (e.g.
velocityLaplacian). Correct me, if I'm wrong.

Both, piston and valve, move in my simulation according to an motionlaw
depending on time. Therefore the simple "pistonVelcity" in lVLayersFMesh
is not usable to me: I need to use the motion solver.

So I tried to add the motion solver called in lVFMesh to the lVLayersFMesh
library, removed the "tnewpoints"-function and did a small testcase
(executed with moveDynamicMesh).
The layer removal works, but if the criterion to ADD layers is reached,
the calculation stops with "floating point exception".

So my questions are:

1. Is it possible, to simply insert the motion solver in lVLayersFMesh,
as it is implemented in lVFMesh.

2. If true: how to do?


Here are the src-files:

linearValveLayersFvMesh.H
linearValveLayersFvMesh.C

and the testcase:

testcase

(Info: I removed mesh because of filesize. After blockmesh you have to
run moveDynamicMesh and after it gives out an error, you have to copy
the meshModifiers-file into the polyMesh directory. That sounds stupid,
but I found no other way to realize it, because automatic meshModifiers
creation fails at the beginning.)

Thank You
Marco
marico is offline   Reply With Quote

Old   March 12, 2009, 05:35
Default Hi, maybe it would be also
  #2
Member
 
Marco Müller
Join Date: Mar 2009
Location: Germany
Posts: 94
Rep Power: 8
marico is on a distinguished road
Hi,

maybe it would be also possible to use the standard linearValveLayersFvMesh and define an expression (time-dependent) for pistonVelocity.
Does anyone know how to do this?

Thank You
Marco
marico is offline   Reply With Quote

Old   March 17, 2009, 03:20
Default
  #3
Member
 
Marco Müller
Join Date: Mar 2009
Location: Germany
Posts: 94
Rep Power: 8
marico is on a distinguished road
Hi All,

I have now extended the linearValveLayersFvMesh to apply layering and sliding interfaces to two (or more) different regions. Furthermore there is the standard piston movement function based on velocity implemented. (using 1.5-dev)
The library is here:

linearValvePistonLayersFvMesh.tar.gz

I created a little testcase (case.tar.gz) a the library worked (in both regions layers were added/removed and the slider worked, but I did only moveDynamicMesh). Now I created a bit more complicated case based on 10 blocks, but the dynamic mesh fails with the following error (even if the point movement of dx= 0 is applied):

Zero length edge detected. Probable projection error: slave patch probably does not project onto master. Please switch on enriched patch debug for more info

From function void enrichedPatch::calcCutFaces() const
in file polyMeshModifiers/slidingInterface/enrichedPatch/enrichedPatchCutFaces.C at line 248.

FOAM aborting


I searched in forums, but the instructions there did not help me. When using debug I can only find out that the problem occurs in the sliding interface. So probably it is a more general problem. Here are some pictures of my case, maybe someone can help me with that:

Mesh (symmetry used):
geom1.jpg

Inner slider (5 patches):
geom2.jpg

Outer slider (2 patches):
geom3.jpg


Thank You
Marco
marico is offline   Reply With Quote

Old   March 19, 2009, 04:40
Default
  #4
New Member
 
Francesco Contino
Join Date: Mar 2009
Posts: 25
Rep Power: 8
francesco is on a distinguished road
If I'm right Marco. So far, you managed to run a case with layer addition and removal.

Your problem is when the sliding interface are playing a role?
francesco is offline   Reply With Quote

Old   March 19, 2009, 04:46
Default
  #5
New Member
 
Francesco Contino
Join Date: Mar 2009
Posts: 25
Rep Power: 8
francesco is on a distinguished road
Marco,

In the current 1.5-dev version (available here : http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/release/)

There is a reference to the class engineTopoChangerMesh which according to me and the implementation of the simpleEngine tutorial seems to deal with piston and valves.
francesco is offline   Reply With Quote

Old   March 20, 2009, 03:11
Default
  #6
Member
 
Marco Müller
Join Date: Mar 2009
Location: Germany
Posts: 94
Rep Power: 8
marico is on a distinguished road
Hi Francesco,

thanks for your reply. It was not my intention to write a new class, I just did not hear of engineTopoChangerMesh before. That seems to be the right thing but I found no tutorials, so can anyone help with that? Especially hat to call it in dynamicMeshDict and how to apply the motion?

Yes, the problem I am facing with my class seems to deal with sliding interfaces. The testcase I did before was 2D but both (layering AND sliding) worked!

Marco
marico is offline   Reply With Quote

Old   December 31, 2012, 02:08
Default
  #7
New Member
 
RJ HO
Join Date: Dec 2012
Posts: 21
Rep Power: 4
RJ87 is on a distinguished road
Hi Marco,

Hope you don't mind if I ask, what software did you use for your mesh generation?
RJ87 is offline   Reply With Quote

Old   July 5, 2013, 02:37
Default
  #8
Senior Member
 
Sasan Ghomi
Join Date: Sep 2012
Location: Iran - Tehran
Posts: 185
Rep Power: 4
sasanghomi is on a distinguished road
Hi friends,
I have similar problems for using sliding interface for engine simulation..I am using sonicTurbDyMEngineFoam as a solver and simpleEngineTopoFvMesh class (I am using mesh modifiers ) Any body can help me?

best regards
sasanghomi is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 13:59.