twoStrokeEngine and floating objects
I am going to solve a cfd problem similar to a two-stroke engine. Before i am going to start i would like to ask the more experienced users: is this possible to do with openfoam or should i go for another cfd tool?
A similar case is the two-stroke engine from this thesis:
The pistonhead should not use a given velocity as a boundary condition. Instead the pistonhead should be modeled as a solid body (with mass/inertia).
Is it possible to use objects from the twoStrokeEngine-library for the mesh deformation, piston layering and the sliding interfaces in combination with the piston being a floating object?
Thank you for your help!
This can be done with Openfoam, but it might require you to do some programming. The twostroke classes in of1.6-ext uses the functions you need, but I would build my own fvMesh class based on the linearValveLayersFvMesh class (which uses the same functions), and implement the inertia based motion into the linearValveLayersFvMesh::newPoints() method in linearValveLayersFvMesh.C.
It can be parallelized (with constraints on partitioning), but you will have to rewrite the linearValveLayersFvMesh class for that.
This cannot currently be done with 2.1.x with the same ease.
Thank you for your fast answer kalle! I have one more question for you ;)
Do you think this can be done with entry level C++ skills?
For applying the floating object movement to linearValveLayersFvMesh::newPoints() i would do it like this:
original code for linearValveLayersFvMesh::newPoints()
Will it really be this easy? Just by editing existing code? Or do i have to write my own methods/objects to solve this problem?
/edit: This code fragments may be from OF version 2.x.x
And i have one more question:
Is it possible for a floating solid object to collide with another solid object in openfoam? (Lets say an object is welded on top of the piston. I would like this object to collide with the top of the cylinder.)
If yes: How are the cells between those two objects treated? Will there remain one layer between the two solid bodies?
Yes, something like that was what I had in mind, using Newtons 2nd law to calulcate the velocity instead of looking it up.
I do not know how and if this is possible out-of-the box using 2.1.x. I would go for 1.6-ext on this one.
If you want some collision in your domain you get the problem that you have to completely remove some cells and merge some boundary faces. The problem is similar to a closing valve, which is usually handled by using different meshes. Hence stopping the simulation, mapping the results, and continue solving on the new mesh.
|All times are GMT -4. The time now is 16:56.|