|
[Sponsors] |
Negative Cell Volume Dynamic Mesh (Relative Motion) |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
February 27, 2022, 04:07 |
Negative Cell Volume Dynamic Mesh (Relative Motion)
|
#1 |
New Member
Farich
Join Date: Feb 2022
Posts: 1
Rep Power: 0 |
Hello, im doing some research about hydrokinetic turbine (transient and 2dimensional), where i attach moving flap in each hydrofoil and control its movement using UDF. The flap moving relatively to the rotation domain.
I always getting "negative cell volume" error while previewing mesh motion immediately (at early time step). Then i tried to move only the flap without rotate the rotating domain, and the preview mesh motion can running smoothly and shows how the flap move without getting "negative cell volume" error. But when i rotate the rotating domain, while the flap is also moving, i keep getting "negative cell volume" error. here is UDF #include "udf.h" DEFINE_CG_MOTION(bukatutup,dt,cg_vel,cg_omega,time ,dtime) { real t = CURRENT_TIME; real pi; pi = 3.141592654; NV_S (cg_omega, =, 0.0); if ((t > 0) && (t <= (0.5))) { cg_vel[0] = 0.0; cg_vel[1] = 0.0; cg_vel[2] = 0.0; cg_omega[0] = 0.0; cg_omega[1] = 0.0; cg_omega[2] = 1.125*pi; } if ((t > (0.5)) && (t <= (1))) { cg_vel[0] = 0.0; cg_vel[1] = 0.0; cg_vel[2] = 0.0; cg_omega[0] = 0.0; cg_omega[1] = 0.0; cg_omega[2] = -1.125*pi; } if ((t > (1)) && (t <= (1.5))) { cg_vel[0] = 0.0; cg_vel[1] = 0.0; cg_vel[2] = 0.0; cg_omega[0] = 0.0; cg_omega[1] = 0.0; cg_omega[2] = 1.125*pi; } if ((t > (1.5)) && (t <= (2))) { cg_vel[0] = 0.0; cg_vel[1] = 0.0; cg_vel[2] = 0.0; cg_omega[0] = 0.0; cg_omega[1] = 0.0; cg_omega[2] = -1.125*pi; } if ((t > (2)) && (t <= (2.5))) { cg_vel[0] = 0.0; cg_vel[1] = 0.0; cg_vel[2] = 0.0; cg_omega[0] = 0.0; cg_omega[1] = 0.0; cg_omega[2] = 1.125*pi; } if ((t > (2.5)) && (t <= (3))) { cg_vel[0] = 0.0; cg_vel[1] = 0.0; cg_vel[2] = 0.0; cg_omega[0] = 0.0; cg_omega[1] = 0.0; cg_omega[2] = -1.125*pi; } if ((t > (3)) && (t <= (3.5))) { cg_vel[0] = 0.0; cg_vel[1] = 0.0; cg_vel[2] = 0.0; cg_omega[0] = 0.0; cg_omega[1] = 0.0; cg_omega[2] = 1.125*pi; } if ((t > (3.5)) && (t <= (4))) { cg_vel[0] = 0.0; cg_vel[1] = 0.0; cg_vel[2] = 0.0; cg_omega[0] = 0.0; cg_omega[1] = 0.0; cg_omega[2] = -1.125*pi; } } DEFINE_CG_MOTION(domainrot,dt,cg_vel,cg_omega,time ,dtime) { real omega_z; omega_z = 1.570796; cg_vel[0] = 0.0; cg_vel[1] = 0.0; cg_vel[2] = 0.0; cg_omega[0] = 0.0; cg_omega[1] = 0.0; cg_omega[2] = omega_z; } |
|
March 5, 2022, 19:22 |
|
#2 |
Member
Marcin
Join Date: Jun 2016
Posts: 98
Rep Power: 10 |
In Preview mesh, maybe you are setting too large timestep size, and the rotation per single timestep is too large to be properly absorbed by the mesh motion module. Maybe test with smaller timestep size.
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[snappyHexMesh] snappyHexMesh does not detect highly skewed faces? | ptpacheco | OpenFOAM Meshing & Mesh Conversion | 1 | January 4, 2022 13:37 |
How to use "translation" in solidBodyMotionFunction in OpenFOAM | rupesh_w | OpenFOAM Running, Solving & CFD | 5 | August 16, 2016 05:27 |
[blockMesh] Errors during blockMesh meshing | Madeleine P. Vincent | OpenFOAM Meshing & Mesh Conversion | 51 | May 30, 2016 11:51 |
Problem of simulating of small droplet with radius of 2mm | liguifan | OpenFOAM Running, Solving & CFD | 5 | June 3, 2014 03:53 |
[Commercial meshers] Trimmed cell and embedded refinement mesh conversion issues | michele | OpenFOAM Meshing & Mesh Conversion | 2 | July 15, 2005 05:15 |