|
11 | 11 |
|
12 | 12 | #pragma once |
13 | 13 | #include <cmath> |
14 | | -#include "floatdef.h" |
15 | 14 |
|
16 | 15 | /* Softening for BarnesHut */ |
17 | | -inline real nextSoftening(real nodeSize, |
18 | | - real nodeMass, |
19 | | - real dist) |
20 | | -{ |
21 | | - // Base softening from node size |
22 | | - real eps_size = nodeSize * real(0.015); |
| 16 | +inline real nextSoftening(real nodeSize, real nodeMass, real dist) { |
| 17 | + // Base softening from node size |
| 18 | + real eps_size = nodeSize * real(0.015); |
23 | 19 |
|
24 | | - // Mass-based softening (physical radius proxy) |
25 | | - real eps_mass = std::cbrt(nodeMass) * real(0.002); |
| 20 | + // Mass-based softening (physical radius proxy) |
| 21 | + real eps_mass = std::cbrt(nodeMass) * real(0.002); |
26 | 22 |
|
27 | | - // Distance taper: strong at r→0, fades smoothly |
28 | | - real eps_taper = real(1.0) / (real(1.0) + dist * real(10.0)); |
| 23 | + // Distance taper: strong at r→0, fades smoothly |
| 24 | + real eps_taper = real(1.0) / (real(1.0) + dist * real(10.0)); |
29 | 25 |
|
30 | | - // Combine |
31 | | - real eps = (eps_size + eps_mass) * eps_taper; |
| 26 | + // Combine |
| 27 | + real eps = (eps_size + eps_mass) * eps_taper; |
32 | 28 |
|
33 | | - // Minimum floor |
34 | | - const real eps_min = real(1e-4); |
35 | | - if (eps < eps_min) |
36 | | - eps = eps_min; |
| 29 | + // Minimum floor |
| 30 | + const real eps_min = real(1e-4); |
| 31 | + if (eps < eps_min) |
| 32 | + eps = eps_min; |
37 | 33 |
|
38 | | - return eps; |
| 34 | + return eps; |
39 | 35 | } |
40 | 36 |
|
41 | 37 | /* Softening for Gravity kernel */ |
42 | | -inline real pairSoftening(real ma, real mb) |
43 | | -{ |
44 | | - // Physical radius proxy |
45 | | - real ea = std::cbrt(ma) * real(0.002); |
46 | | - real eb = std::cbrt(mb) * real(0.002); |
| 38 | +inline real pairSoftening(real ma, real mb) { |
| 39 | + // Physical radius proxy |
| 40 | + real ea = std::cbrt(ma) * real(0.002); |
| 41 | + real eb = std::cbrt(mb) * real(0.002); |
47 | 42 |
|
48 | | - // Symmetric combination (quadrature) |
49 | | - real eps = std::sqrt(ea*ea + eb*eb); |
| 43 | + // Symmetric combination (quadrature) |
| 44 | + real eps = std::sqrt(ea * ea + eb * eb); |
50 | 45 |
|
51 | | - // Minimum floor |
52 | | - const real eps_min = real(1e-4); |
53 | | - if (eps < eps_min) |
54 | | - eps = eps_min; |
| 46 | + // Minimum floor |
| 47 | + const real eps_min = real(1e-4); |
| 48 | + if (eps < eps_min) |
| 49 | + eps = eps_min; |
55 | 50 |
|
56 | | - return eps; // return epsilon |
| 51 | + return eps; // return epsilon |
57 | 52 | } |
0 commit comments