You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: LICENSE.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@ Copyright (c) 2022-2024 Dr. Moritz Lehmann
2
2
3
3
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files, to use this software for public research, education or personal use, and to alter it and redistribute it freely, subject to the following restrictions:
4
4
5
-
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
5
+
1. The [origin of this software](https://github.com/ProjectPhysX/FluidX3D) must not be misrepresented; you must not claim that you wrote the original software. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
6
6
2. Commercial use is not allowed. You may not sell this software, altered source versions, any part thereof or any of the rights granted to you under the license. You may not provide to third parties, for a fee or other consideration (including without limitation fees for hosting or consulting/support services related to the software), a product or service whose value derives from the functionality of this software, altered source versions or any part thereof, unless explicit permission is granted to you by the copyright owner.
7
7
3. Military use is not allowed. You may not use this software, altered source versions or any part thereof for military research or any military or defense industry purposes, or within a military institution.
8
8
4. You may not train AI models on the source code of this software, altered source versions or any part thereof.
- added option to voxelize moving/rotating geometry on GPU, with automatic velocity initialization for each grid point based on center of rotation, linear velocity and rotational velocity
35
35
- cells that are converted from solid->fluid during re-voxelization now have their DDFs properly initialized
36
36
- added option to not auto-scale mesh during `read_stl(...)`, with negative `size` parameter
37
37
- added kernel for solid boundary rendering with marching-cubes
- added slice visualization (key <kbd>2</kbd> / key <kbd>3</kbd> modes, then switch through slice modes with key <kbd>T</kbd>, move slice with keys <kbd>Q</kbd>/<kbd>E</kbd>)
63
63
- made flag wireframe / solid surface visualization kernels toggleable with key <kbd>1</kbd>
64
64
- added surface pressure visualization (key <kbd>1</kbd> when `FORCE_FIELD` is enabled and `lbm.calculate_force_on_boundaries();` is called)
@@ -69,7 +69,7 @@ The fastest and most memory efficient lattice Boltzmann CFD software, running on
69
69
- reverted back to separate `cl::Context` for each OpenCL device, as the shared Context otherwise would allocate extra VRAM on all other unused Nvidia GPUs
70
70
- removed Debug and x86 configurations from Visual Studio solution file (one less complication for compiling)
71
71
- fixed bug that particles could get too close to walls and get stuck, or leave the fluid phase (added boundary force)
- finally added more [documentation](DOCUMENTATION.md)
74
74
- cleaned up all sample setups in `setup.cpp` for more beginner-friendliness, and added required extensions in `defines.hpp` as comments to all setups
75
75
- improved loading of composite `.stl` geometries, by adding an option to omit automatic mesh repositioning, added more functionality to `Mesh` struct in `utilities.hpp`
@@ -87,15 +87,15 @@ The fastest and most memory efficient lattice Boltzmann CFD software, running on
87
87
- fixed bug in Q-criterion rendering of halo data in multi-GPU mode, reduced gap width between domains
88
88
- removed shared memory optimization from mesh voxelization kernel, as it crashes on Nvidia GPUs with new GPU drivers and is incompatible with old OpenCL 1.0 GPUs
89
89
- fixed raytracing attenuation color when no surface is at the simulation box walls with periodic boundaries
Copy file name to clipboardExpand all lines: src/defines.hpp
+5-2Lines changed: 5 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -31,15 +31,18 @@
31
31
#defineGRAPHICS_FRAME_WIDTH1920// set frame width if only GRAPHICS is enabled
32
32
#defineGRAPHICS_FRAME_HEIGHT1080// set frame height if only GRAPHICS is enabled
33
33
#defineGRAPHICS_BACKGROUND_COLOR0x000000// set background color; black background (default) = 0x000000, white background = 0xFFFFFF
34
-
//#define GRAPHICS_TRANSPARENCY 0.7f // optional: comment/uncomment this line to disable/enable semi-transparent rendering (looks better but reduces framerate), number represents transparency (equal to 1-opacity) (default: 0.7f)
35
34
#defineGRAPHICS_U_MAX0.25f// maximum velocity for velocity coloring in units of LBM lattice speed of sound (c=1/sqrt(3)) (default: 0.25f)
35
+
#defineGRAPHICS_RHO_DELTA0.01f// coloring range for density rho will be [1.0f-GRAPHICS_RHO_DELTA, 1.0f+GRAPHICS_RHO_DELTA] (default: 0.01f)
36
+
#defineGRAPHICS_T_DELTA1.0f// coloring range for temperature T will be [1.0f-GRAPHICS_T_DELTA, 1.0f+GRAPHICS_T_DELTA] (default: 1.0f)
37
+
#defineGRAPHICS_F_MAX0.001f// maximum force in LBM units for visualization of forces on solid boundaries if VOLUME_FORCE is enabled and lbm.calculate_force_on_boundaries(); is called (default: 0.001f)
36
38
#defineGRAPHICS_Q_CRITERION0.0001f// Q-criterion value for Q-criterion isosurface visualization (default: 0.0001f)
37
-
#defineGRAPHICS_F_MAX0.002f// maximum force in LBM units for visualization of forces on solid boundaries if VOLUME_FORCE is enabled and lbm.calculate_force_on_boundaries(); is called (default: 0.002f)
38
39
#defineGRAPHICS_STREAMLINE_SPARSE4// set how many streamlines there are every x lattice points
39
40
#defineGRAPHICS_STREAMLINE_LENGTH128// set maximum length of streamlines
40
41
#defineGRAPHICS_RAYTRACING_TRANSMITTANCE0.25f// transmitted light fraction in raytracing graphics ("0.25f" = 1/4 of light is transmitted and 3/4 is absorbed along longest box side length, "1.0f" = no absorption)
41
42
#defineGRAPHICS_RAYTRACING_COLOR0x005F7F// absorption color of fluid in raytracing graphics
42
43
44
+
//#define GRAPHICS_TRANSPARENCY 0.7f // optional: comment/uncomment this line to disable/enable semi-transparent rendering (looks better but reduces framerate), number represents transparency (equal to 1-opacity) (default: 0.7f)
0 commit comments