ProjectPhysX / FluidX3D

The fastest and most memory efficient lattice Boltzmann CFD software, running on all GPUs via OpenCL. Free for non-commercial use.
https://youtube.com/@ProjectPhysX
Other
3.48k stars 281 forks source link

Definition of the rotational axis of a tilt propeller #166

Closed wjsjtu123 closed 3 months ago

wjsjtu123 commented 3 months ago

I'm using fluidx3d for rotational simulation of a propeller. In the initial state, there is no angle of attack between the wing and the propeller, and the propeller is in rotational motion around the x-axis, the code is defined as follows:

lbm.voxelize_mesh_on_device(propellers, TYPE_S, propellers->get_center(), float3(0.0f), float3(omega, 0.0f, 0.0f)); // revoxelize mesh on GPU
lbm.run(lbm_dt); // run dt time steps
propellers->rotate(float3x3(float3(1.0f, 0.0f, 0.0f), domega)); // rotate mesh
To ensure a 15 degree angle of attack for the wing, I rotated the wing and propeller 15 degrees along the y-axis. At this point I use the following definition:
lbm.voxelize_mesh_on_device(propellers, TYPE_S, propellers->get_center(), float3(0.0f), float3(omega*0.9659f, 0.0f, omega*0.2588f)); // revoxelize mesh on GPU
lbm.run(lbm_dt); // run dt time steps
propellers->rotate(float3x3(float3(0.9659f, 0.0f, 0.2588f), domega)); // rotate mesh

The propeller does not follow the given axis, how do I solve it?Thank you very much. The geometric model is schematically shown below image