3D engine simulation & error
1 Attachment(s)
Dear foamers ,
I am simulating a 3D engine with sonicTurbDymEngineFoam and simpleEngineTopoFVmesh library.... I imported the mesh from GAMBIT to openfoam and when I run the case I have an error... Code:
187531 How Can I overcome this problem? I appreciate any help from you.. Thanks and best regards, Sasan. |
sometimes I have another error :
Code:
/*---------------------------------------------------------------------------*\ Sasan. |
hi!
since ur working with a mesh created outside OF i suggest u to test it at with a steady state or transient solver b4 running the dynamic mesh case. moreover u might have to start the case with non-zero set of physical quantities... u might need the steadystate values at t=0s That's all i can say for now! sry i cant be of more help!:( gl |
Hi Sasan.
I see a problem in the 2D area (the valve "seating" area) in the mesh. I will try to generate the mesh with both valves down and after that I will move them to the position with using of simpleEngine and moveEngineMesh solver. You will after that have better control of the mesh. And again, if you will have another troubles, you would post the case here and I will take a deeper look :) |
@ mauricio :
Hi mauricio thanks for your reply. _______________________________________________ @ Martin Hi Martin , thanks for your reply, Actually I don't know anything about moveEngineMesh but I will try to do your idea and I will report the result.. Thanks and best regards, Sasan. |
Quote:
|
Hi Martin ,
I have an error for 3D simulation... Code:
--> FOAM FATAL ERROR: For solving this problem I used mergeMeshes for creating interface and unfortunately I had this error again... Do you think this error comes from engineGeometry or mesh generation?? please guide me.. Thanks and best regards, Sasan. |
Hi Martin ,
I increased the gap between valve and valve seat and I refined mesh in this region ( similar to 2D case) But unfortunately I have Motion continuity errors ... Starting time loop Courant Number mean: 0 max: 0 velocity magnitude: 0 deltaT = 2.6455e-06 Crank angle = 0.0238095 CA-deg CG: Solving for motionUx, Initial residual = 0, Final residual = 0, No Iterations 0 CG: Solving for motionUy, Initial residual = 0, Final residual = 0, No Iterations 0 CG: Solving for motionUz, Initial residual = 0.213596, Final residual = 0.000179652, No Iterations 20 CG: Solving for motionUx, Initial residual = 4.89248e-09, Final residual = 4.42683e-10, No Iterations 1 CG: Solving for motionUy, Initial residual = 0, Final residual = 0, No Iterations 0 CG: Solving for motionUz, Initial residual = 0.000100573, Final residual = 7.10585e-08, No Iterations 21 Volume: new = 48492.4 old = 48492.3 change = 0.0719435 Motion continuity errors : sum local = 1.22866e-15, maximum = 2.88108e-14 Floating point exception (core dumped) How can I overcome this error? I need your help... I appreciate any help from you.. Thanks and best regards, Sasan. |
I'm not sure that the problem is what you think it is. When you have motion continuity errors, that means that the continuity equations is not exactly obeyed due to the numerical discretization and schemes, which is normal. If you look at the magnitude of the errors (1e-14) they are very small so you are okay.
I'm not sure what the floating point error comes from, as there aren't any other error messages. My guess its something to do with your mesh definition. You can try turn on all the debug switches in the global controlDict that have to do with moving meshes and topoChangers and see if you get more information. |
4 Attachment(s)
Dear Marco,
Thank you very much for your reply.;) I added debug switches at the end of controlDict but unfortunately I didn't get more information. I am tired of this error..:( I attached 4 pictures of the mesh..Do you think the mesh is good?Or not? I tried to create a good mesh why the mesh create some problems:( I appreciate any help from you. Thanks and best regards, Sasan. |
Quote:
Some advice I can offer is to look at the code in enrichedPatchCutFaces.C and see what condition is being violated when that error message is thrown. My copy of enrichedPatch doesn't have that line, but I am running 2.2.x. I think your mesh is fine for stationary simulation, but when involving the topology modifiers things get very complicated very fast. Why don't you simulate with a simpler engine mesh class (fvMotionSolverEngineMesh) and simulate the valve closing until your timestep falls below a certain value, then remeshing without the valve passages (closing off the domain) until you need to move them again? I've seen many people do this as the topology modifiers can be a bit of a pain to get working. |
1 Attachment(s)
thanks for your reply marco ,
I attached enrichedPatchCutFaces.C I have not worked with fvMotionSolverEngineMesh...is there in version 1.6-ext? what are things that I must change for using this library in my case? only enginGeometry? Can you set here an engineGeometry file for using this library? Thanks and best regards, Sasan |
Thanks Sasan. From a quick read it seems like the problem is that the sliding face isn't planar, though I can't be 100%; it may be possible this engineMesh only works in 2D and requires the sliding interface to be planar.
fvMotionSolverEngineMesh requires a dynamicMeshDict to specify the type of motionSolver you are using (have a look at the pimpleDyMFoam tutorial case movingCone), and you will need a pointMotionU file in the initial time directory that give the velocity profile of the valve motion for the valve boundaries. |
your mean is that I must change my solver? or only dynamicFvMesh ??
which solver?which version? and this class doesn't have sliding interface? am I right? only layering? and for attach/detach for valves it remesh the grid? |
As long as your solver uses engineMesh (so engineFoam or dieselEngineFoam) you will be fine. The dynamicMeshDict specifies what motionSolver you want to use (how to solve for the point motion equation and what the diffusivity of the points of the mesh should be).
These classes don't have ANY topology change at all. This will require you to remesh whenever the mesh quality gets very poor or when you want to change the topology (open/close valves, etc). You can write a script to remesh when your simulation crashes, as poor mesh will likely cause that to happen. |
Quote:
Sorry for my late respond, but the world gets crazy these days. Marco have post lot of useful information and I try to extend some of these ideas. If you want debug messages you should compile OpenFoam in debug mode. On the forum is there one thread, where the compilation is described ( admin is Bruno Santos). As Marco have said, the motion continuity errors aren't the problem. The problem arises somewhere after the motion continuity errors are written on the screen. You should look into the code (try to use eclipse). Do you have tried stitchmesh for the ports any cyls of the valve curtain? Antoher possible problem for LayerAR I see in the poppet patch of the valves As I have found in second chapter of this thesis (page 23) http://www.tfd.chalmers.se/~hani/pdf...sterThesis.pdf The layer addition and removal is carried out according to the following algorithm. Two cell layers are defined, one static and one dynamic. These must have the same structure. The neighbouring faces of two layers must be normal to each other. The dashed line in Figure 2.14 shows such a set of faces. This requires a hexahedral mesh in the layering region. If the stitchMesh will work normally, you might try to set the deformAngle to 180 in order to get the mesh deformation. If the error remain the same, you should look at the boundary conditions. Again, it will be better, if you post the case somewhere and here place the link. Best regards Martin |
Hi Martin ,
I am very glad for returning you. thanks for your reply. Can I have your email for sending the case? best regards, Sasan |
Quote:
I appreciate your help. Thanks and best regards, Sasan. |
Quote:
sure, here it is: novakm@karlin.mff.cuni.cz But I think that posting the case here will be better. more eyes see more... M |
Hi Dear Marco,
a good day to you. I am trying to use fvMotionsolver for engineMesh (as you were advised) but I need your help. How can I define a profile for piston or valves in the pointMotionUx file? I think I should use of equations in the refrence books of internal combustion engines for speed of piston .But for valves I have valvelift versus CAD (a lot of points (CAD & valvelift) I don't have a function) .. How can I set this boundary conditions for valves and piston? ( in pointMotionUx file ) My second question is about geometry . can you explain about static geometry? should I change the geometry? how can I close the exhaust valve at the begining of time ? and how can I close the inlet valve at the exhaust stroke ? you said I must use a script but I don't know anythings about that. I appreciate any help from you, Thanks and best regards, Sasan. |
All times are GMT -4. The time now is 16:24. |