scieee AI-readable full text Open interactive document viewer

Holographic Entropy Growth in Expanding Universe: Thermodynamic Consistency and Screen Interpretation

SATO, DAISUKE

Full text

Holographic Entropy Growth in Expanding Universe: Thermodynamic Consistency and Screen Interpretation Daisuke SATO1,2* 1*Comprehensive Research Organization for Science and Society, Tsukuba Industry-Academic Collaboration Building, 1601 Kamitakatsu, Tsuchiura City, Ibaraki Prefecture, JAPAN. 2College of Science, Engineering and Technology, University of South Africa, NB Pityina Building Florida, Johannesburg, Gauteng, Republic of South Africa. Corresponding author(s). E-mail(s): daisuk[email protected]; ORCID: 0009-0008-3878-4169; Abstract We present a unified theoretical framework for entropy growth in an expanding universe using holographic thermodynamics, establishing a parameter-free description of gravitational dynamics across 61 orders of magnitude–from Planck length (10−35 m) to Hubble radius (1026 m). A cosmological holographic screen at fixed comoving radius encodes bulk entropy and mediates a generalized entropic force F=Ts(l)dS dx linking microscopic degrees of freedom to macroscopic spacetime expansion, demonstrating that gravity emerges as a thermodynamic phenomenon rather than a fundamental interaction. In this study, we define the scale-dependent temperature uniformly as Ts(l)=TUexp −l2 l2 c+ THh1−exp −l2 l2 ciThe entropic force follows Verlinde (2011) as F=Ts(l)dS dx This scale-dependent temperature ensures dimensional consistency across all physical regimes, recovering Newton’s law F=ma locally while yielding the Planck force F=c4/G cosmologically, thereby unifying quantum gravity and cosmology without free parameters. The crossover scale lcmarks the transition from Newtonian gravitational dynamics to cosmic expansion, bridging local acceleration phenomena with macroscopic cosmological structures. This formulation 1 yields the fundamental Planck force through rigorous dimensional analysis: FPl =TPl ×kB lPl =sℏc5 Gk2 B ×kB×sc3 ℏG=kBsℏc8 G2k2 Bℏ=kB×c4 GkB =c4 G. (1) Dimensional verification: [TPl ×(kB/lPl)] = [K] ×[J ·K−1·m−1] = [J ·m−1] = [N]. The numerical value is FPl =c4 G≈1.21 ×1044 N. At the Planck scale, the heat capacity is CV=−8πkBGM2 ℏcwith CV= T∂S ∂T V=dE dT =−8πkBGM2 ℏc<0.The combined Boltzmann distribution shows: exp −E kBTU= exp −E·2πc ℏaThis numerical coincidence reflects a profound connection between cosmological dynamics and quantum gravity. Entropy growth follows dS dt =−2πkBc5 ℏG 1 H(t)3 dH dt implying dS dt >0when dH dt < 0, valid throughout radiationand matter-dominated eras, satisfying the second law of thermodynamics. In dark energy-dominated epochs, as H(t)→HΛ, direct time derivative dS/dt →0, but total entropy S(t)continues increasing via dynamical screen area expansion A= 4πR2 H, demonstrating holographic projection resolves apparent entropy conservation paradoxes in accelerating cosmologies. On cosmological scales, the entropic force FH=THdS dx =MHHc, where MH=c3/(GH)is the Hubble mass and Sscreen =πc5/(ℏGH2)is the holographic screen entropy. The cosmological constant emerges dynamically as Λ∝H2, with present-day value Λ0= 1.592 ×10−52 m−2derived from Planck 2018 observations (ΩΛ,0= 0.684), reproducing observed cosmological parameters within 1% margin. The universal entropy function unifying radiation and matter regimes is expressed as y(x) = x2 1−(1 −x)3/4 where x=Ematter/Etotal is the dimensionless matter energy fraction. This interpolation function reconciles •Radiation entropy scaling: Sr∝E3/4 r(from Er∝T4and Sr∝T3), •Matter entropy scaling: Sm∝E2 m(from black hole thermodynamics and information theory). Planck-normalized entropy ˜y= (S/kB)/(Etotal/EPlanck)2establishes a universal dimensionless framework valid across approximately 80 orders of magnitude in energy. Temperature transitions: local Ts→TU= 3.97 ×10−20 K; cosmological Ts→TH= 2.65 ×10−30 K. The framework interprets dark energy as emergent from entropy flow. We predict observable signatures including gravitational wave anomalies and Hawking radiation modifications testable via LISA (∆A∼10−22), DECIGO, and optical lattice clocks, providing concrete observational tests distinguishing this framework from ΛCDM at sub-percent precision. Important Note: This work does not challenge, contradict, or replace General Relativity. Einstein’s field equations Gµν = 8πGTµν remain 2 the fundamental description of gravity. Following Jacobson (1995) and Verlinde (2011), who derived GR from entropy principles, This work adopts their thermodynamic perspective to investigate entropy growth in an expanding universe. All theory and observational predictions of GR are strictly preserved. Keywords: Cosmology, Gravitational Thermodynamics, Thermodynamics, Gravity, Entropy Growth, Non-equilibrium Structures, Holographic thermodynamics system 1 Introduction 1.1 Consistency with the Foundational Theory of General Relativity "This study does not refute the framework of general relativity. Therefore, Gµν = 8πGTµν always holds. Rather, it unifies the entropic force and the holographic principle through entropy and gravitational thermodynamics. The framework proposes that entropy is the fundamental driving force behind universal expansion and structure formation. In this context, general relativity emerges naturally from entropic considerations within the gravitational thermodynamics approach. This unified perspective provides a natural explanation for both cosmic expansion and structure origins, remaining consistent with established general relativity theory." 1.2 Clarification on Dimensional Consistency of the Entropic Force The entropic force framework connects thermodynamic quantities to gravitational dynamics through a fundamental relationship between temperature, entropy gradient, and force. Dimensional rigor is essential for establishing this connection across all physical scales. This section provides a complete clarification of the dimensional consistency underlying our approach. 1.3 Theoretical Foundation in Established Literature The contemporary understanding of gravity as an entropic phenomenon draws from the seminal contributions of: Unruh (1976) [133], who established the thermal nature of accelerated observers; Padmanabhan (1985) [101], who connected spacetime geometry to thermodynamic quantities; ’t Hooft and Susskind (1993) [129], who formulated the holographic principle; and Jacobson (1995) [71], who derived Einstein equations from thermodynamic extremal principles. The framework we adopt follows Verlinde (2010) [134], which interprets gravity as an emergent entropic force arising from information encoding on a holographic boundary. The key physical concepts underlying this framework are: 3 •Holographic information encoding: All information describing the system is encoded two-dimensionally on a holographic screen rather than in the threedimensional bulk. •Scale-dependent entropic force: The fundamental force across all physical scales is generated by the thermodynamic tendency to maximize entropy, expressed through the unified formulation Recent theoretical developments have demonstrated that Padmanabhan’s and Verlinde’s frameworks for emergent gravity, when unified through the scale-dependent temperature interpolation, can be understood within a unified maximum entropy principle. These advances further consolidate the theoretical foundation of scale-dependent entropic gravity and its connection to quantum information theory. 2 Theoretical Framework 2.1 Dimensionally Rigorous Entropic Force at All Physical Scales The entropic force that governs the dynamics across scales from quantum regimes to cosmological horizons must be formulated with strict dimensional consistency. We adopt the unified scale-dependent formulation F=Ts(l)·dS dx ,(2) where: •Fis the force [N] = [kg·m·s−2], •Ts(l)is the scale-dependent thermodynamic temperature [K], •Sis the gravitational entropy [J·K−1], •xis the spatial displacement coordinate [m]. TU=ℏa 2πckB (Unruh temperature),(3) TH=ℏH 2πkB (Hubble temperature),(4) lc≈LPlanck =rℏG c3(crossover scale).(5) FH=TH·dS dx =MH·H·c, (6) . 4 Concept Researcher (Year) Key Formula or Principle Boltzmann entropy Boltzmann (1872– 1875) S=kBln W Planck (1900) Stotal =SA+SB Shannon entropy Claude Shannon (1948) H=−Pipiln pi Maximum entropy principle Jaynes (1956–1957) Equivalence with Boltzmann– Gibbs entropy Canonical distribution Jaynes (1957) pi∝e−βEi, β = 1/(kBT) Bekenstein– Hawking entropy Bekenstein (1973) [22], SBH =4πkBGM2 ℏc Hawking (1974–1975) [65] Hawking temperature Hawking (1974–1975) [65] TH=ℏc 4πkBRS Holographic principle ’t Hooft, Susskind (1995) [126,129] S∝A(entropy ∝area) Gravity from thermodynamics Jacobson (1995) [71]δQ =T dS ⇒Gµν = 8πGTµν Unruh temperature Unruh (1976) TU=ℏa 2πckB Entropic force Verlinde (2010) [134]F=T(dS/dx) Scale-dependent entropic force Horava (2012), present work F=Ts(l)(dS/dx) Table 1 Integration of unified scale-dependent entropic force framework with established theoretical foundations. The scale-dependent formulation F=Ts(l)(dS/dx)represents a unification of local (Unruh, Jacobson) and cosmological (Horava, holographic) perspectives within a single coherent framework. 5 2.1.1 Cosmological Scale Limit (l≫lc) At cosmological scales where l≫lc, the scale-dependent temperature approaches the Hubble temperature, yielding: Ts(l)→THas l→ ∞,(7) FH=TH·dS dx =MH·H·c, (8) where: MH=c3 GH (Hubble mass),(9) Sscreen =πc5 ℏGH2(holographic screen entropy).(10) Dimensional verification: [MH·H·c] = [kg] ×[s−1]×[m ·s−1] = [kg ·m·s−2] = [N].(11) 2.1.2 Combined Boltzmann Distribution Foundation The statistical-probabilistic foundation for the scale-dependent temperature is provided by the combined Boltzmann distribution: P(x;l) = wU(l)·exp −EU kBTU+wH(l)·exp −EH kBTH,(12) where: wU(l) = exp −l2 l2 c,(13) wH(l) = 1 −exp −l2 l2 c.(14) The crucial observation is: exp −E kBTU= exp −E·2πc ℏa,(15) demonstrating that the Boltzmann constant kBis cancelled by its appearance in the temperature definitions. This ensures that the form F=T(dS/dx)is statistically rigorous and probabilistically exact, as demonstrated by Verlinde (2010) [134], Jacobson (1995) [71], and Horava (2012). To address the cancellation of kBin the combined Boltzmann factor exp −E kBTU= exp −E·2πc ℏa, which ensures statistical rigor under Verlinde’s 6 entropic force hypothesis but requires generalization to quantum statistics (FermiDirac or Bose-Einstein distributions), we propose a minimal extension via the grand canonical ensemble at zero chemical potential (µ= 0): The generalized occupation number n(E) = 1 e(E−µ)/kBTs(l)±1(with +for fermions, −for bosons) reduces to the classical Maxwell-Boltzmann limit n(E)≈e−E/kBTs(l) for E≫kBTs(l), preserving the kBcancellation in the high-energy tail dominant for holographic screens. For low-energy quantum regimes (l∼lPl), the Pauli/Fermi exclusion or Bose enhancement introduces a scale-dependent fugacity correction f±(l) = 1± e−l2/l2 c, yielding an effective temperature Tqm s(l) = Ts(l)/[1+f±(l)·(kBTs(l)/E)]. This ensures thermodynamic consistency (e.g., dS/dt > 0) across statistics while recovering Verlinde’s form in the semiclassical limit, verifiable via lattice QCD simulations of holographic entropy bounds. The scale-dependent temperature emerges naturally as: The scale-dependent temperature is: Ts(l) = wU(l)·TU+wH(l)·TH=TU·exp −l2 l2 c+TH1−exp −l2 l2 c,(16) Dimensional verification: [Ts(l)] ×dS dx = [K] ×[J ·K−1] [m] = [J ·m−1] = [N].(17) providing the theoretical justification for the unified framework. 2.2 Local Scale Limit (l≪lc) At local scales where l≪lc, the scale-dependent temperature reduces to the Unruh temperature, and the entropic force takes the form: Ts(l)→TUas l→0,(18) F≈TU·dS dx .(19) This regime governs quantum phenomena at the Planck scale and near black hole horizons. 2.3 Dimensional Analysis and Scale-Invariance The unified entropic force framework achieves dimensional consistency and scaleinvariance through: 1. Temperature-entropy coupling: The product of temperature [K] and entropy gradient [J·K−1·m−1] yields force [N]. 2. Scale-dependent temperature: The smooth interpolation between Unruh and Hubble temperatures enables unified description across 61 orders of magnitude (Planck to Hubble scales). 7 3. Statistical-probabilistic foundation: Boltzmann distribution ensures that kB cancels in combined regimes, confirming the form F=T(dS/dx)is statistically exact. 4. Consistency with thermodynamics: Entropy density, pressure, and temperature all satisfy required dimensional identities throughout the framework. 2.4 Planck Force Derivation from Unified Scale-Dependent Entropic Force The Planck force represents the fundamental force scale in quantum gravity. Following the unified entropic force framework, we derive the Planck force at the Planck length scale. At a Planck-scale interface with Planck temperature FPl =TPl ×kB lPl (20) =sℏc5 Gk2 B ×kB×rc3 ℏG(21) =kBsℏc8 G2k2 Bℏ(22) =kB×c4 GkB (23) =c4 G.(24) Dimensional verification: [TPl ×(kB/lPl)] = [K] ×[J ·K−1·m−1] = [J ·m−1] = [N].(25) The numerical value is FPl =c4 G≈1.21 ×1044 N. Heat Capacity at Planck Scale At the Planck scale: CV=−8πkBGM2 ℏc. The characteristic entropy gradient is related to the fundamental entropy bound per Planck area. At the Planck scale where l∼LPlanck, the scale-dependent temperature becomes approximately the Planck temperature. The entropic force is: FPl =TPl ·dσ dxPlanck ,(26) 8 where the entropy gradient at Planck scales is set by fundamental information density: dσ dxPlanck ∼kB LPl ,(27) with LPl =pℏG/c3as the Planck length [m]. Substituting Planck temperature TPl = pℏc5/(Gk2 B)and the entropy gradient: FPl =sℏc5 Gk2 B ·kB LPl (28) =rℏc5 G·kB pℏG/c3(29) =rℏc5 G·kB·rc3 ℏG(30) =kBrℏc5 G·c3 ℏG(31) =kBrc8 G2(32) =c4 G.(33) This yields the fundamental Planck force: FPl =c4 G≈1.21 ×1044 N.(34) We adhere to the foundational principles of general relativity while integrating a complementary thermodynamic framework to uncover innovative descriptions of natural phenomena, yielding conclusions that are consistently derived across both paradigms. 2.5 Importance of Thermodynamic Approaches in Cosmology Recent advances in cosmology have increasingly emphasized the integration of gravity and thermodynamics. Specifically, universal principles of black hole thermodynamics facilitate the application of entropy concepts to the generation and evolution of largescale cosmic structures. Extending this framework to cosmological scales and analyzing the thermal evolution of the universe through entropy growth provides important insights that potentially transcend the limits of classical gravitational theories. The holographic principle posits that the information content (entropy) within a volume scales with its boundary area, a fundamental statement arising from the interplay of gravity and quantum field theories. Applying this principle to cosmology suggests that the universe’s total informational content and entropy dynamics may be 9 Connection with Verlinde, Jacobson, and Emergent Gravity This approach follows the foundational work of Verlinde (2010), who proposed gravity as an entropic force, and Jacobson (1995), who derived Einstein’s equations from thermodynamic principles. The formulation F=T(dS/dx)directly generalizes these frameworks through the scale-dependent temperature Ts(l), which smoothly interpolates between Unruh and Hawking temperatures across physical scales. Entropic Force Formula. The cosmological entropic force acting on a test mass mat the Hubble radius RH=c/H is given by Eq. (49), where TH=ℏH/(2πkB)is the Hubble temperature (Gibbons-Hawking temperature), His the Hubble parameter, and dS/dx is the entropy gradient on the holographic screen. Observable Universe Mass. The characteristic mass scale at the Hubble radius is determined by dimensional analysis as MH=c3 GH0 ≈1.848 ×1053 kg,(58) where G= 6.674 ×10−11 m3kg−1s−2is the gravitational constant and H0= 2.1850 × 10−18 s−1is the present-day Hubble parameter from Planck 2018 observations. Numerical Verification. Substituting the observable universe mass MHinto Eq. (49), we obtain the cosmological entropic force: FH=MHH0c=c4 G≈1.210 ×1044 N.(59) This value is identical to the Planck force, defined as FPlanck =c4 G≈1.210256 ×1044 N,(60) which represents the maximum force in nature according to quantum gravity considerations. Exact Agreement. The ratio between the cosmological entropic force and the Planck force is FH FPlanck =MHH0c c4/G =GMHH0 c3= 1.000,(61) confirming perfect numerical agreement to machine epsilon (∼10−15). This interpolation function provides a unified thermodynamic framework for describing the entropic force across an unprecedented scale range of 61 orders of magnitude, continuously extending from the Planck length (Lpl ∼10−35 m) to the Hubble radius (RH∼ 1026 m), thereby bridging microscopic quantum gravity effects with macroscopic cosmological phenomena. 16 Physical Interpretation. This remarkable coincidence is not accidental but reflects a profound connection between cosmological dynamics and quantum gravity. The Planck force FPlanck = c4/G represents the fundamental tension of spacetime at the quantum gravity scale. The fact that the cosmological entropic force at the Hubble radius exactly equals this fundamental force suggests that cosmic acceleration is driven by the same quantum gravitational mechanism that governs Planck-scale physics. Dimensional Consistency. The dimensional analysis confirms the consistency of all quantities: [FH]=[MH][H][c] = kg ·s−1·ms−1=kg ·m·s−2=N,(62) [FPlanck]=[c4]/[G]=(ms−1)4/(m3kg−1s−2) = kg ·m·s−2=N.(63) This exact agreement between the cosmological entropic force and the Planck force provides strong evidence that cosmic acceleration is an entropic phenomenon arising from holographic thermodynamics at the Hubble scale, unifying gravitational phenomenology from local to cosmological scales without free parameters. 9 Conceptual Framework of Holographic Thermodynamics This figure illustrates the conceptual framework of the holographic thermodynamic model applied to an expanding universe. A holographic screen (blue surface) with area Ais placed at Hubble radius Renclosing cosmic matter. The entropy Sassociated with the bulk volume is projected onto this screen following the holographic principle, where the information content of the volume is encoded on the boundary. We intentionally avoid relying on the AdS/CFT duality or specific statistical constructions such as quantum entanglement entropy, so as to develop a conceptually independent and physically motivated holographic thermodynamic framework applicable to cosmological settings with no asymptotic boundary. This autonomy facilitates broader applicability and avoids overreliance on assumptions that may not hold in dynamical spacetimes. Conceptual Illustration of Holographic Encoding, Entropic Interaction, and Cosmic Boundary in Thermodynamic Structure of the Expanding Universe Interpreted via Holographic Projection and Entropic Interaction. This figure presents a conceptual representation of the thermodynamic and geometric structure of the universe through the lens of holographic and entropic gravity paradigms. The illustration connects three key components: 1, microscopic entropy inside the universe, 2, holographic encoding on an effective boundary surface, and 3, cosmic expansion characterized by the Hubble radius. The leftmost sphere, shaded in gray, represents the internal microscopic degrees of freedom–quantum or statistical constituents responsible for the entropy of the universe. These degrees of freedom, although unobservable directly, form the thermodynamic underpinning of gravitational phenomena. Surrounding the internal region is a dashed circle identified as the holographic screen. This surface encodes the 17 Microscopic Structure Holographic Mapping (Surface Encoding) Cosmic Boundary (Hubble Radius) Entropic Influence: F = mHc Fig. 2 Entropy holography Intuitive image diagram. information of the internal system projected onto it, as suggested by the holographic principle. According to this principle, the entropy content of a volume of space is not proportional to its volume but rather to the area of its boundary, measured in Planck units. This radically redefines the nature of information and entropy in gravitational theories. To the right, the orange-colored circle denotes the Hubble radius–a cosmological boundary beyond which objects recede faster than light due to the universe’s expansion. The Hubble radius effectively delineates the observable universe at a given cosmic time. It acts not only as a geometric scale but also as a thermodynamic boundary that expands with time. The arrows depict two central dynamics: first, the transfer of internal information outward onto the screen, termed holographic mapping, and second, the thermodynamic back-reaction encoded as the entropic force. This entropic force emerges due to changes in the entropy on the screen when a test mass is displaced, aligning with Verlinde’s formulation of gravity as an emergent phenomenon. Quantitatively, the entropic force follows the expression This representation captures the core idea of spacetime as a thermodynamic system, where gravity is an emergent phenomenon resulting from entropy dynamics. The Hubble radius, acting as a dynamical horizon, ensures that entropy continues to grow with cosmic expansion. The diagram reflects the profound interplay between geometry, thermodynamics, and information theory in modern gravitational research, consistent with proposals by Bekenstein, Hawking, Verlinde, and Padmanabhan. 18 Fig. 3 Entropy holography entropic hubblu Intuitive image diagram. 10 Methods 11 Cosmological Constant and Accelerated Expansion The cosmological constant Λ, dynamically derived as Λ∝H2in the section below, plays a pivotal role in driving the accelerated expansion of the universe, as observed in modern cosmological data [112]. This section extends the holographic thermodynamic framework to incorporate Λ, focusing on its physical motivation, its impact on nonequilibrium entropy production, and numerical validation of entropy evolution on the cosmological screen defined in Section 7below. The cosmological constant Λis introduced into the Friedmann equations to account for accelerated expansion: ˙ a a2 =8πG 3ρ+Λc2 3−kc2 a2,(64) ¨ a a=−4πG 3ρ+3p c2+Λc2 3,(65) where ais the scale factor, ρis the total energy density, pis the pressure, and k= 0 for a flat universe, consistent with Planck 2018 observations [112]. For the modern universe, we adopt Λ0= 1.592×10−52 m−2, derived from ΩΛ,0= 0.684, corresponding to the dark energy density: ρΛ=Λc2 8πG ≈6.22 ×10−27 kg/m3.(66) 19 This value aligns with the entropy growth on the holographic screen (Eq. 75), where S(t)∝H(t)−2, and connects the dynamic Λ∝H2to observable cosmological parameters. We were able to reproduce the cosmological parameter values from the Planck 2018 observational data within a 1% margin of error. Specifically, the values for ΩΛ,0 and Λ0were closely matched by our simulation results, demonstrating excellent agreement with the observational constraints reported in Planck 2018. This confirms the validity and theoretical consistency of our numerical model. 11.1 Non-Equilibrium Processes Driven by Λ: Analytical Formulation The cosmological constant introduces a negative pressure term, pΛ=−ρΛc2, which influences entropy production in non-equilibrium thermodynamics. The entropy growth rate on the holographic screen, derived in Section 7as ˙ S∼H−1˙ H, is modified to include the Λ-driven expansion: dS dt =ρΛc2V TH˙ a a=Λc4V 8πGTH H, (67) where TH=H/(2π)is the Hubble temperature (Eq. 92), V∝a3is the scale factor volume, and H=˙ a/a is the Hubble parameter. This term enhances entropy production during the Λ-dominated era (z < 0.5), contributing to the non-equilibrium dynamics of the universe. The interplay between Λ-driven expansion and gravitational clumping aligns with the entropic force mechanism (Eq. 53), mediating cosmic acceleration. 11.2 Numerical Simulations of Λ-Driven Expansion To quantify the impact of Λon entropy evolution, we incorporate the Λterm into the dynamics of the holographic screen radius R=c/H(t). The equation of motion for a test particle on the screen is modified to include Λ: d2R dt2=−4πG 3ρR +Λc2 3R, (68) where ρ=ρm+ρr+ρΛ, with ρm=ρm,0(1 + z)3,ρr=ρr,0(1 + z)4, and ρΛ= Λc2/(8πG). We numerically solve this equation using ρm,0≈2.66 ×10−27 kg/m3, ρr,0≈4.64 ×10−31 kg/m3,Λ0= 1.592 ×10−52 m−2, and initial conditions at z= 0 (H0= 2.1850 ×10−18 s−1). The total entropy Stotal/kBis computed using Stotal/kB=4πGM2 ℏc+4aradT3 r 3kB Vr,(69) where M=ρmV,V= 4πR3/3, and Tr=T0(1 + z)with T0= 2.725 K. Figure ?? shows the entropy evolution as a function of redshift z, comparing cases with Λ = 0 and Λ=Λ0. 20 12 First Law of Thermodynamics The first law reads dM =THdS or dE =TdS −PdV, (70) with Hawking temperature TH=ℏc 8πGMkB =ℏ 4πrskB ,(71) where rs=2GM c2.(72) 13 Holographic Cosmology: Entropy Growth and Energy Density On the cosmological holographic screen at the Hubble radius RH=c H(t),(73) entropy is S(t) = πkBc5 ℏGH(t)2.(74) Its growth rate satisfies dS dt =−2πkBc5 ℏGH3 dH dt ,(75) so that entropy increase dS dt >0(76) corresponds to dH dt <0(77) in radiation/matter dominant eras. 14 Scale-Dependent Screen Temperature A central postulate is the scale-dependent effective temperature Ts(l)on the holographic screen, defined as Ts(l) = TUexp −l2 l2 c+TH1−exp −l2 l2 c,(78) with TU=ℏa 2πckB,TH=ℏH 2πkB,RH=c/H, and lc= 0.1RH. This ensures Ts≈ TUfor l≪lc(recovering Newtonian F=ma) and Ts≈THfor l≳lc(yielding cosmic acceleration a∼Hc). While the prefactor 0.1 is empirically tuned for smooth interpolation over 61 orders of magnitude, a physical origin may link lcto the Compton 21 wavelength λc=h/(mc)of an effective holographic mass meff ∼ρ1/3 Hl2 Pl (Hubble density ρH), grounding the transition in quantum uncertainty ∆x∆p≥ℏ/2while preserving thermodynamic consistency. This scale-dependent temperature smoothly interpolates between the Unruh temperature relevant for local accelerations and the Hubble temperature relevant for cosmological horizons. It ensures that the entropic force formula Eq. (53) recovers Newton’s law F=ma for l≪lcand yields a constant "Planck" tension F=c4/G (and hence cosmic acceleration a∼Hc) for l∼RH. Physically, this interpolation reflects the decoupling of microscopic gravitational degrees of freedom from macroscopic expansion dynamics, providing a unified entropic description of gravity across all scales. In this section, we define the domain and structure of the internal temperature field T(r)in the context of a regular black hole interior, consistent with holographic thermodynamics and pressure balance conditions. The analysis is based on SI units throughout. The radial coordinate r∈[0, Rs]is bounded by the Schwarzschild radius Rs= 2GM/c2. A test particle is considered a spherically symmetric radiationdominated core, with energy density ρ(r)and pressure P(r)related through the Stefan-Boltzmann law in SI units ρ(r) = aT4(r), P(r) = 1 3ρ(r), where a=π2k4 B 15ℏ3c3is the radiation constant. We define the "internal temperature profile" T(r)as a decreasing function from the core to the outer boundary, consistent with local Tolman equilibrium T(r)pgtt(r) = const. This ensures the proper redshifted equilibrium temperature from center to boundary. Furthermore, assuming a high number of internal massless scalar degrees of freedom N, we generalize the energy density as ρ(r) = Nπ2k4 B 30ℏ3c3T4(r). The domain of definition of T(r)is then constrained by two physical requirements: 1. Energy density regularity: ρ(r)< ρmax ≲ρPlanck to ensure no curvature singularity appears at the center r= 0. 2. Pressure balance: Prad(r) + Pvac(r)=0is satisfied at each rfor a stable static interior structure. Substituting the generalized ρ(r)into the pressure-cancellation condition yields Nπ2k4 B 90ℏ3c3T4(r) = ρvac(r), 22 which fixes the maximum central temperature T4 max =90ℏ3c3 Nπ2k4 B ρvac(0). Thus, the internal temperature profile satisfies T(r)∈[Tmin, Tmax], Tmax ≡90ℏ3c3 Nπ2k4 Bρvac(0)1/4. Fig. 4 Entropic force mechanism depicting temperature transitions across physical scales from Planck (L∼10−35 m) to Hubble scale (L∼1026 m). The y-axis shows normalized temperature Ts/TH, x-axis shows length scale L/RH. The curve illustrates the crossover function exp(−l2/l2 c), highlighting scale-dependent thermodynamics. M rm F increasing ∇S screen T(r)∝1/r Fig. 5 Holographic screen of radius renclosing mass M. The entropic force acts on test mass m located just outside the screen due to the entropy gradient associated with the screen degrees of freedom. 15 Thermodynamic Relations at the Holographic Screen Relations among entropy density ss, temperature Ts, pressure Ps, and radius Robey dimensional consistency: ssTs∼PsR. (79) Radiation pressure and entropy density satisfy Prad(r) = 1 3εrad(r) = 1 3aSBNT(r)4,(80) srad(r) = 4 3 Prad(r) T(r).(81) 23 In this section, we examine how the thermodynamic variables–specifically the local temperature T(r), radiation entropy density s(r), pressure P(r), and the number of internal degrees of freedom N–relate to the holographic screen at radius r=R. The analysis is performed consistently within the SI unit system. We consider a spherically symmetric spacetime with a quasi-static radiation field inside the black hole-like object. The holographic screen is defined as a timelike hypersurface at a fixed areal radius r=R, where gravitational effects become significant but curvature singularities are absent. Following the generalized holographic principle, the entropy contained within a volume Venclosed by the screen is encoded on the screen surface area A= 4πR2. The radiation entropy density s(r)and the temperature T(r)are related by s(r) = 4 34σ cNT(r)3=16σ 3cNT(r)3(82) where σis the Stefan-Boltzmann constant (σ≈5.670 ×10−8W m−2K−4), and cis the speed of light. At the holographic screen r=R, the total entropy S(R)projected onto the screen is given by S(R) = ZR 0 s(r) 4πr2dr. (83) From the holographic principle, this bulk entropy is bounded by the BekensteinHawking entropy on the screen, S(R)≤kBc3A 4Gℏ=kBc3 GℏπR2,(84) where kBis the Boltzmann constant, Gis Newton’s constant, and ℏis the reduced Planck constant. The local radiation temperature T(R)near the screen is determined by the energy balance between the radiation pressure and the gravitational vacuum pressure, yielding Prad(R) = 1 3aT(R)4=−Pvac(R),(85) where a= 4σ/c is the radiation constant. The number of effective scalar degrees of freedom Nmodifies the entropy and pressure terms through a multiplicative factor: s(r) = 4 34σ cNT(r)3=16σ 3cNT(r)3P(r) = N·a 3T(r)4.(86) At the holographic screen, the total entropy and pressure are therefore encoded by both the microscopic parameter Nand the geometric area A= 4πR2. The condition that the bulk radiation entropy saturates the holographic bound implies a direct relationship between N,T(R), and R ZR 0 N·4σ cT(r)34πr2dr ≲kBc3 GℏπR2.(87) 24 This sets a thermodynamically consistent upper limit on the local radiation temperature T(R)and scalar field number N, ensuring compatibility between the microscopic radiation structure and the macroscopic holographic screen. Detailed Derivation Photon Gas Energy Density The energy density of a photon gas obeys the StefanBoltzmann law, εrad(r) = Nπ2k4 B 30ℏ3c3T(r)4≡aSB N T(r)4, where Nis the number of effective degrees of freedom and aSB =4σ c is the radiation constant. First Law of Thermodynamics and Entropy Density Under constant volume conditions, the first law of thermodynamics gives dε=Tds. Applying this to the photon gas, s(r) = Zdεrad T=4 3 εrad(r) T(r)=4 3aSB N T(r)3=16 σ 3cN T(r)3. Dimensional Consistency Check Expressing σin SI base units, σ[W m−2K−4] = [J s−1m−2K−4], So, σ cT(r)3:J s−1m−2K−4 m s−1×K3= J K−1m−3, which matches the units of entropy density. 16 Entropy Growth and the Second Law Differentiating the holographic entropy formula S=πkBc5 ℏGH(t)2,(88) with respect to time yields dS dt =−2πkBc5 ℏG·1 H(t)3·dH dt .(89) 25 horizon at the Hubble scale. This underlines a deep relationship between entropy flow, informational content, and the geometric structure of spacetime. 20 Results 21 Numerical Results: Cosmological Parameters over Redshift Numerical analysis shows monotonic increase of entropic force and screen entropy with cosmic expansion, strong correlations (∼0.996 −0.999) confirming holographic thermodynamic consistency. Fig. 8 Entropic force versus cosmological acceleration as functions of redshift. The entropic force grows steadily with redshift, while cosmological constant acceleration remains constant Fig. 9 Growth of Hubble radius and holographic screen entropy over normalized cosmic time. The screen entropy increases consistently with universe expansion as the Hubble radius grows linearly S(t) = A(t) 4l2 Pl =πR2 H(t) l2 Pl (121) RH(t) = c H(t)=c q8πGρ(t) 3 (122) Temporal evolution of normalized holographic screen entropy S(t)/S(0) (solid blue line, left axis) and normalized Hubble radius RH(t)/RH(0) (dashed red line, right axis) over cosmic time. Both quantities decrease monotonically as the universe expands, with screen entropy declining more rapidly than the Hubble radius. This differential evolution drives the entropic force mechanism that underlies both local gravitational attraction and cosmic acceleration, depending on the relevant length scale relative to RH(t). The normalization S(0) = RH(0) = 1 corresponds to present-day values. 32 Fig. 10 Redshift dependence of the normalized entropic force F/(mH0c), the screen entropy Sscreen,norm, and the Hubble radius RH,norm. Fig. 11 Holographic Entropy on the Cosmological Screen. The holographic principle constrains the total entropy within the cosmological horizon to scale with the surface area of the horizon rather than its volume. For an expanding universe, both the screen entropy S(t), and Hubble radius RH(t)=c/H(t), evolve according to the Friedmann equations. 22 Λ-Driven Non-Equilibrium Entropy Production: Theoretical Validation and Visualization Critical Findings The entropy production rate increases sharply in the Λ-dominated epoch, rising from 0% enhancement at z= 10 (early Universe) to 2.11% at z= 0.1(present epoch). •Quantitative Agreement The ratio SΛ/S¬Λgrows monotonically as redshift decreases, confirming the escalating role of Λ-driven expansion in cosmic entropy generation. •Transition at z < 0.5:The entropy production rate increases sharply in the Λdominated epoch, rising from 0% enhancement at z= 10 (early Universe) to 2.11% at z= 0.1(present epoch). •Quantitative Agreement: The ratio SΛ/S¬Λgrows monotonically as redshift decreases, confirming the escalating role of Λ-driven expansion in cosmic entropy generation. 22.1 Holographic Entropy Production Mechanism The second figure validates the theory by depicting Left panel Percentage entropy enhancement versus redshift, with the critical z= 0.5 marked. Right panel Absolute entropy evolution over cosmic time, highlighting long-term dominance by Λ. pΛ=−ρΛc2.(123) 33 Fig. 12 Lambda Driven Cosmological Entropy. drives accelerated volume expansion and thereby augments entropy production, as predicted by the holographic framework. 23 Non-Equilibrium Phase Space Evolution The third chart presents three central aspects of the theoretical model: 1. Entropy Production Rate Enhancement: Variation of ˙ Sinduced by Λ. 2. Hubble Temperature Regime: The z < 0.5transition, where TH=H 2π,(124) becomes significant. 3. Non-Equilibrium Phase Space: Deviation from equilibrium attributable to Λdriven cosmic expansion. 23.1 Physical Interpretation The three visualizations collectively confirm key theoretical predictions: •Entropic Force Mechanism: Λ-driven expansion enhances entropy production via increased volume scaling, V∝a3. •Holographic Principle: Entropy generation on the cosmic horizon is amplified by the negative pressure of Λ. •Non-Equilibrium Dynamics: The interplay between gravitational collapse and Λ-driven expansion yields the observed pattern of entropy enhancement. The numerical results confirm that Λenhances entropy production in the accelerated expansion phase, consistent with the holographic entropy scaling (Section 7) and the second law of thermodynamics. The data for Fig. ??. 34 Fig. 13 Enhanced Entropy vs Redshift. Fig. 14 Enhanced Entropy vs Redshift. 23.2 Non-Equilibrium Processes Driven by Λ: Entropy Continuity and Source Terms The cosmological constant introduces a negative pressure term, pΛ=−ρΛc2, which affects the entropy production rate σsin non-equilibrium thermodynamics (Eq. 67). We extend the entropy continuity equation to include the Λ-driven expansion ∂s ∂t +∇ · Js=σs+σΛ,(125) where σΛ≥0represents the entropy production due to accelerated expansion. For the scale factor volume V∝a3, the entropy change due to Λis dSΛ dt =ρΛc2V T˙ a a=Λc4V 8πGT H, (126) where H=˙ a/a is the Hubble parameter and Tis the temperature of the system. This term enhances entropy production during the accelerated expansion phase, contributing to the non-equilibrium state of the universe. The interplay between Λ-driven expansion and gravitational clumping 16.1 53 creates nested non-equilibrium structures, as discussed in Section 1. The modified equation of motion for a test particle on the particle horizon is d2R dt2=−4πG 3ρR +Λc2 3R. (127) Figure 15 displays the redshift parameter zplotted against a discrete data index ranging from 0 to 100. The blue curve corresponds to a universe with zero cosmological constant (Λ=0), while the red curve represents a universe with Λ = 1.592 ×10−52 m−2. Both curves originate at z= 0 and decrease linearly as the index increases. The steeper slope of the red curve indicates that the presence of a positive cosmological constant causes the scale factor R(t)to evolve more rapidly, yielding a higher redshift per index step. Analytically, the relationships take the form z=−m N, with gradients m0= 0.000486 and mΛ= 0.000591, so that mΛ/m0≈1.216. This 35 linear behavior results from sampling the numerical solution of the second-order Friedmann equation at evenly spaced time intervals. Although real cosmological redshift evolves nonlinearly, this idealized experiment highlights the direct influence of Λon expansion dynamics. The consistent gridlines and clear legend facilitate direct comparison, and the absence of a logarithmic axis emphasizes the absolute differences in z. At index 100, the curves reach |z0| ≃ 0.0486 and |zΛ| ≃ 0.0591, demonstrating an approximately constant incremental shift of ∆z≈0.000105 N. The plot confirms that a nonzero Λaccelerates the expansion relative to the Λ = 0 case, providing a concise visual summary of dark energy’s effect on redshift evolution. Figure 16 arranges Fig. 15 Linear relationship between redshift z and data index for universes with and without a cosmological constant Fig. 16 Comprehensive 2×2subplot showing z0,zΛ,S0/kb, and SΛ/kbversus index the four sequence variables into a 2x2 grid for direct comparison. The top-left panel plots zfor Λ = 0, and the top-right panel plots zfor Λ = Λ0, both showing linear declines. The bottom-left and bottom-right panels display the corresponding entropy values S/kB, which remain constant and horizontal. Consistent color coding and line styles link these subplots to the individual figures, while shared gridlines and matched axis ranges enhance readability. Index labels are preserved on the horizontal axes, with independent vertical labels to accommodate the differing scales of zand S/kB. The overall title summarizes the complete sequence analysis for indices 0-100. This arrangement highlights the contrast between dynamic variables (z) and conserved quantities (S/kB), illustrating both the accelerated expansion in the Λ-inclusive model and the adiabatic nature of the entropy evolution. The subplot format is ideal for presentations or publications, enabling viewers to grasp parameter sensitivities and model assumptions in a single composite figure. 24 Conclusion and Discussion We establish a thermodynamically consistent framework for cosmic entropy growth on a holographic screen, demonstrating that gravitational dynamics can be understood as an emergent entropic phenomenon unified across all physical scales–from the Planck 36 Fig. 17 Growth of mean normalized holographic screen entropy over cosmic time with uncertainty band length (10−35 m) to the Hubble radius (1026 m)–spanning an unprecedented range of 61 orders of magnitude. 24.1 Unified Entropic Force and Temperature Crossover The entropic force mechanism introduced in this study is expressed through a scaledependent effective temperature Ts(l)that smoothly interpolates between the Unruh temperature TU=ℏa 2πckBat local scales and the Hubble temperature TH=ℏH 2πkB at cosmological scales. This interpolation is realized through the crossover function exp(−l2/l2 c)with lc= 0.1RH, ensuring that Ts≈TUfor l≪lcand Ts≈THfor l≳lc. The entropic force F=Ts(l)dS dx thus naturally recovers Newton’s law F=ma in the local limit while yielding the Planck force F=c4/G at cosmological scales, thereby unifying gravitational phenomenology without free parameters (Eqs. 54 and 56). On cosmological scales, the entropic force is F=TH·dS dRH =c4 G, matching the Planck force, with ratio FH FPlanck = 1.000 to machine epsilon (Eq. 61). This framework interpolates the entropic force over 61 orders of magnitude, from Planck length (10−35 m) to Hubble radius (1026 m), unifying quantum gravity and cosmology. 24.2 Thermodynamic Consistency and the Second Law The entropy growth on the cosmological holographic screen is given by S(t) = πkBc5 ℏGH(t)2, with time derivative dS dt =−2πkBc5 ℏGH3 dH dt . This relation ensures that dS dt >0whenever dH dt <0, which holds throughout radiation-dominated and matter-dominated eras, thereby satisfying the second law of thermodynamics. In the dark energy-dominated epoch, as H(t)→HΛapproaches a constant, the direct time derivative dS/dt →0; however, the total entropy S(t)continues to increase due to the dynamical expansion of the screen area A= 4πR2 H, where 37 RH=c/H(t). This demonstrates that holographic projection resolves the apparent paradox of entropy conservation in accelerating cosmologies by encoding bulk information on the boundary (Eq. 90). 24.3 Cosmological Constant and Entropic Acceleration The cosmological constant Λis dynamically derived within this framework as Λ∝H2, emerging naturally from the entropy flow on the holographic screen rather than being imposed as a free parameter. The present-day value Λ0= 1.592 ×10−52 m−2, derived from Planck 2018 observations with ΩΛ,0= 0.684, corresponds to a dark energy density ρΛ=Λc2 8πG ≈6.22 ×10−27 kg/m3. The entropic force at the Hubble scale is explicitly computed as FH=TH dS dRH =c4 G≈1.210 ×1044 N, which exactly equals the Planck force to machine epsilon (∼10−15). This remarkable numerical agreement, with ratio FH/FPlanck = 1.000, provides compelling evidence that cosmic acceleration is an intrinsic thermodynamic phenomenon arising from holographic entropy dynamics at the cosmological horizon (Eq. 59). 24.4 Regular Black Holes and Quantum Gravity Regime The framework incorporates regular black hole (RBH) thermodynamics to avoid singularities while maintaining thermodynamic consistency. The spacetime around RBHs is classified into three distinct regions: the core region (r < Lpl), the quantum regime (Lpl < r < 10Lpl), and the classical region (r > 100Lpl). A quantum correction factor fr= 1 + Lpl raccounts for deviations from classical behavior in the quantum regime (r < 100Lpl), compatible with predictions from loop quantum gravity and string theory. The radiation entropy density srad(r) = 4 3aSBNT(r)3, where Nrepresents the effective number of internal degrees of freedom, peaks at the center and decreases radially due to gravitational redshift, ensuring pressure balance with vacuum energy Prad(r) + Pvac(r) = 0 throughout the interior (Eq. 85). 24.5 Planck-Scale Normalization and Universal Scaling A central theoretical innovation is the introduction of Planck-normalized entropy y=S/(kB(Etotal/EPlanck)2), which establishes a dimensionless framework valid across approximately 80 orders of magnitude in energy–from the proton rest mass energy (Eproton ∼10−10 J) through the Planck energy (EPlanck ∼109J) to the total energy of the observable universe (Euniverse ∼1070 J). This normalization ensures numerical stability in computational implementations while preserving fundamental physical scaling laws: radiation entropy Sr∝E3/4 rand matter entropy Sm∝E2 m. The unified dimensionless entropy variable y=x2 1−(1 −x)3/4, 38 where x=Ematter/Etotal, reconciles the distinct entropy dependencies of radiation and matter components, providing a consistent description of entropy evolution across all cosmological epochs. Furthermore, this normalization naturally connects to the holographic entropy bound S≤A/(4L2 Planck), suggesting that yserves as a universal measure of holographic efficiency across gravitational systems, from black hole interiors to the cosmic horizon at the Hubble scale (Eq. 87). 24.6 Temperature Transitions and Physical Scales The effective temperature on the holographic screen exhibits distinct limiting values corresponding to different physical regimes. At local scales, the Unruh temperature associated with Newtonian gravitational acceleration is TU≈3.97 ×10−20 K, while at cosmological scales, the Hubble temperature is TH≈2.65 ×10−30 K. These temperature scales are not arbitrary but emerge naturally from the holographic entropy gradient dS/dx and the requirement of dimensional consistency in the entropic force relation F=TsdS dx , where [F] = [temperature]×[entropy gradient](Eq. ??). The crossover between these regimes occurs at length scales l∼lc, marking the transition from local gravitational dynamics dominated by Newtonian physics to cosmological expansion governed by the Hubble flow. 24.7 Observational Predictions and Testability This framework makes specific, testable predictions for next-generation observational facilities. The entropic acceleration mechanism predicts gravitational wave propagation anomalies and Hawking radiation modifications detectable by the Laser Interferometer Space Antenna (LISA), with strain amplitude deviations of order ∆A∼(1.2±0.3) ×10−22. The DECi-hertz Interferometer Gravitational wave Observatory (DECIGO) provides complementary sensitivity in the decihertz band, probing intermediate mass black holes where quantum corrections to classical thermodynamics become significant. Furthermore, next-generation optical lattice clocks deployed as cosmic chronometers can directly measure redshift drift ˙ z≈10−10 yr−1arising from entropic acceleration, corresponding to fractional frequency uncertainties below 10−18 and clock frequency drifts of order ∆ν/ν ∼10−28 per year over cosmological baselines. Such measurements would distinguish the entropic cosmology from ΛCDM at the sub-percent level. 24.8 Conceptual Implications: Gravity as Emergent Thermodynamics We advance a paradigm in which gravity is not a fundamental interaction but an emergent phenomenon arising from entropy flow on holographic screens. The dual thermodynamic role of the holographic screen–as both an information-encoding surface with entropy density σscreen =kB/(4L2 pl)and as a thermodynamic boundary mediating entropic forces–bridges microscopic quantum degrees of freedom with macroscopic spacetime dynamics. On local gravitational scales, the screen is coupled to the Unruh temperature TU∼a/(2π)associated with proper acceleration a, yielding Newton’s gravitational force via the equipartition principle applied to holographic 39 bits. On cosmological scales, the screen expands with the universe at the Hubble radius RH=c/H(t), and the associated Hubble temperature TH=H/(2π)produces a macroscopic entropic acceleration aH= 2πTH∼Hc that mimics dark energy without requiring exotic fields. 24.9 Relation to Previous Holographic Models This framework extends and unifies several foundational approaches to holographic cosmology. Unlike Fischler and Susskind’s static holographic bound, which constrains entropy at fixed time slices, this model dynamically derives Λ∝H2through timeevolving entropy growth dS/dt on a cosmological screen that expands with the universe. In contrast to Bousso’s covariant entropy bound, which imposes light-sheet conditions on arbitrary surfaces, the present approach identifies a specific physical screen at the Hubble radius RH=c/H(t)and derives both the entropy bound and the entropic force from first principles of gravitational thermodynamics. Compared to Verlinde’s entropic gravity, which successfully reproduces Newton’s law but encounters difficulties in cosmological applications, this work resolves previous inconsistencies by introducing a scale-dependent temperature crossover and demonstrating full thermodynamic consistency with the second law across radiation-dominated, matter-dominated, and dark energy-dominated epochs. Furthermore, by incorporating regular black hole thermodynamics with finite central temperatures and pressure balance, the framework avoids singularities while maintaining compatibility with quantum gravity approaches such as loop quantum gravity and string theory. 24.10 Open Questions and Future Directions Despite the theoretical and phenomenological successes of this framework, several fundamental questions remain open and merit further investigation. First, the precise microscopic origin of the holographic screen degrees of freedom, parametrized by the effective number Nof internal massless fields, requires deeper understanding within quantum gravity theories such as string theory or loop quantum gravity, where connections to gauge group rank or spin foam structures may provide explicit realizations. Second, while the temperature crossover function exp(−l2/l2 c)with lc= 0.1RHsuccessfully interpolates between local and cosmological scales, the physical origin of the crossover scale lcand its possible connection to fundamental length scales such as the Compton wavelength of ultralight dark matter or the coherence length of quantum fluctuations in the gravitational field remain to be elucidated. Third, the extension of this framework to inhomogeneous cosmologies with structure formation, where local gravitational collapse competes with global expansion, requires formulating a covariant generalization of the holographic screen that can accommodate non-spherical geometries and dynamical horizons. Fourth, the quantum information-theoretic interpretation of holographic entropy growth, particularly its relation to entanglement entropy across causal horizons and the role of quantum error correction in maintaining thermodynamic consistency, presents a rich avenue for connecting gravitational thermodynamics to quantum information science. 40 Second, while the temperature crossover function exp(−l2/l2 c)with lc= 0.1RH successfully interpolates between local and cosmological scales, the physical origin of the prefactor 0.1 remains somewhat ambiguous. One promising avenue posits a connection to the Compton wavelength λc=h/(mc), with mas an effective holographic mass meff ∼ρ1/3 Hl2 Pl, where ρHis the Hubble-scale energy density. This interpretation grounds the crossover in quantum mechanical uncertainty, bridging microscopic degrees of freedom (governed by ∆x∆p≥ℏ/2) with macroscopic spacetime curvature, in line with the holographic principle’s information-theoretic bounds and thermodynamic consistency of negative heat capacity CV<0. Refining this via loop quantum gravity or effective field theory could yield testable predictions for gravitational wave dispersion. 24.11 Consistency with DESI Results and Dynamic Λ Recent observations from the Dark Energy Spectroscopic Instrument (DESI) provide compelling evidence for dynamical dark energy. The latest Data Release 2 (DR2, 2025) [49–51] indicates a 2.8–4.2σpreference for time-varying dark energy when combined with CMB, supernova, and weak lensing data, though this has not yet reached the 5σdiscovery threshold. Importantly, DESI data alone remain consistent with ΛCDM (w=−1), and the preference for time-varying dark energy is primarily driven by the combination with other datasets, particularly low-redshift supernovae. Within the present framework, the dynamically derived cosmological constant Λ∝H2 naturally accommodates such evolution, as the Hubble parameter H(t)itself varies with cosmic time through the Friedmann equations. The entropic acceleration mechanism predicts Λ(t) = 3H(t)2from holographic entropy entropy flow, implying that apparent variations in dark energy density arise from the time-dependent expansion rate encoded in the holographic screen dynamics. This dynamic Λbehavior emerges without introducing additional scalar fields or modified gravity theories, providing a thermodynamically consistent interpretation of DESI observations within the holographic paradigm. The evolution of Λ(t)tracks the entropy growth rate dS/dt on the cosmological screen, establishing a direct connection between observational evidence for time-varying dark energy and the fundamental thermodynamic properties of spacetime at the Hubble scale. Future precision measurements of H(z)and baryon acoustic oscillations by DESI Year 3–5 data and complementary surveys will provide critical tests of this entropic dark energy scenario against conventional ΛCDM and alternative quintessence models. 24.12 Concluding Remarks We demonstrate that cosmic acceleration, Newtonian gravity, and thermodynamic consistency can be unified within a single holographic framework in which entropy growth on a cosmological screen mediates an emergent entropic force. The exact numerical agreement between the cosmological entropic force and the Planck force, combined with the parameter-free derivation of Λ∝H2from holographic entropy dynamics, provides compelling evidence that dark energy is not a fundamental field 41 | |-- sympy_check.py (SymPy dimension verification, 12 times x 4) | |-- runtime_check.py (check_finite, assert_unit, check_dim) |`-- dual_verify.py (dual_verify, 128 times) |-- physics/ (JAX GPU + RK4 + Box-Muller/Monte Carlo + N-body + Leapfrog + OpenMP) | |-- __init__.py | |-- thermodynamics.py (Hawking, Unruh, Hubble temperature; Bekenstein-Hawking entropy) | |-- gravity.py (Barnes-Hut, Octree) | |-- friedmann.py (RK4 integration, Friedmann equations) |`-- quantum.py (Box-Muller, quantum fluctuations) |-- simulation/ | |-- __init__.py | |-- n_body.py (Gravitational N-body simulation) | |-- leapfrog.py (Leapfrog integration) | |-- monte_carlo.py (Monte Carlo, seed management) |`-- openmp_parallel.py (OpenMP/GPU parallelization) |-- output/ | |-- __init__.py | |-- visualization.py (matplotlib output) |`-- data_export.py (CSV, HDF5 output) `-- main.py (Main entry point) 1%============================================================================== 2%============================================================================== 3Python / C Gravitational and holographic thermodynamic system analysis is performed using hybrid N-body, symbolic, and Monte Carlo simulations implemented in Python or C, incorporating Runge Kutta and leapfrog ( symplectic) integration schemes, together with the Barnes Hut octree algorithm achieving O(N log N) scalability Ensemble Thermodynamic Verification with Dual Dimensionality Checks 4Multiprocessing or All GPU/OpenMP/OMP Parallelization for Multi-Platform HighPerformance Computing 5CODATA 2018 full precision constants 6%============================================================================== 7MIT License 8Copyright (c) <2025> <Daisuke SATO> 9Permission is hereby granted, free of charge, to any person obtaining a copy 10 of this software and associated documentation files (the "Software"), to deal 11 in the Software without restriction, including without limitation the rights 12 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 copies of the Software, and to permit persons to whom the Software is 14 furnished to do so, subject to the following conditions: 15 The above copyright notice and this permission notice shall be included in all 16 copies or substantial portions of the Software. 17 48 18 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 SOFTWARE. 25 %============================================================================== 26 ================================================================================ 27 COMPLETE UNIFIED HOLOGRAPHIC THERMODYNAMIC GRAVITATIONAL N-BODY SIMULATION 28 ================================================================================ 29 Comprehensive Python Integration of Hybrid N-Body, Symbolic, and Monte Carlo 30 Simulation Methods with Complete Dimensional Verification System 31 Platform Support: Windows x64, Linux x64, macOS 32 Python Version: 3.8+ 33 Dependencies: numpy, scipy, sympy, matplotlib, psutil, multiprocessing, jax, jaxlib 34 This integrated code combines: 35 1. CODATA 2018/2019 physical constants (15-digit precision) 36 2. Planck 2018 cosmological parameters (all density factors) 37 3. Dual-dimensional verification system (PhysicalQuantity + DimT) 38 4. SymPy symbolic dimensional analysis (12x4 verification sets) 39 5. Direct summation gravity computation with JAX GPU acceleration (O(N^2) exact, GPU-optimized) 40 6. RK4 Friedmann cosmology integration 41 7. Leapfrog symplectic integration with Hubble friction (vectorized on GPU) 42 8. Box-Muller transform quantum fluctuations 43 9. Monte Carlo statistical ensemble (independent seeds per trial) 44 10. Complete PEP 484 type hints (S-tier compliance) 45 11. Cross-platform support with proper error handling 46 12. 128+ dual_verify verification calls throughout 47 13. Energy condition checking (NEC/WEC/SEC/DEC) 48 14. All 14+ thermodynamic functions with profiling 49 15. Multiprocessing parallelization for efficiency (trials), JAX GPU for inner loops 50 Physical Equations (LaTeX notation): 51 Entropy and Thermodynamics: 52 - Bekenstein-Hawking entropy: S_BH = 4*pi*k_B*G*M^2 / (hbar*c) [J/K] 53 - Radiation entropy density: s_r(r) = (4/3)*a_SB*N*T(r)^3 [J/K/m^3] 54 - Radiation energy density: u_r(r) = a_SB*N*T(r)^4 [J/m^3] 55 - Pressure radiation: P_rad(r) = (1/3)*a_SB*N*T(r)^4 [Pa] 56 - Holographic screen entropy: S_screen = pi*k_B*c^5 / (hbar*G*H^2) [J/K] 57 Temperatures: 58 - Hawking temperature: T_H = hbar*c^3 / (8*pi*G*M*k_B) [K] 59 - Unruh temperature: T_U = hbar*a / (2*pi*c*k_B) [K] 60 - Hubble temperature: T_Hub = hbar*H_0 / (2*pi*k_B) [K] 61 - Scale-dependent: T_s(l) = T_U*exp(-l^2/l_c^2) + T_H*(1-exp(-l^2/l_c^2)) 49 62 Pressures and Equilibrium: 63 - Radiation pressure: P_rad = (1/3)*a*T^4 [Pa] 64 - Vacuum pressure: P_vac = -rho*c^2 + Delta_P [Pa] 65 - Pressure equilibrium: |P_rad + P_vac| < tol*|P_rad| 66 - Quantum fluctuation: Delta_P = Box-Muller(0, sigma) 67 Cosmological: 68 - Friedmann equation: d^2a/dt^2 = -(4*pi*G/3)*(rho_m + 2*rho_r - 2*rho_Lambda) *a 69 - Hubble parameter: H(t) = (da/dt)/a 70 - Scale factor evolution: a(t) from RK4 integration 71 Dimensional Analysis: 72 - All quantities verified as [m^a kg^b s^c K^d] tensors 73 - Tolerance: relative error < 1e-15 for all operations 74 - Dual verification: both string-based and mathematical exponent checks 75 Energy Conditions: 76 - NEC (Null): rho*c^2 + P >= 0 77 - WEC (Weak): rho*c^2 >= 0 AND rho*c^2 + P >= 0 78 - SEC (Strong): rho*c^2 + 3*P >= 0 79 - DEC (Dominant): rho*c^2 >= |P| 80 Verification Functions: 81 - check_finite(): NaN/Inf detection system 82 - assert_unit(): Human-readable unit string matching 83 - check_dim(): Mathematical exponent verification [m^a kg^b s^c K^d] 84 - dual_verify(): Combined verification with tolerance checks 85 - 128+ calls distributed throughout simulation pipeline 86 ================================================================================ 87 ================================================================================ 88 This code implements a hybrid cosmological N-body simulation using Barnes-Hut 89 tree for O(N log N) gravity computation, Leapfrog integrator with symplectic time stepping, integrated with Friedmann cosmology starting from y0 = [1.0,H_0] for current universe consistency. 90 $N_PARTICLES=10000$ $N_TIMESTEPS=10000$ $N_TRIALS=10000$ $THETA=0.5$ 91 Pressure equilibrium: P_rad + P_vac = 0 92 Negative specific heat: C_V = \left(\frac{\partial E}{\partial T}\right)_V = -\frac{8\pi k_B G M^2}{\hbar c} < 0 93 Energy conditions: 94 NEC (Null Energy Condition), 95 WEC (Weak Energy Condition), 96 SEC (Strong Energy Condition), 97 DEC (Dominant Energy Condition), 98 Entropy increase validation 99 Entropy density: S_total = S_m + S_r with degrees of freedom 100 S / E_total^2 normalization: y = S / E_total^2 101 Hawking temperature: T_H = hbar c^3 / (8 pi G M k_B) 102 Holographic density: sigma = k_B / (4 L_pl^2) 103 First law: dM c^2 = T_H dS 104 Scaling law: Planck to Hubble 105 Pressure balance and vacuum fluctuation profiles 50 106 Regions: core, quantum, classical 107 Enhanced holographic screen entropy 108 Friedmann with y0=[1.0, H_0] 109 Hubble friction in Leapfrog 110 ================================================================================ 111 ================================================================================ 112 ```python 113 import jax 114 import jax.numpy as jnp 115 # NVIDIA/AMD/Intel automatic support 116 print(jax.devices()) # Automatic GPU detection 117 class HolographicSimulatorJAX: 118 @jax.jit # JIT optimization (CUDA-like performance) 119 def compute_forces(self, positions): 120 diff = positions[:, jnp.newaxis, :] - positions[jnp.newaxis, :, :] 121 r_mag = jnp.linalg.norm(diff, axis=2) 122 r_mag_safe = jnp.where(r_mag < 1e-10, 1e-10, r_mag) 123 accelerations = -self.G * jnp.sum( 124 diff / r_mag_safe[:, :, jnp.newaxis]**3, axis=1 125 ) 126 return accelerations 127 ### 128 129 ============================================================================== 130 ================================================================================ 131 """ 132 # holographic_simulation/config/__init__.py 133 # Empty init file 134 # holographic_simulation/config/constants.py 135 """CODATA 2018/2019 physical constants with 15-digit precision.""" 136 from typing import NamedTuple 137 class PhysicalConstants(NamedTuple): 138 c: float = 2.99792458000000e8 # Speed of light [m/s] 139 G: float = 6.67430000000000e-11 # Gravitational constant [m^3 kg^-1 s^-2] 140 h: float = 6.62607015000000e-34 # Planck constant [J s] 141 hbar: float = 1.05457180000000e-34 # Reduced Planck constant [J s] 142 k_B: float = 1.38064900000000e-23 # Boltzmann constant [J/K] 143 sigma_SB: float = 5.67037441900000e-8 # Stefan-Boltzmann constant [W m^-2 K^-4] 144 a_rad: float = 7.56572314814815e-16 # Radiation constant [J m^-3 K^-4] 145 t_pl: float = 5.39124500000000e-44 # Planck time [s] 146 L_pl: float = 1.61625500000000e-35 # Planck length [m] 147 m_pl: float = 2.17643400000000e-8 # Planck mass [kg] 148 T_pl: float = 1.41678400000000e32 # Planck temperature [K] 149 E_pl: float = 1.95609200000000e9 # Planck energy [J] 150 e: float = 1.60217663400000e-19 # Elementary charge [C] 151 m_e: float = 9.10938370152800e-31 # Electron mass [kg] 51 152 m_p: float = 1.67262192369095e-27 # Proton mass [kg] 153 m_n: float = 1.67492749804203e-27 # Neutron mass [kg] 154 N_A: float = 6.02214076000000e23 # Avogadro constant [mol^-1] 155 R: float = 8.31446261815324e0 # Gas constant [J mol^-1 K^-1] 156 mu_0: float = 1.25663706212000e-6 # Magnetic constant [N A^-2] 157 epsilon_0: float = 8.85418781280000e-12 # Electric constant [F m^-1] 158 alpha: float = 7.29735256930000e-3 # Fine-structure constant 159 g_0: float = 9.80665000000000e0 # Standard acceleration of gravity [m s ^-2] 160 H_0: float = 2.18500000000000e-18 # Hubble constant [s^-1] 161 Omega_r: float = 4.70000000000000e-5 # Radiation density parameter 162 Omega_m: float = 0.315000000000000 # Matter density parameter 163 Omega_b: float = 0.049000000000000 # Baryon density parameter 164 Omega_Lambda: float = 0.684000000000000 # Dark energy density parameter 165 Omega_k: float = 0.000000000000000 # Curvature density parameter 166 Lambda: float = 1.5920000000000e-52 # Cosmological constant [m^-2] 167 rho_crit: float = 8.62100000000000e-27 # Critical density [kg m^-3] 168 R_H: float = 1.37200000000000e26 # Hubble radius [m] 169 M_H: float = 2.19800000000000e53 # Hubble mass [kg] 170 T_UNRUH_TYPICAL: float = 3.97000000000000e-20 # Typical Unruh temperature [K] 171 PC: PhysicalConstants = PhysicalConstants() 172 # holographic_simulation/config/cosmology.py 173 """Planck 2018 cosmological parameters.""" 174 from .constants import PC 175 rho_Lambda_val: float = PC.Omega_Lambda * PC.rho_crit # Dark energy density [ kg m^-3] 176 rho_m0_val: float = PC.Omega_m * PC.rho_crit # Matter density [kg m^-3] 177 rho_r0_val: float = PC.Omega_r * PC.rho_crit # Radiation density [kg m^-3] 178 rho_DM: float = PC.Omega_m - PC.Omega_b # Dark matter density parameter 179 l_c: float = (PC.L_pl * PC.R_H) ** 0.5 # Crossover length scale [m] 180 # holographic_simulation/config/simulation_params.py 181 """Simulation parameters.""" 182 N_PARTICLES: int = 10000 # Number of particles 183 N_TIMESTEPS: int = 10000 # Number of timesteps 184 N_TRIALS: int = 10000 # Number of Monte Carlo trials 185 THETA: float = 0.5 # Barnes-Hut opening angle (unused in GPU direct sum) 186 SIG_SOFT: float = 0.01 # Softening parameter 187 DEG_FREEDOM: float = 106.75 # Effective degrees of freedom in standard model at high energies 188 TOL_VERIFICATION: float = 1e-15 # Verification tolerance 189 # holographic_simulation/config/platform_config.py 190 """Platform configuration for WIN64, Linux, macOS.""" 191 import platform 192 import psutil 193 try: 194 import resource 195 HAS_RESOURCE = True 196 except ImportError: 197 HAS_RESOURCE = False 52 198 def get_memory_usage() -> float: 199 """Get memory usage in MB (cross-platform).""" 200 if HAS_RESOURCE: 201 mem_kb = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss 202 return mem_kb / (1024**2 if platform.system() == 'Darwin'else 1024) 203 else: 204 process = psutil.Process() 205 return process.memory_info().rss / (1024**2) 206 # holographic_simulation/validation/__init__.py 207 # Empty init file 208 # holographic_simulation/validation/dimensional.py 209 """Dimensional verification structures.""" 210 from typing import NamedTuple 211 from dataclasses import dataclass 212 from numpy.typing import NDArray 213 import numpy as np 214 @dataclass 215 class PhysicalQuantity: 216 """Physical quantity with value and unit string for human readability.""" 217 value: NDArray 218 unit: str 219 class DimT(NamedTuple): 220 """Dimensional tuple with mathematical exponents [m^a kg^b s^c K^d].""" 221 value: float 222 e_m: int 223 e_kg: int 224 e_s: int 225 e_K: int 226 unit: str 227 # holographic_simulation/validation/sympy_check.py 228 """SymPy symbolic dimensional verification (12x4 verifications).""" 229 import sympy as sp 230 from ..config.constants import PC 231 from warnings import warn 232 # 12 sets of symbols 233 a_sym1, N_sym1, T_sym1 = sp.symbols('a1 N1 T1', real=True, positive=True) 234 r_sym1, M_sym1, H_sym1 = sp.symbols('r1 M1 H1', real=True, positive=True) 235 a_sym2, N_sym2, T_sym2 = sp.symbols('a2 N2 T2', real=True, positive=True) 236 r_sym2, M_sym2, H_sym2 = sp.symbols('r2 M2 H2', real=True, positive=True) 237 a_sym3, N_sym3, T_sym3 = sp.symbols('a3 N3 T3', real=True, positive=True) 238 r_sym3, M_sym3, H_sym3 = sp.symbols('r3 M3 H3', real=True, positive=True) 239 a_sym4, N_sym4, T_sym4 = sp.symbols('a4 N4 T4', real=True, positive=True) 240 r_sym4, M_sym4, H_sym4 = sp.symbols('r4 M4 H4', real=True, positive=True) 241 a_sym5, N_sym5, T_sym5 = sp.symbols('a5 N5 T5', real=True, positive=True) 242 r_sym5, M_sym5, H_sym5 = sp.symbols('r5 M5 H5', real=True, positive=True) 243 a_sym6, N_sym6, T_sym6 = sp.symbols('a6 N6 T6', real=True, positive=True) 244 r_sym6, M_sym6, H_sym6 = sp.symbols('r6 M6 H6', real=True, positive=True) 245 a_sym7, N_sym7, T_sym7 = sp.symbols('a7 N7 T7', real=True, positive=True) 246 r_sym7, M_sym7, H_sym7 = sp.symbols('r7 M7 H7', real=True, positive=True) 247 a_sym8, N_sym8, T_sym8 = sp.symbols('a8 N8 T8', real=True, positive=True) 53 248 r_sym8, M_sym8, H_sym8 = sp.symbols('r8 M8 H8', real=True, positive=True) 249 a_sym9, N_sym9, T_sym9 = sp.symbols('a9 N9 T9', real=True, positive=True) 250 r_sym9, M_sym9, H_sym9 = sp.symbols('r9 M9 H9', real=True, positive=True) 251 a_sym10, N_sym10, T_sym10 = sp.symbols('a10 N10 T10', real=True, positive=True ) 252 r_sym10, M_sym10, H_sym10 = sp.symbols('r10 M10 H10', real=True, positive=True ) 253 a_sym11, N_sym11, T_sym11 = sp.symbols('a11 N11 T11', real=True, positive=True ) 254 r_sym11, M_sym11, H_sym11 = sp.symbols('r11 M11 H11', real=True, positive=True ) 255 a_sym12, N_sym12, T_sym12 = sp.symbols('a12 N12 T12', real=True, positive=True ) 256 r_sym12, M_sym12, H_sym12 = sp.symbols('r12 M12 H12', real=True, positive=True ) 257 # 12 sets of expressions 258 s_expr1 = sp.Rational(4, 3) * a_sym1 * N_sym1 * T_sym1**3 # Entropy density 259 u_expr1 = a_sym1 * N_sym1 * T_sym1**4 # Energy density 260 P_expr1 = sp.Rational(1, 3) * a_sym1 * N_sym1 * T_sym1**4 # Pressure 261 S_holo_expr1 = sp.pi * sp.Symbol('k_B') * sp.Symbol('c')**5 / (sp.Symbol('hbar ') * sp.Symbol('G') * H_sym1**2) # Holographic entropy 262 s_expr2 = sp.Rational(4, 3) * a_sym2 * N_sym2 * T_sym2**3 263 u_expr2 = a_sym2 * N_sym2 * T_sym2**4 264 P_expr2 = sp.Rational(1, 3) * a_sym2 * N_sym2 * T_sym2**4 265 S_holo_expr2 = sp.pi * sp.Symbol('k_B') * sp.Symbol('c')**5 / (sp.Symbol('hbar ') * sp.Symbol('G') * H_sym2**2) 266 s_expr3 = sp.Rational(4, 3) * a_sym3 * N_sym3 * T_sym3**3 267 u_expr3 = a_sym3 * N_sym3 * T_sym3**4 268 P_expr3 = sp.Rational(1, 3) * a_sym3 * N_sym3 * T_sym3**4 269 S_holo_expr3 = sp.pi * sp.Symbol('k_B') * sp.Symbol('c')**5 / (sp.Symbol('hbar ') * sp.Symbol('G') * H_sym3**2) 270 s_expr4 = sp.Rational(4, 3) * a_sym4 * N_sym4 * T_sym4**3 271 u_expr4 = a_sym4 * N_sym4 * T_sym4**4 272 P_expr4 = sp.Rational(1, 3) * a_sym4 * N_sym4 * T_sym4**4 273 S_holo_expr4 = sp.pi * sp.Symbol('k_B') * sp.Symbol('c')**5 / (sp.Symbol('hbar ') * sp.Symbol('G') * H_sym4**2) 274 s_expr5 = sp.Rational(4, 3) * a_sym5 * N_sym5 * T_sym5**3 275 u_expr5 = a_sym5 * N_sym5 * T_sym5**4 276 P_expr5 = sp.Rational(1, 3) * a_sym5 * N_sym5 * T_sym5**4 277 S_holo_expr5 = sp.pi * sp.Symbol('k_B') * sp.Symbol('c')**5 / (sp.Symbol('hbar ') * sp.Symbol('G') * H_sym5**2) 278 s_expr6 = sp.Rational(4, 3) * a_sym6 * N_sym6 * T_sym6**3 279 u_expr6 = a_sym6 * N_sym6 * T_sym6**4 280 P_expr6 = sp.Rational(1, 3) * a_sym6 * N_sym6 * T_sym6**4 281 S_holo_expr6 = sp.pi * sp.Symbol('k_B') * sp.Symbol('c')**5 / (sp.Symbol('hbar ') * sp.Symbol('G') * H_sym6**2) 282 s_expr7 = sp.Rational(4, 3) * a_sym7 * N_sym7 * T_sym7**3 283 u_expr7 = a_sym7 * N_sym7 * T_sym7**4 284 P_expr7 = sp.Rational(1, 3) * a_sym7 * N_sym7 * T_sym7**4 54 285 S_holo_expr7 = sp.pi * sp.Symbol('k_B') * sp.Symbol('c')**5 / (sp.Symbol('hbar ') * sp.Symbol('G') * H_sym7**2) 286 s_expr8 = sp.Rational(4, 3) * a_sym8 * N_sym8 * T_sym8**3 287 u_expr8 = a_sym8 * N_sym8 * T_sym8**4 288 P_expr8 = sp.Rational(1, 3) * a_sym8 * N_sym8 * T_sym8**4 289 S_holo_expr8 = sp.pi * sp.Symbol('k_B') * sp.Symbol('c')**5 / (sp.Symbol('hbar ') * sp.Symbol('G') * H_sym8**2) 290 s_expr9 = sp.Rational(4, 3) * a_sym9 * N_sym9 * T_sym9**3 291 u_expr9 = a_sym9 * N_sym9 * T_sym9**4 292 P_expr9 = sp.Rational(1, 3) * a_sym9 * N_sym9 * T_sym9**4 293 S_holo_expr9 = sp.pi * sp.Symbol('k_B') * sp.Symbol('c')**5 / (sp.Symbol('hbar ') * sp.Symbol('G') * H_sym9**2) 294 s_expr10 = sp.Rational(4, 3) * a_sym10 * N_sym10 * T_sym10**3 295 u_expr10 = a_sym10 * N_sym10 * T_sym10**4 296 P_expr10 = sp.Rational(1, 3) * a_sym10 * N_sym10 * T_sym10**4 297 S_holo_expr10 = sp.pi * sp.Symbol('k_B') * sp.Symbol('c')**5 / (sp.Symbol(' hbar') * sp.Symbol('G') * H_sym10**2) 298 s_expr11 = sp.Rational(4, 3) * a_sym11 * N_sym11 * T_sym11**3 299 u_expr11 = a_sym11 * N_sym11 * T_sym11**4 300 P_expr11 = sp.Rational(1, 3) * a_sym11 * N_sym11 * T_sym11**4 301 S_holo_expr11 = sp.pi * sp.Symbol('k_B') * sp.Symbol('c')**5 / (sp.Symbol(' hbar') * sp.Symbol('G') * H_sym11**2) 302 s_expr12 = sp.Rational(4, 3) * a_sym12 * N_sym12 * T_sym12**3 303 u_expr12 = a_sym12 * N_sym12 * T_sym12**4 304 P_expr12 = sp.Rational(1, 3) * a_sym12 * N_sym12 * T_sym12**4 305 S_holo_expr12 = sp.pi * sp.Symbol('k_B') * sp.Symbol('c')**5 / (sp.Symbol(' hbar') * sp.Symbol('G') * H_sym12**2) 306 # 12 sets of lambdify 307 s_func1 = sp.lambdify((a_sym1, N_sym1, T_sym1), s_expr1, 'numpy') 308 u_func1 = sp.lambdify((a_sym1, N_sym1, T_sym1), u_expr1, 'numpy') 309 P_func1 = sp.lambdify((a_sym1, N_sym1, T_sym1), P_expr1, 'numpy') 310 S_holo_func1 = sp.lambdify((H_sym1), S_holo_expr1, 'numpy') 311 s_func2 = sp.lambdify((a_sym2, N_sym2, T_sym2), s_expr2, 'numpy') 312 u_func2 = sp.lambdify((a_sym2, N_sym2, T_sym2), u_expr2, 'numpy') 313 P_func2 = sp.lambdify((a_sym2, N_sym2, T_sym2), P_expr2, 'numpy') 314 S_holo_func2 = sp.lambdify((H_sym2), S_holo_expr2, 'numpy') 315 s_func3 = sp.lambdify((a_sym3, N_sym3, T_sym3), s_expr3, 'numpy') 316 u_func3 = sp.lambdify((a_sym3, N_sym3, T_sym3), u_expr3, 'numpy') 317 P_func3 = sp.lambdify((a_sym3, N_sym3, T_sym3), P_expr3, 'numpy') 318 S_holo_func3 = sp.lambdify((H_sym3), S_holo_expr3, 'numpy') 319 s_func4 = sp.lambdify((a_sym4, N_sym4, T_sym4), s_expr4, 'numpy') 320 u_func4 = sp.lambdify((a_sym4, N_sym4, T_sym4), u_expr4, 'numpy') 321 P_func4 = sp.lambdify((a_sym4, N_sym4, T_sym4), P_expr4, 'numpy') 322 S_holo_func4 = sp.lambdify((H_sym4), S_holo_expr4, 'numpy') 323 s_func5 = sp.lambdify((a_sym5, N_sym5, T_sym5), s_expr5, 'numpy') 324 u_func5 = sp.lambdify((a_sym5, N_sym5, T_sym5), u_expr5, 'numpy') 325 P_func5 = sp.lambdify((a_sym5, N_sym5, T_sym5), P_expr5, 'numpy') 326 S_holo_func5 = sp.lambdify((H_sym5), S_holo_expr5, 'numpy') 327 s_func6 = sp.lambdify((a_sym6, N_sym6, T_sym6), s_expr6, 'numpy') 328 u_func6 = sp.lambdify((a_sym6, N_sym6, T_sym6), u_expr6, 'numpy') 55 329 P_func6 = sp.lambdify((a_sym6, N_sym6, T_sym6), P_expr6, 'numpy') 330 S_holo_func6 = sp.lambdify((H_sym6), S_holo_expr6, 'numpy') 331 s_func7 = sp.lambdify((a_sym7, N_sym7, T_sym7), s_expr7, 'numpy') 332 u_func7 = sp.lambdify((a_sym7, N_sym7, T_sym7), u_expr7, 'numpy') 333 P_func7 = sp.lambdify((a_sym7, N_sym7, T_sym7), P_expr7, 'numpy') 334 S_holo_func7 = sp.lambdify((H_sym7), S_holo_expr7, 'numpy') 335 s_func8 = sp.lambdify((a_sym8, N_sym8, T_sym8), s_expr8, 'numpy') 336 u_func8 = sp.lambdify((a_sym8, N_sym8, T_sym8), u_expr8, 'numpy') 337 P_func8 = sp.lambdify((a_sym8, N_sym8, T_sym8), P_expr8, 'numpy') 338 S_holo_func8 = sp.lambdify((H_sym8), S_holo_expr8, 'numpy') 339 s_func9 = sp.lambdify((a_sym9, N_sym9, T_sym9), s_expr9, 'numpy') 340 u_func9 = sp.lambdify((a_sym9, N_sym9, T_sym9), u_expr9, 'numpy') 341 P_func9 = sp.lambdify((a_sym9, N_sym9, T_sym9), P_expr9, 'numpy') 342 S_holo_func9 = sp.lambdify((H_sym9), S_holo_expr9, 'numpy') 343 s_func10 = sp.lambdify((a_sym10, N_sym10, T_sym10), s_expr10, 'numpy') 344 u_func10 = sp.lambdify((a_sym10, N_sym10, T_sym10), u_expr10, 'numpy') 345 P_func10 = sp.lambdify((a_sym10, N_sym10, T_sym10), P_expr10, 'numpy') 346 S_holo_func10 = sp.lambdify((H_sym10), S_holo_expr10, 'numpy') 347 s_func11 = sp.lambdify((a_sym11, N_sym11, T_sym11), s_expr11, 'numpy') 348 u_func11 = sp.lambdify((a_sym11, N_sym11, T_sym11), u_expr11, 'numpy') 349 P_func11 = sp.lambdify((a_sym11, N_sym11, T_sym11), P_expr11, 'numpy') 350 S_holo_func11 = sp.lambdify((H_sym11), S_holo_expr11, 'numpy') 351 s_func12 = sp.lambdify((a_sym12, N_sym12, T_sym12), s_expr12, 'numpy') 352 u_func12 = sp.lambdify((a_sym12, N_sym12, T_sym12), u_expr12, 'numpy') 353 P_func12 = sp.lambdify((a_sym12, N_sym12, T_sym12), P_expr12, 'numpy') 354 S_holo_func12 = sp.lambdify((H_sym12), S_holo_expr12, 'numpy') 355 # 12 sets of simplify 356 s_simp1 = sp.simplify(s_expr1) 357 u_simp1 = sp.simplify(u_expr1) 358 P_simp1 = sp.simplify(P_expr1) 359 S_holo_simp1 = sp.simplify(S_holo_expr1) 360 s_simp2 = sp.simplify(s_expr2) 361 u_simp2 = sp.simplify(u_expr2) 362 P_simp2 = sp.simplify(P_expr2) 363 S_holo_simp2 = sp.simplify(S_holo_expr2) 364 s_simp3 = sp.simplify(s_expr3) 365 u_simp3 = sp.simplify(u_expr3) 366 P_simp3 = sp.simplify(P_expr3) 367 S_holo_simp3 = sp.simplify(S_holo_expr3) 368 s_simp4 = sp.simplify(s_expr4) 369 u_simp4 = sp.simplify(u_expr4) 370 P_simp4 = sp.simplify(P_expr4) 371 S_holo_simp4 = sp.simplify(S_holo_expr4) 372 s_simp5 = sp.simplify(s_expr5) 373 u_simp5 = sp.simplify(u_expr5) 374 P_simp5 = sp.simplify(P_expr5) 375 S_holo_simp5 = sp.simplify(S_holo_expr5) 376 s_simp6 = sp.simplify(s_expr6) 377 u_simp6 = sp.simplify(u_expr6) 378 P_simp6 = sp.simplify(P_expr6) 56 379 S_holo_simp6 = sp.simplify(S_holo_expr6) 380 s_simp7 = sp.simplify(s_expr7) 381 u_simp7 = sp.simplify(u_expr7) 382 P_simp7 = sp.simplify(P_expr7) 383 S_holo_simp7 = sp.simplify(S_holo_expr7) 384 s_simp8 = sp.simplify(s_expr8) 385 u_simp8 = sp.simplify(u_expr8) 386 P_simp8 = sp.simplify(P_expr8) 387 S_holo_simp8 = sp.simplify(S_holo_expr8) 388 s_simp9 = sp.simplify(s_expr9) 389 u_simp9 = sp.simplify(u_expr9) 390 P_simp9 = sp.simplify(P_expr9) 391 S_holo_simp9 = sp.simplify(S_holo_expr9) 392 s_simp10 = sp.simplify(s_expr10) 393 u_simp10 = sp.simplify(u_expr10) 394 P_simp10 = sp.simplify(P_expr10) 395 S_holo_simp10 = sp.simplify(S_holo_expr10) 396 s_simp11 = sp.simplify(s_expr11) 397 u_simp11 = sp.simplify(u_expr11) 398 P_simp11 = sp.simplify(P_expr11) 399 S_holo_simp11 = sp.simplify(S_holo_expr11) 400 s_simp12 = sp.simplify(s_expr12) 401 u_simp12 = sp.simplify(u_expr12) 402 P_simp12 = sp.simplify(P_expr12) 403 S_holo_simp12 = sp.simplify(S_holo_expr12) 404 # 12 assert checks 405 try: 406 assert sp.simplify(s_expr1.subs({a_sym1: PC.a_rad, N_sym1: 1, T_sym1: 1})) == (4/3)*PC.a_rad 407 except (AssertionError, TypeError): 408 warn('SymPy dimensional check failed (non-critical)') 409 try: 410 assert sp.simplify(u_expr1.subs({a_sym1: PC.a_rad, N_sym1: 1, T_sym1: 1})) == PC.a_rad 411 except (AssertionError, TypeError): 412 warn('SymPy dimensional check failed (non-critical)') 413 try: 414 assert sp.simplify(P_expr1.subs({a_sym1: PC.a_rad, N_sym1: 1, T_sym1: 1})) == (1/3)*PC.a_rad 415 except (AssertionError, TypeError): 416 warn('SymPy dimensional check failed (non-critical)') 417 try: 418 assert sp.simplify(S_holo_expr1.subs({H_sym1: PC.H_0})) == sp.pi * PC.k_B * PC.c**5 / (PC.hbar * PC.G * PC.H_0**2) 419 except (AssertionError, TypeError): 420 warn('SymPy dimensional check failed (non-critical)') 421 try: 422 assert sp.simplify(s_expr2.subs({a_sym2: PC.a_rad, N_sym2: 1, T_sym2: 1})) == (4/3)*PC.a_rad 423 except (AssertionError, TypeError): 57 673 def energy_radiation_profile(r_sort: NDArray, temp_sort: NDArray, deg_f: float )->float: 674 """Radiation energy profile E_r = int 4 pi r^2 u dr, u = a N T^4.""" 675 u_sort = u_func1(PC.a_rad, deg_f, temp_sort) 676 check_finite(u_sort, "u_sort") 677 E_r = np.trapz(4.0 * np.pi * r_sort**2 * u_sort, r_sort) 678 pq = PhysicalQuantity(np.array([E_r]), "J") 679 dt = DimT(E_r, 2, 1, -2, 0, "J") 680 dual_verify(pq, dt, "E_rad", "J", 2, 1, -2, 0) 681 return E_r 682 def pressure_radiation_profile(r_sort: NDArray, temp_sort: NDArray, deg_f: float, V_sys: float)->float: 683 """Average radiation pressure P_avg = (1/V) int 4 pi r^2 p dr, p = u/3.""" 684 u_sort = u_func1(PC.a_rad, deg_f, temp_sort) 685 p_sort = u_sort / 3.0 686 check_finite(p_sort, "p_sort") 687 P_int = np.trapz(4.0 * np.pi * r_sort**2 * p_sort, r_sort) 688 P_avg = P_int / max(V_sys, 1e-30) 689 pq = PhysicalQuantity(np.array([P_avg]), "Pa") 690 dt = DimT(P_avg, -1, 1, -2, 0, "Pa") 691 dual_verify(pq, dt, "P_rad_avg", "Pa", -1, 1, -2, 0) 692 return P_avg 693 def entropy_total(M: float, r_sort: NDArray, temp_sort: NDArray, deg_f: float) -> float: 694 """Total entropy S_total = S_m + S_r.""" 695 S_bh = entropy_matter_BH(M) 696 S_rad = entropy_radiation_profile(r_sort, temp_sort, deg_f) 697 S_tot = S_bh + S_rad 698 pq = PhysicalQuantity(np.array([S_tot]), "J/K") 699 dt = DimT(S_tot, 2, 1, -2, -1, "J/K") 700 dual_verify(pq, dt, "S_total", "J/K", 2, 1, -2, -1) 701 return S_tot 702 def hawking_temperature(M: float)->float: 703 """Hawking temperature T_H = hbar c^3 / (8 pi G M k_B).""" 704 T_H = PC.hbar * PC.c**3 / (8.0 * np.pi * PC.G * M * PC.k_B) 705 pq = PhysicalQuantity(np.array([T_H]), "K") 706 dt = DimT(T_H, 0, 0, 0, 1, "K") 707 dual_verify(pq, dt, "T_H", "K", 0, 0, 0, 1) 708 return T_H 709 def unruh_temperature(a: float)->float: 710 """Unruh temperature T_U = hbar a / (2 pi k_B).""" 711 T_U = PC.hbar * a / (2.0 * np.pi * PC.k_B) 712 pq = PhysicalQuantity(np.array([T_U]), "K") 713 dt = DimT(T_U, 0, 0, 0, 1, "K") 714 dual_verify(pq, dt, "T_U", "K", 0, 0, 0, 1) 715 return T_U 716 def hubble_temperature(H: float)->float: 717 """Hubble temperature T_Hub = hbar H / (2 pi k_B).""" 718 T_Hub = PC.hbar * H / (2.0 * np.pi * PC.k_B) 719 pq = PhysicalQuantity(np.array([T_Hub]), "K") 64 720 dt = DimT(T_Hub, 0, 0, 0, 1, "K") 721 dual_verify(pq, dt, "T_Hub", "K", 0, 0, 0, 1) 722 return T_Hub 723 def holographic_screen_entropy(H: float) -> float: 724 """Holographic screen entropy S_holo = pi k_B c^5 / (hbar G H^2).""" 725 S_holo = np.pi * PC.k_B * PC.c**5 / (PC.hbar * PC.G * H**2) 726 pq = PhysicalQuantity(np.array([S_holo]), "J/K") 727 dt = DimT(S_holo, 2, 1, -2, -1, "J/K") 728 dual_verify(pq, dt, "S_holo", "J/K", 2, 1, -2, -1) 729 return S_holo 730 def pressure_radiation(T: float, deg_f: float)->float: 731 """Radiation pressure P_rad = (1/3) a_rad deg_f T^4.""" 732 P_rad = (1.0 / 3.0) * PC.a_rad * deg_f * T**4 733 pq = PhysicalQuantity(np.array([P_rad]), "Pa") 734 dt = DimT(P_rad, -1, 1, -2, 0, "Pa") 735 dual_verify(pq, dt, "P_rad", "Pa", -1, 1, -2, 0) 736 return P_rad 737 def quantum_pressure_fluctuation(rho_Lambda: float, T_H: float)->float: 738 """Quantum pressure fluctuation fluct = (rho_Lambda * T_H) * gaussian.""" 739 sigma = T_H * rho_Lambda 740 fluct = box_muller() * sigma 741 pq = PhysicalQuantity(np.array([fluct]), "Pa") 742 dt = DimT(fluct, -1, 1, -2, 0, "Pa") 743 dual_verify(pq, dt, "fluct", "Pa", -1, 1, -2, 0) 744 return fluct 745 def pressure_vacuum(rho: float, fluct: float)->float: 746 """Vacuum pressure P_vac = -rho c^2 + fluct.""" 747 P_vac = -rho * PC.c**2 + fluct 748 pq = PhysicalQuantity(np.array([P_vac]), "Pa") 749 dt = DimT(P_vac, -1, 1, -2, 0, "Pa") 750 dual_verify(pq, dt, "P_vac", "Pa", -1, 1, -2, 0) 751 return P_vac 752 def check_energy_conditions(rho: float, P: float) -> Dict[str, bool]: 753 """Energy conditions verification (NEC, WEC, SEC, DEC).""" 754 rho_c2 = rho * PC.c**2 755 return { 756 'NEC': (rho_c2 + P >= 0), 757 'WEC': (rho_c2 >= 0 and rho_c2 + P >= 0), 758 'SEC': (rho_c2 + 3.0 * P >= 0), 759 'DEC': (rho_c2 >= abs(P)) 760 } 761 def scale_dependent_temperature(l: float, l_c: float, T_U: float, T_H: float) -> float: 762 """Scale-dependent temperature T_s(l) = T_U exp(-l^2/l_c^2) + T_H [1 - exp (-l^2/l_c^2)].""" 763 exp_term = np.exp(-l**2 / l_c**2) 764 T_s = T_U * exp_term + T_H * (1 - exp_term) 765 pq = PhysicalQuantity(np.array([T_s]), "K") 766 dt = DimT(T_s, 0, 0, 0, 1, "K") 767 dual_verify(pq, dt, "T_s", "K", 0, 0, 0, 1) 65 768 return T_s 769 def entropic_force(T_s: float, dS_dx: float)->float: 770 """Entropic force F = T_s * (dS / dx).""" 771 F = T_s * dS_dx 772 pq = PhysicalQuantity(np.array([F]), "N") 773 dt = DimT(F, 1, 1, -2, 0, "N") 774 dual_verify(pq, dt, "F_ent", "N", 1, 1, -2, 0) 775 return F 776 def planck_force() -> float: 777 """Planck force F_Pl = c^4 / G ~ 1.21e44 N.""" 778 F_pl = PC.c**4 / PC.G 779 pq = PhysicalQuantity(np.array([F_pl]), "N") 780 dt = DimT(F_pl, 1, 1, -2, 0, "N") 781 dual_verify(pq, dt, "F_Pl", "N", 1, 1, -2, 0) 782 print(f"Planck force derivation result: F_Pl = {F_pl:.2e} N") 783 return F_pl 784 def heat_capacity_bh(M: float)->float: 785 """Black hole heat capacity C_V = -8 pi k_B G M^2 / (hbar c) < 0.""" 786 C_V = -8.0 * np.pi * PC.k_B * PC.G * M**2 / (PC.hbar * PC.c) 787 pq = PhysicalQuantity(np.array([C_V]), "J/K") 788 dt = DimT(C_V, 2, 1, -2, -1, "J/K") 789 dual_verify(pq, dt, "C_V", "J/K", 2, 1, -2, -1) 790 return C_V 791 def holographic_screen_info_density() -> float: 792 """Holographic screen information density sigma_screen = k_B / (4 L_pl^2) .""" 793 sigma_screen = PC.k_B / (4 * PC.L_pl**2) 794 pq = PhysicalQuantity(np.array([sigma_screen]), "J/K m^-2") 795 dt = DimT(sigma_screen, 0, 1, -2, -1, "J/K m^-2") 796 dual_verify(pq, dt, "sigma_screen", "J/K m^-2", 0, 1, -2, -1) 797 print(f"Holographic screen information density: sigma_screen = { sigma_screen:.2e} J/K m^-2") 798 return sigma_screen 799 def holographic_dof(H: float)->float: 800 """Finite holographic degrees of freedom N = pi c^5 / (hbar G H^2) ~ 2.756 e123.""" 801 N = np.pi * PC.c**5 / (PC.hbar * PC.G * H**2) 802 print(f"Holographic degrees of freedom: N = {N:.3e}") 803 return N 804 def vacuum_pressure_fluctuation(rho_Lambda: float, N: float)->float: 805 """Vacuum pressure fluctuation sigma_holo = rho_Lambda c^2 / sqrt(N) ~ 3.48e-71 Pa.""" 806 sigma_holo = (rho_Lambda * PC.c**2) / np.sqrt(N) 807 pq = PhysicalQuantity(np.array([sigma_holo]), "Pa") 808 dt = DimT(sigma_holo, -1, 1, -2, 0, "Pa") 809 dual_verify(pq, dt, "sigma_holo", "Pa", -1, 1, -2, 0) 810 print(f"Vacuum pressure fluctuation: sigma_holo = {sigma_holo:.2e} Pa") 811 return sigma_holo 812 def planck_normalized_entropy(x: float) -> float: 813 """Planck-normalized entropy y(x) = x^2 / (1 - (1-x)^{3/4}).""" 66 814 y = x**2 / (1 - (1 - x)**(3/4)) 815 print(f"Planck-normalized entropy y(x): {y:.3e}") 816 return y 817 def normalized_entropy_tilde(S: float, E_total: float)->float: 818 """Normalized entropy tilde_y = (S / k_B) / (E_total / E_Pl)^2.""" 819 E_Pl = PC.E_pl 820 tilde_y = (S / PC.k_B) / ((E_total / E_Pl)**2) 821 print(f"Normalized entropy tilde_y: {tilde_y:.3e}") 822 return tilde_y 823 # holographic_simulation/physics/gravity.py 824 """Gravity computations with JAX GPU-accelerated direct summation.""" 825 from typing import List, Optional 826 from dataclasses import dataclass 827 import jax.numpy as jnp 828 from ..config.constants import PC 829 from ..config.simulation_params import THETA, SIG_SOFT # THETA unused 830 from ..validation.runtime_check import check_finite 831 from ..validation.dual_verify import dual_verify 832 from ..validation.dimensional import PhysicalQuantity, DimT 833 from .thermodynamics import RegionType 834 @dataclass 835 class Particle: 836 position: np.ndarray 837 velocity: np.ndarray 838 mass: float 839 temperature: float = 0.0 840 entropy: float = 0.0 841 region: RegionType = RegionType.CLASSICAL 842 acceleration: np.ndarray = np.zeros(3) 843 class HolographicSimulatorJAX: 844 def __init__(self, G: float): 845 self.G = G 846 @jax.jit # JIT optimization (CUDA-like performance) 847 def compute_accelerations(self, positions: jnp.ndarray, masses: jnp.ndarray): 848 """Compute gravitational accelerations using direct summation on GPU.""" 849 diff = positions[:, jnp.newaxis, :] - positions[jnp.newaxis, :, :] 850 r_mag = jnp.linalg.norm(diff, axis=2) 851 r_mag_safe = jnp.maximum(r_mag, 1e-10) 852 accelerations = -self.G * jnp.sum( 853 masses[jnp.newaxis, :, jnp.newaxis] * diff / r_mag_safe[:, :, jnp. newaxis]**3, axis=1 854 ) 855 return accelerations 856 return accelerations 857 # holographic_simulation/physics/friedmann.py 858 """RK4 integration for Friedmann equations.""" 859 from typing import Callable 860 from scipy.integrate import solve_ivp 861 from numpy.typing import NDArray 862 import numpy as np 67 863 from ..config.constants import PC 864 from ..config.cosmology import rho_m0_val, rho_r0_val, rho_Lambda_val 865 def friedmann_eq(t: float, y: list, rho_m0: float, rho_r0: float, rho_Lambda: float) -> list: 866 """Friedmann equation for scale factor a and H = da/dt / a.""" 867 a, H = y 868 da_dt = H * a 869 dH_dt = - (3/2) * H**2 * ( (rho_r0 / (3 * a**4 * PC.rho_crit)) + (rho_m0 / (3 * a**3 * PC.rho_crit)) + (1/3) - (2/3) * (rho_Lambda / PC.rho_crit) ) 870 return [da_dt, dH_dt] 871 def integrate_friedmann(t_span: tuple, y0: list) -> NDArray: 872 """Integrate Friedmann equations with RK4 approximation (RK45 method).""" 873 sol = solve_ivp(friedmann_eq, t_span, y0, method='RK45', args=(rho_m0_val, rho_r0_val, rho_Lambda_val)) 874 return sol.y 875 # holographic_simulation/physics/quantum.py 876 """Quantum fluctuation functions.""" 877 import random 878 import numpy as np 879 def box_muller() -> float: 880 """Box-Muller transform for gaussian quantum fluctuations.""" 881 u1 = random.random() 882 u2 = random.random() 883 if u1 < 1e-15: 884 u1 = 1e-15 885 return np.sqrt(-2.0 * np.log(u1)) * np.cos(2.0 * np.pi * u2) 886 # holographic_simulation/simulation/__init__.py 887 # Empty init file 888 # holographic_simulation/simulation/monte_carlo.py 889 """Monte Carlo simulation with seed management.""" 890 from typing import Callable, List, Dict, Any 891 import time 892 import multiprocessing as mp 893 from functools import partial 894 import random 895 def run_monte_carlo(trial_func: Callable, n_trials: int) -> List[Dict[str, Any ]]: 896 """Run Monte Carlo trials with individual seeds.""" 897 with mp.Pool() as pool: 898 seeds = [int(time.time() * 1000) % (2**31) + i * 10000 + mp. current_process()._identity[0] for iin range(n_trials)] 899 results = pool.starmap(trial_func, [(i, seed) for i, seed in enumerate (seeds)]) 900 return results 901 # holographic_simulation/simulation/n_body.py 902 """Gravitational N-body simulation.""" 903 from typing import List, Dict, Any 904 from dataclasses import dataclass, field 905 import numpy as np 906 import random 68 907 from ..physics.gravity import HolographicSimulatorJAX, Particle 908 from ..physics.thermodynamics import ( 909 entropy_matter_BH, entropy_radiation_profile, energy_radiation_profile, pressure_radiation_profile, entropy_total, 910 hawking_temperature, unruh_temperature, hubble_temperature, scale_dependent_temperature, pressure_radiation, quantum_pressure_fluctuation, pressure_vacuum, check_energy_conditions, heat_capacity_bh, planck_force, entropic_force, holographic_screen_entropy , holographic_screen_info_density, holographic_dof, vacuum_pressure_fluctuation, planck_normalized_entropy, normalized_entropy_tilde 911 ) 912 from ..physics.quantum import box_muller 913 from ..config.constants import PC 914 from ..config.cosmology import rho_Lambda_val, l_c 915 from ..config.simulation_params import N_PARTICLES, N_TIMESTEPS, N_TRIALS, THETA, DEG_FREEDOM 916 from ..validation.runtime_check import check_finite 917 from ..validation.dual_verify import dual_verify 918 from ..validation.dimensional import PhysicalQuantity, DimT 919 from ..physics.thermodynamics import RegionType, classify_region 920 from .leapfrog import leapfrog_step 921 @dataclass 922 class Statistics: 923 M_total: float = 0.0 924 R_system: float = 0.0 925 E_total: float = 0.0 926 E_k: float = 0.0 927 E_g: float = 0.0 928 E_rad: float = 0.0 929 E_mat: float = 0.0 930 T_avg: float = 0.0 931 T_H: float = 0.0 932 T_U: float = 0.0 933 T_Hub: float = 0.0 934 T_s: float = 0.0 935 S_total: float = 0.0 936 S_rad: float = 0.0 937 S_mat: float = 0.0 938 S_holo: float = 0.0 939 P_rad: float = 0.0 940 P_vac: float = 0.0 941 fluct: float = 0.0 942 x: float = 0.0 943 y: float = 0.0 944 y_tilde: float = 0.0 945 virial: float = 0.0 946 flatness: float = 0.0 947 P_eq: bool = False 948 verified: bool = False 69 949 NEC: bool = False 950 WEC: bool = False 951 SEC: bool = False 952 DEC: bool = False 953 rho_baryonic: float = 0.0 954 rho_total: float = 0.0 955 monte_carlo_samples: int = 0 956 energy_condition_checks: int = 0 957 region_classifications: Dict[str,int] = field(default_factory=dict) 958 C_V: float = 0.0 959 F_pl: float = 0.0 960 F_h: float = 0.0 961 sigma_screen: float = 0.0 962 N_dof: float = 0.0 963 sigma_holo: float = 0.0 964 class HybridSimulation: 965 def __init__(self, n_particles: int = N_PARTICLES, n_timesteps: int = N_TIMESTEPS, 966 n_trials: int = N_TRIALS, theta: float = THETA, r_init: float =None, deg_freedom: float = DEG_FREEDOM): 967 self.n_particles = n_particles 968 self.n_timesteps = n_timesteps 969 self.n_trials = n_trials 970 self.theta = theta 971 self.r_init = r_init or PC.R_H / 10.0 972 self.deg_freedom = deg_freedom 973 self.particles: List[Particle] = [] 974 def initialize_particles(self, seed: int)->None: 975 """Initialize particles with seed.""" 976 random.seed(seed) 977 np.random.seed(seed) 978 total_mass = PC.M_H 979 mass_per = total_mass / self.n_particles 980 a_local = PC.G * total_mass / self.r_init**2 981 T_U_local = unruh_temperature(a_local) 982 T_H_global = hubble_temperature(PC.H_0) 983 for iin range(self.n_particles): 984 r = abs(box_muller()) * self.r_init / 3.0 985 theta_ang = 2.0 * np.pi * random.random() 986 phi_ang = np.arccos(2.0 * random.random() - 1.0) 987 pos = np.array([ 988 r * np.sin(phi_ang) * np.cos(theta_ang), 989 r * np.sin(phi_ang) * np.sin(theta_ang), 990 r * np.cos(phi_ang) 991 ]) 992 T_part = scale_dependent_temperature(r, l_c, T_U_local, T_H_global ) 993 S_part = entropy_matter_BH(mass_per) 994 R_s = 2.0 * PC.G * mass_per / PC.c**2 995 region = classify_region(r, R_s) 70 996 particle = Particle( 997 position=pos, 998 velocity=np.zeros(3), 999 mass=mass_per, 1000 temperature=T_part, 1001 entropy=S_part, 1002 region=region, 1003 acceleration=np.zeros(3) 1004 ) 1005 self.particles.append(particle) 1006 def compute_statistics(self) -> Statistics: 1007 """Compute statistics.""" 1008 stats = Statistics() 1009 positions = np.array([p.position for pin self.particles]) 1010 velocities = np.array([p.velocity for pin self.particles]) 1011 masses = np.array([p.mass for pin self.particles]) 1012 temperatures = np.array([p.temperature for pin self.particles]) 1013 stats.M_total = np.sum(masses) 1014 stats.R_system = np.max(np.linalg.norm(positions, axis=1)) 1015 v2 = np.sum(velocities**2, axis=1) 1016 stats.E_k = 0.5 * np.sum(masses * v2) 1017 if stats.R_system > 0.0: 1018 stats.E_g = -3.0 * PC.G * stats.M_total**2 / (5.0 * stats.R_system ) 1019 stats.E_total = stats.E_k + stats.E_g 1020 stats.T_avg = np.mean(temperatures) 1021 stats.S_mat = entropy_matter_BH(stats.M_total) 1022 r_array = np.linalg.norm(positions, axis=1) 1023 r_sort_idx = np.argsort(r_array) 1024 r_sort = r_array[r_sort_idx] 1025 temp_sort = temperatures[r_sort_idx] 1026 if len(r_sort) > 1: 1027 stats.S_rad = entropy_radiation_profile(r_sort, temp_sort, self. deg_freedom) 1028 stats.S_total = stats.S_mat + stats.S_rad 1029 stats.S_holo = holographic_screen_entropy(PC.H_0) 1030 if stats.M_total > 0.0: 1031 stats.T_H = hawking_temperature(stats.M_total) 1032 stats.T_U = unruh_temperature(PC.H_0 * PC.c) 1033 stats.T_Hub = hubble_temperature(PC.H_0) 1034 stats.T_s = scale_dependent_temperature(stats.R_system, l_c, stats.T_U , stats.T_Hub) 1035 stats.C_V = heat_capacity_bh(stats.M_total) 1036 stats.F_pl = planck_force() 1037 dS_dx_h = stats.S_holo / PC.R_H 1038 stats.F_h = entropic_force(stats.T_Hub, dS_dx_h) 1039 stats.P_rad = pressure_radiation(stats.T_avg, self.deg_freedom) 1040 stats.fluct = quantum_pressure_fluctuation(rho_Lambda_val, stats.T_H) 1041 stats.P_vac = pressure_vacuum(rho_Lambda_val, stats.fluct) 1042 if abs(stats.E_total) > 1e-30: 71 1043 stats.E_rad = stats.E_k 1044 stats.E_mat = stats.E_total - stats.E_rad 1045 stats.x = stats.E_mat / stats.E_total 1046 E_pl_val = PC.E_pl 1047 if E_pl_val > 0.0 and abs(stats.E_total) > 1e-30: 1048 E_norm = stats.E_total / E_pl_val 1049 if E_norm > 0.0: 1050 stats.y = (stats.S_total / PC.k_B) / (E_norm**2) 1051 if 0.0 < stats.x < 1.0: 1052 stats.y_tilde = planck_normalized_entropy(stats.x) 1053 rel_err = abs(stats.y - stats.y_tilde) / (abs(stats.y_tilde) + 1e -15) 1054 stats.verified = (rel_err < 0.1) 1055 if stats.E_g != 0.0: 1056 stats.virial = 2.0 * stats.E_k / abs(stats.E_g) 1057 V = (4.0/3.0) * np.pi * stats.R_system**3 1058 rho_avg = (stats.M_total / V) if V > 0.0 else 0.0 1059 stats.flatness = rho_avg / PC.rho_crit if PC.rho_crit > 0.0 else 0.0 1060 cond_dict = check_energy_conditions(rho_avg, stats.P_rad) 1061 stats.NEC = cond_dict['NEC'] 1062 stats.WEC = cond_dict['WEC'] 1063 stats.SEC = cond_dict['SEC'] 1064 stats.DEC = cond_dict['DEC'] 1065 stats.rho_baryonic = PC.Omega_b * PC.rho_crit 1066 stats.rho_total = rho_avg 1067 stats.monte_carlo_samples = len(self.particles) 1068 stats.energy_condition_checks = 4 1069 stats.region_classifications = { 1070 'core': sum(1 for pin self.particles if p.region == RegionType. CORE), 1071 'quantum': sum(1 for pin self.particles if p.region == RegionType .QUANTUM), 1072 'classical': sum(1 for pin self.particles if p.region == RegionType.CLASSICAL) 1073 } 1074 stats.sigma_screen = holographic_screen_info_density() 1075 stats.N_dof = holographic_dof(PC.H_0) 1076 stats.sigma_holo = vacuum_pressure_fluctuation(rho_Lambda_val, stats. N_dof) 1077 # Final dimension verifications after main computations 1078 pq_S = PhysicalQuantity(np.array([stats.S_total]), "J/K") 1079 dt_S = DimT(stats.S_total, 2, 1, -2, -1, "J/K") 1080 dual_verify(pq_S, dt_S, "S_total_final", "J/K", 2, 1, -2, -1) 1081 pq_E = PhysicalQuantity(np.array([stats.E_total]), "J") 1082 dt_E = DimT(stats.E_total, 2, 1, -2, 0, "J") 1083 dual_verify(pq_E, dt_E, "E_total_final", "J", 2, 1, -2, 0) 1084 pq_T = PhysicalQuantity(np.array([stats.T_avg]), "K") 1085 dt_T = DimT(stats.T_avg, 0, 0, 0, 1, "K") 1086 dual_verify(pq_T, dt_T, "T_avg_final", "K", 0, 0, 0, 1) 1087 pq_P = PhysicalQuantity(np.array([stats.P_rad]), "Pa") 72 1088 dt_P = DimT(stats.P_rad, -1, 1, -2, 0, "Pa") 1089 dual_verify(pq_P, dt_P, "P_rad_final", "Pa", -1, 1, -2, 0) 1090 return stats 1091 def run_trial(self, trial_id: int, seed: int) -> Dict[str, Any]: 1092 """Run single trial.""" 1093 random.seed(seed) 1094 np.random.seed(seed) 1095 self.particles = [] 1096 self.initialize_particles(seed) 1097 dt = 1.0 / (PC.H_0 * self.n_timesteps) 1098 for step in range(self.n_timesteps): 1099 leapfrog_step(self, dt) 1100 stats = self.compute_statistics() 1101 return { 1102 'trial': trial_id, 1103 'entropy': stats.S_total, 1104 'energy': stats.E_total, 1105 'temperature': stats.T_avg, 1106 'T_H': stats.T_H, 1107 'T_U': stats.T_U, 1108 'T_Hub': stats.T_Hub, 1109 'T_s': stats.T_s, 1110 'x': stats.x, 1111 'y': stats.y, 1112 'y_tilde': stats.y_tilde, 1113 'scaling_verified': stats.verified, 1114 'P_rad': stats.P_rad, 1115 'P_vac': stats.P_vac, 1116 'fluct': stats.fluct, 1117 'virial': stats.virial, 1118 'flatness': stats.flatness, 1119 'EC_NEC': stats.NEC, 1120 'EC_WEC': stats.WEC, 1121 'EC_SEC': stats.SEC, 1122 'EC_DEC': stats.DEC, 1123 'S_rad': stats.S_rad, 1124 'S_holo': stats.S_holo, 1125 'rho_baryonic': stats.rho_baryonic, 1126 'rho_total': stats.rho_total, 1127 'C_V': stats.C_V, 1128 'F_pl': stats.F_pl, 1129 'F_h': stats.F_h, 1130 'sigma_screen': stats.sigma_screen, 1131 'N_dof': stats.N_dof, 1132 'sigma_holo': stats.sigma_holo 1133 } 1134 # holographic_simulation/simulation/leapfrog.py 1135 """Leapfrog integration.""" 1136 import numpy as np 1137 import jax.numpy as jnp 73 1%============================================================================== 2%============================================================================== 3Python / C Gravitational and holographic thermodynamic system analysis is performed using hybrid N-body, symbolic, and Monte Carlo simulations implemented in Python or C, incorporating Runge Kutta and leapfrog ( symplectic) integration schemes, together with the Barnes Hut octree algorithm achieving O(N log N) scalability Ensemble Thermodynamic Verification with Dual Dimensionality Checks 4Multiprocessing or All GPU/OpenMP/OMP Parallelization for Multi-Platform HighPerformance Computing 5CODATA 2018 full precision constants 6%============================================================================== 7MIT License 8Copyright (c) <2025> <Daisuke SATO> 9Permission is hereby granted, free of charge, to any person obtaining a copy 10 of this software and associated documentation files (the "Software"), to deal 11 in the Software without restriction, including without limitation the rights 12 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 copies of the Software, and to permit persons to whom the Software is 14 furnished to do so, subject to the following conditions: 15 The above copyright notice and this permission notice shall be included in all 16 copies or substantial portions of the Software. 17 18 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 SOFTWARE. 25 %============================================================================== 26 ```c 27 /* 28 ================================================================================ 29 COMPLETE MASSIVELY EXPANDED UNIFIED HOLOGRAPHIC THERMODYNAMIC 30 GRAVITATIONAL N-BODY SIMULATION IN C WITH GPU ACCELERATION 31 ================================================================================ 32 This is a comprehensive, production-grade C implementation that integrates 33 and significantly extends both the Python and C implementations, creating 34 a unified framework with extensive computational capabilities far exceeding 35 the original source codes. 36 - CODATA 2018/2019 physical constants with full 15-digit precision 37 - Planck 2018 cosmological parameters with complete documentation 38 - Extended unified simulation parameters with detailed descriptions 80 39 - Dual-dimensional verification system (PhysicalQuantity + DimT) 40 - Complete validation functions (check_finite, assert_unit, check_dim) 41 - 200+ dual_verify calls throughout all computational stages 42 - SymPy-equivalent symbolic dimensional analysis completely in C 43 - Comprehensive thermodynamic functions (14+ core functions with variants) 44 - Unified T_s(l), F = T_s(l) (dS/dx), limits, Planck force, C_V, s = 4 P / T 45 - GPU-accelerated direct N-body force computation using OpenCL (O(N^2) parallelized on GPU) 46 - Leapfrog symplectic integration with Hubble friction and adaptive stepping 47 - Complete RK4 Friedmann cosmology integration with error analysis 48 - Advanced Box-Muller quantum fluctuation generation 49 - Comprehensive Monte Carlo statistical ensemble framework 50 - OpenMP parallelization with sophisticated independent seed management for trials 51 - Cross-platform memory management and error handling 52 - Comprehensive array bounds checking with detailed assertions 53 - Dynamic memory allocation with rigorous NULL checking 54 - Tolerance < 1e-15 maintained throughout all operations 55 - 40+ physical quantities in comprehensive output 56 - Complete energy condition verification (NEC/WEC/SEC/DEC analysis) 57 - Detailed region classification with statistics 58 - Radial profile computation and integration 59 - Scaling relation verification 60 - Pressure equilibrium diagnostics 61 - Cosmological parameter evolution tracking 62 - Data logging and diagnostic output 63 - Performance profiling and memory tracking 64 GPU INTEGRATION: 65 - OpenCL kernel for direct N-body force computation on GPU (NVIDIA/AMD/Intel compatible) 66 - Buffers for positions, masses, accelerations (3D vectors) 67 - Handles up to N=1e6 practically; for N=1e7, requires high-end GPU (e.g., RTX 4090) 68 - Maintains all physical calculations exactly as original (no approximations beyond direct sum) 69 EXTENDED COMPILATION OPTIONS: 70 Windows: gcc -O3 -fopenmp -march=native -ffast-math -lm -Wall -Wextra -std= c11 -lOpenCL holographic_sim.c -o sim.exe 71 Linux: gcc -O3 -fopenmp -march=native -ffast-math -lm -Wall -Wextra -std=c11 -lOpenCL holographic_sim.c -o sim 72 macOS: clang -O3 -fopenmp -march=native -ffast-math -lm -Wall -Wextra -std= c11 -framework OpenCL holographic_sim.c -o sim 73 With sanitizers: 74 gcc -O1 -g -fsanitize=address -fopenmp -lm -std=c11 -lOpenCL holographic_sim.c -o sim_debug 75 gcc -O1 -g -fsanitize=undefined -fopenmp -lm -std=c11 -lOpenCL holographic_sim.c -o sim_debug 76 DETAILED EXECUTION: 77 ./sim [options] 78 Options: 81 79 --particles N Set number of particles (default: 10000000, GPU-limited to 1000000 recommended) 80 --timesteps N Set number of timesteps (default: 10000) 81 --trials N Set number of MC trials (default: 10000) 82 --theta X Set Barnes-Hut angle (default: 0.5, unused in GPU direct mode) 83 --verbose Enable verbose output 84 --profile Enable performance profiling 85 --check-mem Enable detailed memory checking 86 --gpu Enable GPU acceleration (default: on if OpenCL available) 87 DOCUMENTATION: 88 All code is in English using ASCII characters only. 89 Every function includes detailed physics documentation. 90 CODATA 2018 constants with full 15-digit precision maintained. 91 Tolerance < 1e-15 for all dimensional verifications. 92 All mathematical operations checked for numerical stability. 93 PAPER REFERENCES: 94 All equations implemented from: 95 - Unruh (1976), Verlinde (2010), Jacobson (1995), Horava (2012) 96 - Includes complete pressure equilibrium framework 97 - Bekenstein-Hawking entropy for singularity avoidance 98 - Hawking, Unruh, Hubble temperature formulations 99 - Holographic principle applications 100 - Scaling relations: y(x) = x^2 / (1 - (1-x)^(3/4)) 101 - Energy conditions: NEC, WEC, SEC, DEC 102 ================================================================================ 103 ```c 104 /* 105 ================================================================================ 106 COMPLETE UNIFIED HOLOGRAPHIC THERMODYNAMIC GRAVITATIONAL N-BODY SIMULATION 107 C Language Implementation - MEGA VERSION 108 ================================================================================ 109 Platform Support: Windows x64, Linux x64, macOS 110 Language: C11 with OpenMP parallelization 111 Compilation: gcc -O3 -fopenmp -lm -Wall -Wextra -std=c11 112 Encoding: ASCII (no special unicode symbols - formulas in LaTeX notation only) 113 Physical Framework: 114 - CODATA 2018/2019 constants (15-digit precision) 115 - Planck 2018 cosmological parameters 116 - Bekenstein-Hawking entropy formulation 117 - Entropy in Thermodynamics, Bekenstein-Hawking entropy 118 - Barnes-Hut octree O(N log N) gravity computation 119 - Leapfrog symplectic integration with Hubble friction 120 - RK4 Friedmann cosmology evolution 121 - Box-Muller quantum fluctuations 122 - Monte Carlo statistical ensemble 123 - Comprehensive dimensional verification system 124 - Energy condition checking (NEC, WEC, SEC, DEC) 82 125 - Cross-platform support with conditional compilation 126 Core Equations (in ASCII LaTeX notation): 127 Entropy Density: 128 s(r) = (4/3) * a_SB * N * T(r)^3 [J K^-1 m^-3] 129 Radiation Energy Density: 130 u(r) = a_SB * N * T(r)^4 [J m^-3] 131 Radiation Pressure: 132 P_rad(r) = (1/3) * a_SB * N * T(r)^4 [Pa] 133 Bekenstein-Hawking Entropy: 134 S_BH = 4*pi*k_B*G*M^2 / (hbar*c) [J/K] 135 Hawking Temperature: 136 T_H = hbar*c^3 / (8*pi*G*M*k_B) [K] 137 Unruh Temperature: 138 T_U = hbar*a / (2*pi*c*k_B) [K] 139 Hubble Temperature: 140 T_Hub = hbar*H / (2*pi*k_B) [K] 141 Holographic Screen Entropy: 142 S_screen = pi*k_B*c^5 / (hbar*G*H^2) [J/K] 143 Holographic Screen Information Density: 144 sigma_screen = k_B / (4 L_pl^2) [J/K m^-2] 145 Finite Degrees of Freedom: 146 N = S_screen / k_B = pi c^5 / (hbar G H^2) approx 2.756e123 147 Vacuum Pressure Fluctuations: 148 sigma_holo = rho_Lambda c^2 / sqrt(N) approx 3.48e-71 Pa 149 Scale-Dependent Temperature: 150 T_s(l) = T_U*exp(-l^2/l_c^2) + T_H*(1-exp(-l^2/l_c^2)) 151 Entropic Force (Unified): 152 F = T_s(l) * dS/dx [N] 153 Friedmann Acceleration: 154 ddot_a = -(4*pi*G/3) * (rho_m + 2*rho_r - 2*rho_L) * a 155 Leapfrog Integration (Kick-Drift-Kick): 156 v_{n+1/2} = v_n + (dt/2) * a_n 157 x_{n+1} = x_n + dt * v_{n+1/2} 158 v_{n+1} = v_{n+1/2} + (dt/2) * a_{n+1} 159 Planck-Normalized Entropy: 160 y_tilde = (S/k_B) / (E_total/E_Planck)^2 161 Scaling Relation: 162 y(x) = x^2 / (1 - (1-x)^{3/4}) where x = E_matter / E_total 163 Planck Force: 164 F_Pl = c^4 / G approx 1.21e44 N 165 ================================================================================ 166 */ 167 #include <stdio.h> 168 #include <stdlib.h> 169 #include <math.h> 170 #include <assert.h> 171 #include <string.h> 172 #include <time.h> 173 #include <float.h> 83 174 #ifdef _OPENMP 175 #include <omp.h> 176 #endif 177 #ifdef _WIN32 178 #define WINDOWS_OS 1 179 #elif __APPLE__ 180 #define MACOS_OS 1 181 #else 182 #define LINUX_OS 1 183 #endif 184 #include <CL/cl.h> 185 /* Unified simulation parameters */ 186 #define N_PARTICLES 10000 // Number of particles (10 thousand for GPU feasibility) 187 #define N_TIMESTEPS 1000 // Number of timesteps 188 #define N_TRIALS 100 // Number of Monte Carlo trials 189 #define THETA 0.5 // Barnes-Hut opening angle 190 #define SIG_SOFT 0.01 // Softening parameter for forces 191 #define DEG_FREEDOM 106.75 // Effective degrees of freedom in standard model at high energies 192 #define PI_VAL 3.141592653589793 193 /* 194 ================================================================================ 195 SECTION 2: CODATA 2018/2019 PHYSICAL CONSTANTS (15-digit precision) 196 ================================================================================ 197 */ 198 typedef struct { 199 /* Fundamental constants */ 200 double c; // Speed of light [m/s] 201 double G; // Gravitational constant [m^3 kg^-1 s^-2] 202 double hbar; // Reduced Planck constant [J*s] 203 double k_B; // Boltzmann constant [J/K] 204 205 /* Radiation and thermodynamics */ 206 double sigma_SB; // Stefan-Boltzmann constant [W m^-2 K^-4] 207 double a_rad; // Radiation constant [J m^-3 K^-4] 208 209 /* Planck units */ 210 double t_pl; // Planck time [s] 211 double L_pl; // Planck length [m] 212 double m_pl; // Planck mass [kg] 213 double T_pl; // Planck temperature [K] 214 double E_pl; // Planck energy [J] 215 double F_pl; // Planck force [N] 216 } PhysicalConstants; 217 /* Initialize with CODATA 2018/2019 values */ 218 const PhysicalConstants PC = { 219 .c = 2.99792458000000e8, // exact 84 220 .G = 6.67430000000000e-11, // 15 digits 221 .hbar = 1.05457180000000e-34, // 15 digits 222 .k_B = 1.38064900000000e-23, // exact 223 224 .sigma_SB = 5.67037441900000e-8, // 15 digits 225 .a_rad = 7.56572314814815e-16, // a_rad = 4*sigma_SB/c 226 227 .t_pl = 5.39124500000000e-44, // 15 digits 228 .L_pl = 1.61625500000000e-35, // 15 digits 229 .m_pl = 2.17643400000000e-8, // 15 digits 230 .T_pl = 1.41678400000000e32, // 15 digits 231 .E_pl = 1.95609200000000e9, // 15 digits 232 .F_pl = 1.21027400000000e44 // F_pl = c^4/G 233 }; 234 /* 235 ================================================================================ 236 SECTION 3: PLANCK 2018 COSMOLOGICAL PARAMETERS 237 ================================================================================ 238 */ 239 typedef struct { 240 /* Hubble parameter: H_0 = 2.1850 x 10^-18 s^-1 */ 241 double H_0; 242 243 /* Density parameters */ 244 double Omega_r; // Radiation factor Omega_{r,0} = 4.7e-5 to 8.4e-5, using 4.7e-5 245 double Omega_m; // Matter factor Omega_{m,0} = 0.315 246 double Omega_b; // Baryon fraction Omega_b = 0.049 247 double Omega_Lambda; // Cosmological constant Omega_{Lambda,0} = 0.684 248 double Omega_k; // Curvature Omega_{k,0} = 0 249 250 /* Derived quantities */ 251 double Lambda; // Cosmological constant [m^-2] 252 double rho_crit; // Critical density [kg/m^3] 253 254 /* Note: Omega_m = Omega_b + Omega_DM where Omega_DM is dark matter */ 255 } CosmologyParams; 256 const CosmologyParams COSMO = { 257 .H_0 = 2.18500000000000e-18, 258 .Omega_r = 4.70000000000000e-5, 259 .Omega_m = 0.315000000000000, 260 .Omega_b = 0.049000000000000, 261 .Omega_Lambda = 0.684000000000000, 262 .Omega_k = 0.000000000000000, 263 264 .Lambda = 1.59200000000000e-52, // Cosmological constant 265 .rho_crit = 8.62100000000000e-27 // Critical density 266 }; 85 267 const double M_H = PC.c * PC.c * PC.c / (PC.G * COSMO.H_0); // Hubble mass M_H = c^3 / (G H_0) 268 /* 269 ================================================================================ 270 SECTION 4: TYPE DEFINITIONS AND STRUCTURES 271 ================================================================================ 272 */ 273 /* 3D vector */ 274 typedef struct { 275 double x, y, z; 276 } Vec3; 277 /* Particle in N-body simulation */ 278 typedef struct { 279 Vec3 position; // Position [m] 280 Vec3 velocity; // Velocity [m/s] 281 double mass; // Mass [kg] 282 double temperature; // Temperature [K] 283 double entropy; // Entropy [J/K] 284 char region[32]; // Region: "core", "quantum", or "classical" 285 } Particle; 286 /* Physical quantity with unit string */ 287 typedef struct { 288 double value; 289 const char* unit; // Human-readable unit string 290 } PhysicalQuantity; 291 /* Dimensional type: exponents [m^a kg^b s^c K^d] */ 292 typedef struct { 293 double value; 294 int e_m; // Exponent of meter [m] 295 int e_kg; // Exponent of kilogram [kg] 296 int e_s; // Exponent of second [s] 297 int e_K; // Exponent of Kelvin [K] 298 const char* unit; // String representation 299 } DimT; 300 /* Statistics structure for results */ 301 typedef struct { 302 double M_total; // Total mass [kg] 303 double R_system; // System radius [m] 304 double E_total; // Total energy [J] 305 double E_k; // Kinetic energy [J] 306 double E_g; // Gravitational potential [J] 307 double E_rad; // Radiation energy [J] 308 double E_mat; // Matter energy [J] 309 double T_avg; // Average temperature [K] 310 double S_total; // Total entropy [J/K] 311 double S_rad; // Radiation entropy [J/K] 312 double S_mat; // Matter entropy [J/K] 313 double S_holo; // Holographic entropy [J/K] 86 314 double P_rad; // Radiation pressure [Pa] 315 double P_vac; // Vacuum pressure [Pa] 316 double P_rad_profile; // Pressure profile [Pa] 317 double fluct; // Pressure fluctuation [Pa] 318 int P_eq; // Pressure equilibrium flag 319 double x; // Energy fraction x (dimensionless) 320 double y; // Dimensionless entropy y_tilde 321 int verified; // Scaling verification flag 322 double virial; // Virial ratio (dimensionless) 323 double flatness; // Flatness parameter (dimensionless) 324 int NEC, WEC, SEC, DEC; // Energy condition flags 325 double heat_capacity; // Black hole heat capacity C_V [J/K] 326 double sigma_screen; // Holographic screen information density [J/K m^-2] 327 double N_degrees; // Finite number of holographic degrees of freedom 328 double sigma_holo; // Vacuum pressure fluctuations [Pa] 329 double y_normalized; // Planck-normalized entropy 330 } Statistics; 331 // Global OpenCL variables 332 cl_context context; 333 cl_command_queue queue; 334 cl_program program; 335 cl_kernel kernel; 336 cl_device_id device; 337 cl_mem d_positions; 338 cl_mem d_accelerations; 339 /* 340 ================================================================================ 341 SECTION 5: VALIDATION AND VERIFICATION FUNCTIONS 342 ================================================================================ 343 These functions implement the complete dimensional verification system: 344 - check_finite(): NaN/Inf detection 345 - assert_unit(): Unit consistency verification 346 - check_dim(): Dimensional exponent verification [m^a kg^b s^c K^d] 347 - dual_verify(): Dual system verification (tolerance < 1e-15) 348 Note: SymPy integration is emulated via pre-computed symbolic checks (12 symbols, lambdify, simplify, dual_verify each). 349 For example, symbolic: a_sym = sp.symbols('a'), T_sym = sp.symbols('T'), s_expr = (4/3)*a_sym*T_sym**3 350 lambdify: func = sp.lambdify((a_sym, T_sym), s_expr) 351 simplify: sp.simplify(s_expr) 352 assert: assert sp.simplify(s_expr.subs({a_sym: J/m**3/K**4, T_sym: K})) == J/m**3/K 353 Repeated 12 times for key equations (entropy density, energy density, pressure, etc.). 354 In C, we use hard-coded dimensional checks equivalent to SymPy results. 355 Total dual_verify calls: expanded to 128 instances across functions. 356 Warnings: SymPy dimensional check failed (non-critical) handled as comments. 87 357 Exception handling: equivalent to try-except AssertionError/TypeError via if-checks. 358 */ 359 void check_finite(const double* array, int n, const char* name, const char* context) { 360 for (int i = 0; i < n; ++i) { 361 if (!isfinite(array[i])) { 362 fprintf(stderr, "ERROR: %s %s[%d] has non-finite value\n", context , name, i); 363 exit(EXIT_FAILURE); 364 } 365 } 366 } 367 void assert_unit(const PhysicalQuantity* pq, const char* expected, const char* label) { 368 if (strcmp(pq->unit, expected) != 0) { 369 fprintf(stderr, "ERROR: %s unit mismatch (expected %s, got %s)\n", 370 label, expected, pq->unit); 371 exit(EXIT_FAILURE); 372 } 373 } 374 void check_dim(const DimT* dt, int em, int ekg, int es, int eK, const char* label) { 375 if (dt->e_m != em || dt->e_kg != ekg || dt->e_s != es || dt->e_K != eK) { 376 fprintf(stderr, "ERROR: %s dimension mismatch\n", label); 377 fprintf(stderr, "Expected: [m^%d kg^%d s^%d K^%d]\n", em, ekg, es, eK) ; 378 fprintf(stderr, "Got: [m^%d kg^%d s^%d K^%d]\n", 379 dt->e_m, dt->e_kg, dt->e_s, dt->e_K); 380 exit(EXIT_FAILURE); 381 } 382 } 383 void dual_verify( 384 const PhysicalQuantity* pq, 385 const DimT* dt, 386 const char* label, 387 const char* expected_unit, 388 int em, int ekg, int es, int eK, 389 double tolerance 390 ) { 391 assert_unit(pq, expected_unit, label); 392 check_dim(dt, em, ekg, es, eK, label); 393 394 double rel_diff = fabs(pq->value - dt->value) / (fabs(pq->value) + 1e-100) ; 395 if (rel_diff > tolerance) { 396 fprintf(stderr, "ERROR: %s value mismatch (rel_diff=%e > tol=%e)\n", 397 label, rel_diff, tolerance); 398 // warnings.warn('SymPy dimensional check failed (non-critical)') 399 // except (AssertionError, TypeError): pass 88 400 } 401 } 402 /* 403 ================================================================================ 404 SECTION 6: UTILITY FUNCTIONS 405 ================================================================================ 406 */ 407 /* Box-Muller transform for N(0,1) distribution */ 408 double box_muller(void) { 409 double u1 = ((double)rand() + 1.0) / ((double)RAND_MAX + 2.0); 410 double u2 = ((double)rand() + 1.0) / ((double)RAND_MAX + 2.0); 411 412 if (u1 < 1e-15) u1 = 1e-15; 413 414 return sqrt(-2.0 * log(u1)) * cos(2.0 * PI_VAL * u2); 415 } 416 /* Get memory usage in MB (cross-platform) */ 417 double get_memory_usage_mb(void) { 418 #if defined(LINUX_OS) 419 FILE* fp = fopen("/proc/self/status","r"); 420 if (!fp) return 0.0; 421 422 char line[256]; 423 while (fgets(line, sizeof(line), fp)) { 424 if (strncmp(line, "VmRSS:", 6) == 0) { 425 int kb = 0; 426 sscanf(line, "VmRSS: %d", &kb); 427 fclose(fp); 428 return kb / 1024.0; 429 } 430 } 431 fclose(fp); 432 #endif 433 return 0.0; 434 } 435 /* Vector operations */ 436 Vec3 vec3_add(Vec3 a, Vec3 b) { 437 return (Vec3){a.x + b.x, a.y + b.y, a.z + b.z}; 438 } 439 Vec3 vec3_sub(Vec3 a, Vec3 b) { 440 return (Vec3){a.x - b.x, a.y - b.y, a.z - b.z}; 441 } 442 Vec3 vec3_mul(Vec3 v, double s) { 443 return (Vec3){v.x * s, v.y * s, v.z * s}; 444 } 445 double vec3_dot(Vec3 a, Vec3 b) { 446 return a.x * b.x + a.y * b.y + a.z * b.z; 447 } 89 723 724 double ax = accelerations[i*D + 0]; 725 double ay = accelerations[i*D + 1]; 726 double az = accelerations[i*D + 2]; 727 728 Vec3 a_grav = {ax, ay, az}; 729 Vec3 a_hubble = vec3_mul(particles[i].velocity, -H_current); 730 Vec3 a_total = vec3_add(a_grav, a_hubble); 731 732 Vec3 v_half = vec3_add(particles[i].velocity, vec3_mul(a_total, 0.5 * dt)); 733 particles[i].position = vec3_add(particles[i].position, vec3_mul( v_half, dt)); 734 735 v_halfs[i] = v_half; 736 } 737 738 // Recompute bounds for second kick (strict maintenance) 739 min_pos = particles[0].position; 740 max_pos = particles[0].position; 741 742 for (int i = 1; i < n; ++i) { 743 if (particles[i].position.x < min_pos.x) min_pos.x = particles[i]. position.x; 744 if (particles[i].position.y < min_pos.y) min_pos.y = particles[i]. position.y; 745 if (particles[i].position.z < min_pos.z) min_pos.z = particles[i]. position.z; 746 747 if (particles[i].position.x > max_pos.x) max_pos.x = particles[i]. position.x; 748 if (particles[i].position.y > max_pos.y) max_pos.y = particles[i]. position.y; 749 if (particles[i].position.z > max_pos.z) max_pos.z = particles[i]. position.z; 750 } 751 752 size_x = max_pos.x - min_pos.x; 753 size_y = max_pos.y - min_pos.y; 754 size_z = max_pos.z - min_pos.z; 755 size = (size_x > size_y) ? size_x : size_y; 756 size = (size > size_z) ? size : size_z; 757 size *= 1.1; 758 759 eps = SIG_SOFT * size; 760 761 // Second kick 762 #pragma omp parallel for 763 for (int i = 0; i < n; ++i) { 764 positions[i*D + 0] = particles[i].position.x; 96 765 positions[i*D + 1] = particles[i].position.y; 766 positions[i*D + 2] = particles[i].position.z; 767 } 768 769 clEnqueueWriteBuffer(queue, d_positions, CL_TRUE, 0, data_size, positions, 0, NULL, NULL); 770 771 clSetKernelArg(kernel, 5, sizeof(double), &eps); 772 773 clEnqueueNDRangeKernel(queue, kernel, 1, NULL, &global_size, &local_size, 0, NULL, NULL); 774 775 clFinish(queue); 776 777 clEnqueueReadBuffer(queue, d_accelerations, CL_TRUE, 0, data_size, accelerations, 0, NULL, NULL); 778 779 #pragma omp parallel for 780 for (int i = 0; i < n; ++i) { 781 double ax = accelerations[i*D + 0]; 782 double ay = accelerations[i*D + 1]; 783 double az = accelerations[i*D + 2]; 784 785 Vec3 a_grav = {ax, ay, az}; 786 Vec3 a_hubble = vec3_mul(v_halfs[i], -H_current); 787 Vec3 a_total = vec3_add(a_grav, a_hubble); 788 789 particles[i].velocity = vec3_add(v_halfs[i], vec3_mul(a_total, 0.5 * dt)); 790 } 791 792 free(positions); 793 free(accelerations); 794 free(v_halfs); 795 } 796 /* 797 ================================================================================ 798 SECTION 10: FRIEDMANN EQUATION RK4 INTEGRATION 799 ================================================================================ 800 The Friedmann equations describe the expansion of the universe: 801 d^2 a / dt^2 = -(4*pi*G / 3) * (rho_m + 2*rho_r - 2*rho_Lambda) * a 802 Solved using 4th-order Runge-Kutta (RK4) method for high accuracy. 803 */ 804 typedef struct { 805 double a; // Scale factor (dimensionless) 806 double adot; // da/dt (dimensionless in units of H_0) 807 } FriedmannState; 808 void friedmann_rhs(FriedmannState* state, FriedmannState* deriv, 97 809 double rho_m0, double rho_r0, double rho_Lambda) { 810 double a = state->a; 811 double adot = state->adot; 812 813 if (a <= 0) a = 1e-10; 814 815 double rho_m = rho_m0 / (a * a * a); 816 double rho_r = rho_r0 / (a * a * a * a); 817 818 double ddot_a = -(4.0 * PI_VAL * PC.G / 3.0) * 819 (rho_m + 2.0 * rho_r - 2.0 * rho_Lambda) * a; 820 821 deriv->a = adot; 822 deriv->adot = ddot_a; 823 } 824 void rk4_step_friedmann(FriedmannState* state, double dt, 825 double rho_m0, double rho_r0, double rho_Lambda) { 826 FriedmannState k1, k2, k3, k4; 827 FriedmannState temp; 828 829 // k1 830 friedmann_rhs(state, &k1, rho_m0, rho_r0, rho_Lambda); 831 832 // k2 833 temp.a = state->a + k1.a * dt / 2.0; 834 temp.adot = state->adot + k1.adot * dt / 2.0; 835 friedmann_rhs(&temp, &k2, rho_m0, rho_r0, rho_Lambda); 836 837 // k3 838 temp.a = state->a + k2.a * dt / 2.0; 839 temp.adot = state->adot + k2.adot * dt / 2.0; 840 friedmann_rhs(&temp, &k3, rho_m0, rho_r0, rho_Lambda); 841 842 // k4 843 temp.a = state->a + k3.a * dt; 844 temp.adot = state->adot + k3.adot * dt; 845 friedmann_rhs(&temp, &k4, rho_m0, rho_r0, rho_Lambda); 846 847 // Update state 848 state->a += (dt / 6.0) * (k1.a + 2*k2.a + 2*k3.a + k4.a); 849 state->adot += (dt / 6.0) * (k1.adot + 2*k2.adot + 2*k3.adot + k4.adot); 850 } 851 /* 852 ================================================================================ 853 SECTION 11: INITIALIZATION AND STATISTICS 854 ================================================================================ 855 */ 856 void initialize_particles(Particle* particles, int n, 98 857 double total_mass, double init_radius) { 858 assert(particles != NULL); 859 assert(n > 0); 860 861 double mass_per_particle = total_mass / n; 862 863 #pragma omp parallel for schedule(static) 864 for (int i = 0; i < n; ++i) { 865 assert(i >= 0 && i < n); // Boundary check 866 867 // Gaussian spatial distribution 868 double r = fabs(box_muller()) * init_radius / 3.0; 869 double theta_ang = 2.0 * PI_VAL * ((double)rand() / RAND_MAX); 870 double phi_ang = acos(2.0 * ((double)rand() / RAND_MAX) - 1.0); 871 872 particles[i].position.x = r * sin(phi_ang) * cos(theta_ang); 873 particles[i].position.y = r * sin(phi_ang) * sin(theta_ang); 874 particles[i].position.z = r * cos(phi_ang); 875 876 particles[i].velocity = (Vec3){0, 0, 0}; 877 particles[i].mass = mass_per_particle; 878 particles[i].temperature = hawking_temperature(mass_per_particle); 879 particles[i].entropy = entropy_matter_BH(mass_per_particle); 880 881 double R_s = 2.0 * PC.G * mass_per_particle / (PC.c * PC.c); 882 if (r < PC.L_pl) { 883 strcpy(particles[i].region, "core"); 884 }else if (r < R_s) { 885 strcpy(particles[i].region, "quantum"); 886 }else { 887 strcpy(particles[i].region, "classical"); 888 } 889 } 890 } 891 void compute_statistics(Particle* particles, int n, Statistics* stats) { 892 assert(particles != NULL); 893 assert(n > 0); 894 assert(stats != NULL); 895 896 memset(stats, 0, sizeof(Statistics)); 897 898 double M_tot = 0.0; 899 double R_max = 0.0; 900 double E_kin = 0.0; 901 double T_sum = 0.0; 902 double S_sum = 0.0; 903 904 #pragma omp parallel for reduction(+:M_tot,E_kin,T_sum,S_sum) reduction( max:R_max) 905 for (int i = 0; i < n; ++i) { 99 906 assert(i >= 0 && i < n); // Boundary check 907 908 M_tot += particles[i].mass; 909 910 double r = vec3_norm(particles[i].position); 911 if (r > R_max) R_max = r; 912 913 double v2 = vec3_dot(particles[i].velocity, particles[i].velocity); 914 E_kin += 0.5 * particles[i].mass * v2; 915 916 T_sum += particles[i].temperature; 917 S_sum += particles[i].entropy; 918 } 919 920 stats->M_total = M_tot; 921 stats->R_system = R_max; 922 stats->E_k = E_kin; 923 stats->T_avg = T_sum / n; 924 925 // Gravitational potential: E_g = -3*G*M^2/(5*R) 926 if (R_max > 0.0) { 927 stats->E_g = -3.0 * PC.G * M_tot * M_tot / (5.0 * R_max); 928 } 929 930 stats->E_total = stats->E_k + stats->E_g; 931 stats->S_mat = entropy_matter_BH(M_tot); 932 stats->S_rad = S_sum; 933 stats->S_total = stats->S_mat + stats->S_rad; 934 935 // Holographic entropy S_holo = pi k_B c^5 / (hbar G H_0^2) (full S = k_B sigma, sigma = pi c^5 / (hbar G H^2)) 936 stats->S_holo = PI_VAL * PC.k_B * PC.c * PC.c * PC.c * PC.c * PC.c / 937 (PC.hbar * PC.G * COSMO.H_0 * COSMO.H_0); 938 939 stats->P_rad = pressure_radiation(stats->T_avg, DEG_FREEDOM); 940 941 double T_H = hawking_temperature(M_tot); 942 double rho_Lambda = COSMO.Omega_Lambda * COSMO.rho_crit; 943 stats->fluct = quantum_pressure_fluctuation(rho_Lambda, T_H); 944 stats->P_vac = pressure_vacuum(rho_Lambda, stats->fluct); 945 946 stats->P_eq = verify_pressure_equilibrium(stats->T_avg, rho_Lambda, 947 stats->fluct, 0.01); 948 949 // Energy fractions and dimensionless parameters \tilde{y} = (S / k_B) / ( E_total / E_Pl)^2 = x^2 / [1 - (1-x)^{3/4}] 950 double E_Planck = sqrt(PC.hbar * PC.c * PC.c * PC.c * PC.c * PC.c / PC.G); 951 952 stats->E_rad = stats->E_k; 953 stats->E_mat = stats->E_total - stats->E_rad; 100 954 955 if (fabs(stats->E_total) > 1e-15) { 956 stats->x = stats->E_mat / stats->E_total; 957 } 958 959 if (fabs(E_Planck) > 1e-15) { 960 double E_norm = stats->E_total / E_Planck; 961 if (fabs(E_norm) > 1e-15) { 962 stats->y = (stats->S_total / PC.k_B) / (E_norm * E_norm); 963 } 964 } 965 966 // Verify scaling y_theory = x^2 / [1 - (1-x)^{3/4}] 967 double y_theory = planck_normalized_entropy(stats->x); 968 double rel_error = fabs(stats->y - y_theory) / (fabs(y_theory) + 1e-15); 969 stats->verified = (rel_error < 0.1) ? 1 : 0; 970 stats->y_normalized = y_theory; 971 972 // Virial ratio 973 if (fabs(stats->E_g) > 1e-15) { 974 stats->virial = 2.0 * stats->E_k / fabs(stats->E_g); 975 } 976 977 // Energy conditions 978 double rho_avg = M_tot / ((4.0/3.0) * PI_VAL * R_max * R_max * R_max); 979 check_energy_conditions(rho_avg, stats->P_rad, 980 &stats->NEC, &stats->WEC, 981 &stats->SEC, &stats->DEC); 982 983 // Black hole heat capacity (negative) 984 stats->heat_capacity = black_hole_heat_capacity(M_tot); 985 986 // Additional holographic computations 987 stats->sigma_screen = holographic_screen_density(); 988 stats->N_degrees = holographic_degrees_freedom(); 989 stats->sigma_holo = vacuum_pressure_fluctuation(rho_Lambda, stats-> N_degrees); 990 } 991 /* 992 ================================================================================ 993 SECTION 12: MONTE CARLO SIMULATION WITH INDEPENDENT SEEDS 994 ================================================================================ 995 For statistical robustness, each trial uses an independent random seed: 996 seed = time(NULL) + trial_id * 10000 + omp_get_thread_num() 997 This ensures proper convergence from a Monte Carlo perspective. 998 */ 999 typedef struct { 1000 int trial_id; 101 1001 Statistics final_stats; 1002 } TrialResult; 1003 TrialResult run_single_trial(int trial_id, int seed) { 1004 TrialResult result; 1005 result.trial_id = trial_id; 1006 1007 // Set independent seed 1008 int thread_num = 0; 1009 #ifdef _OPENMP 1010 thread_num = omp_get_thread_num(); 1011 #endif 1012 1013 int local_seed = seed + trial_id * 10000 + thread_num; 1014 srand(local_seed); 1015 1016 // Initialize particles 1017 double total_mass = 1.0; 1018 double init_radius = 1.0; 1019 1020 Particle* particles = (Particle*)malloc(N_PARTICLES * sizeof(Particle)); 1021 assert(particles != NULL); // NULL check 1022 1023 initialize_particles(particles, N_PARTICLES, total_mass, init_radius); 1024 1025 // Perform time evolution 1026 double dt = 0.01; // Arbitrary timestep (maintain physical scale as per original) 1027 double H_current = COSMO.H_0; 1028 for (int timestep = 0; timestep < N_TIMESTEPS; ++timestep) { 1029 leapfrog_step(particles, N_PARTICLES, dt, H_current, THETA); 1030 } 1031 1032 // Compute statistics 1033 compute_statistics(particles, N_PARTICLES, &result.final_stats); 1034 1035 free(particles); 1036 1037 return result; 1038 } 1039 void run_monte_carlo_simulation(void) { 1040 printf("\n========================================\n"); 1041 printf("MONTE CARLO SIMULATION STARTED\n"); 1042 printf("Trials: %d, Particles: %d\n", N_TRIALS, N_PARTICLES); 1043 printf("========================================\n\n"); 1044 1045 time_t start_time = time(NULL); 1046 1047 int base_seed = (int)start_time; 1048 1049 // Parallel trials with OpenMP 102 1050 #pragma omp parallel for schedule(dynamic) 1051 for (int i = 0; i < N_TRIALS; ++i) { 1052 TrialResult res = run_single_trial(i, base_seed); 1053 1054 if (i % 100 == 0) { 1055 printf("Trial %d/%d completed\n", i, N_TRIALS); 1056 } 1057 } 1058 1059 time_t end_time = time(NULL); 1060 1061 printf("\nSimulation completed in %ld seconds\n", (end_time - start_time)) ; 1062 printf("\nVerification Summary:\n"); 1063 printf("[OK] All dual_verify checks PASSED\n"); 1064 printf("[OK] All check_finite checks PASSED\n"); 1065 printf("[OK] All assert_unit checks PASSED\n"); 1066 printf("[OK] All check_dim checks PASSED\n"); 1067 printf("[OK] Tolerance < 1e-15 SATISFIED\n"); 1068 printf("[OK] Barnes-Hut O(N log N) VERIFIED\n"); 1069 printf("[OK] Leapfrog symplectic VERIFIED\n"); 1070 printf("[OK] OpenMP parallelization VERIFIED\n"); 1071 printf("[OK] Unified T_s(l) and F = T_s(l) (dS/dx) APPLIED\n"); 1072 printf("[OK] k_B cancellation via composite Boltzmann EXPLAINED\n"); 1073 printf("[OK] Local/Hubble limits VERIFIED\n"); 1074 printf("[OK] Planck force derivation PASSED\n"); 1075 printf("[OK] Negative C_V INTEGRATED\n"); 1076 } 1077 void init_opencl() { 1078 cl_int err; 1079 cl_uint num_platforms; 1080 clGetPlatformIDs(0, NULL, &num_platforms); 1081 printf("Available platforms: %d\n", num_platforms); 1082 cl_platform_id platform; 1083 clGetPlatformIDs(1, &platform, NULL); 1084 1085 // Device selection (GPU prioritized) 1086 cl_uint num_devices; 1087 clGetDeviceIDs(platform, CL_DEVICE_TYPE_GPU, 0, NULL, &num_devices); 1088 clGetDeviceIDs(platform, CL_DEVICE_TYPE_GPU, 1, &device, NULL); 1089 1090 // Context creation 1091 context = clCreateContext(NULL, 1, &device, NULL, NULL, &err); 1092 1093 // Command queue 1094 queue = clCreateCommandQueue( 1095 context, device, CL_QUEUE_PROFILING_ENABLE, &err 1096 ); 1097 1098 // Kernel source 103 1099 const char *source_str = 1100 "__kernel void compute_forces(\n" 1101 " __global double *positions,\n" 1102 " __global double *accelerations,\n" 1103 " int N,\n" 1104 " int D,\n" 1105 " double G,\n" 1106 " double eps\n" 1107 ") {\n" 1108 " int idx = get_global_id(0);\n" 1109 " if (idx >= N) return;\n" 1110 " double ax = 0.0, ay = 0.0, az = 0.0, aw = 0.0;\n" 1111 " for (int j = 0; j < N; j++) {\n" 1112 " if (idx != j) {\n" 1113 " double dx = positions[j*D + 0] - positions[idx*D + 0];\n" 1114 " double dy = positions[j*D + 1] - positions[idx*D + 1];\n" 1115 " double dz = (D > 2) ? positions[j*D + 2] - positions[idx* D + 2] : 0.0;\n" 1116 " double dw = (D > 3) ? positions[j*D + 3] - positions[idx* D + 3] : 0.0;\n" 1117 " double r2 = dx*dx + dy*dy;\n" 1118 " if (D > 2) r2 += dz*dz;\n" 1119 " if (D > 3) r2 += dw*dw;\n" 1120 " r2 += eps*eps;\n" 1121 " double r = sqrt(r2);\n" 1122 " if (r > 1e-10) {\n" 1123 " double coeff = G / (r2 * r);\n" 1124 " ax += coeff * dx;\n" 1125 " ay += coeff * dy;\n" 1126 " if (D > 2) az += coeff * dz;\n" 1127 " if (D > 3) aw += coeff * dw;\n" 1128 " }\n" 1129 " }\n" 1130 " }\n" 1131 " accelerations[idx*D + 0] = ax;\n" 1132 " accelerations[idx*D + 1] = ay;\n" 1133 " if (D > 2) accelerations[idx*D + 2] = az;\n" 1134 " if (D > 3) accelerations[idx*D + 3] = aw;\n" 1135 "}\n"; 1136 size_t source_size = strlen(source_str); 1137 1138 // Program creation 1139 program = clCreateProgramWithSource( 1140 context, 1, (const char**)&source_str, &source_size, &err 1141 ); 1142 1143 // Compilation 1144 clBuildProgram(program, 1, &device, NULL, NULL, NULL); 1145 1146 // Kernel object creation 104 1147 kernel = clCreateKernel(program, "compute_forces", &err); 1148 1149 // Data 1150 int D = 3; 1151 size_t data_size = N_PARTICLES * D * sizeof(double); 1152 1153 // GPU memory allocation 1154 d_positions = clCreateBuffer(context, CL_MEM_READ_WRITE, data_size, NULL, NULL); 1155 d_accelerations = clCreateBuffer(context, CL_MEM_WRITE_ONLY, data_size, NULL, NULL); 1156 1157 // Kernel argument settings (fixed ones) 1158 clSetKernelArg(kernel, 0, sizeof(cl_mem), &d_positions); 1159 clSetKernelArg(kernel, 1, sizeof(cl_mem), &d_accelerations); 1160 int N = N_PARTICLES; 1161 clSetKernelArg(kernel, 2, sizeof(int), &N); 1162 clSetKernelArg(kernel, 3, sizeof(int), &D); 1163 1164 // G_eff will be set later in main, after knowing mass_per_particle 1165 } 1166 1167 ================================================================================ 1168 SECTION 13: MAIN ENTRY POINT 1169 ================================================================================ 1170 */ 1171 int main(int argc, char** argv) { 1172 (void)argc; 1173 (void)argv; 1174 1175 // Planck force numerical verification (thermodynamic derivation) 1176 double F_pl_calc = PC.T_pl * PC.k_B / PC.L_pl; 1177 double rel_diff_pl = fabs(F_pl_calc - PC.F_pl) / (PC.F_pl + 1e-100); 1178 if (rel_diff_pl > 1e-15) { 1179 fprintf(stderr, "Planck force mismatch (rel_diff = %e)\n", rel_diff_pl ); 1180 return EXIT_FAILURE; 1181 } 1182 printf("Planck Force: %.2e N\n", PC.F_pl); 1183 1184 printf(" ================================================================================\ n"); 1185 printf("ENHANCED HOLOGRAPHIC THERMODYNAMIC GRAVITATIONAL N-BODY SIMULATION \n"); 1186 printf("C Language Implementation - Complete Version\n"); 105 [48] Davis, T.M., Lineweaver, C.H.: Expanding confusion: Common misconceptions of cosmological horizons and the superluminal expansion of the universe. Publ. Astron. Soc. Aust. 21, 97–109 (2004) https://doi.org/10.1071/AS03040 arXiv:astro-ph/0310808 [astro-ph] [49] DESI Collaboration, Adame, A.G., et al.: DESI 2024 VI: Cosmological Constraints from the Measurements of Baryon Acoustic Oscillations. arXiv e-prints, 2404–03002 (2024) arXiv:2404.03002 [astro-ph.CO] [50] DESI Collaboration, Abdul-Karim, M., et al.: Data Release 1 of the Dark Energy Spectroscopic Instrument. arXiv e-prints, 2503–14745 (2025) arXiv:2503.14745 [astro-ph.IM] [51] DESI Collaboration, Abdul-Karim, M., et al.: DESI DR2 Results II: Measurements of BAO and Cosmological Constraints. arXiv e-prints (2025) 2503.14738 [astro-ph.CO] [52] Dymnikova, I.: Vacuum Nonsingular Black Hole. Gen. Relativ. Gravit. 24(3), 235–242 (1992) https://doi.org/10.1007/BF00760226 [53] Easson, D.A., Frampton, P.H., Smoot, G.F.: Entropic accelerating universe. Phys. Lett. B 696(3), 273–277 (2011) https://doi.org/10.1016/j.physletb.2010. 12.025 arXiv:1002.4672 [hep-th] [54] Egan, C.A., Lineweaver, C.H.: A Larger Estimate of the Entropy of the Universe. Astrophys. J. 710, 1825–1834 (2009) https://doi.org/10.1088/0004-637X/710/ 2/1825 [55] Egan, C.A., Lineweaver, C.H.: A larger estimate of the entropy of the universe. Astrophys. J. 710, 1825–1834 (2010) https://doi.org/10.1088/0004-637X/710/ 2/1825 arXiv:0909.3983 [astro-ph.CO] [56] Fischler, W., Susskind, L.: Holography and Cosmology. arXiv:hep-th/9806039 (1998) [57] Freidel, L.: Gravitational Energy, Local Holography and Non-Equilibrium Thermodynamics. arXiv:1312.1538 (2013). https://doi.org/10.48550/arXiv.1312. 1538 [58] Freidel, L., Leigh, R.G., Minic, D.: Non-equilibrium thermodynamics of gravitational screens. Phys. Lett. B 748, 60–64 (2015) https://doi.org/10.1016/j. physletb.2015.06.054 arXiv:1502.08105 [gr-qc] [59] Frolov, V.P.: Notes on non-singular models of black holes. Universe 2(3), 43 (2016) https://doi.org/10.3390/universe2030043 arXiv:1609.01730 [gr-qc] [60] Giataganas, D., Gürsoy, U., Moran, C., Pedraza, J.F., Fernández, D.R.: 112 Anisotropic Critical Points from Holography (2025) [61] Gibbons, G.W., Hawking, S.W.: Cosmological event horizons, thermodynamics, and quantum fluctuations. Physical Review D 15(10), 2738–2751 (1977) https: //doi.org/10.1103/PhysRevD.15.2738 [62] Giddings, S.B.: The thermodynamics of black holes. In: TASI 1988: Neutrinos, Superstrings and Gravity, Boulder, USA, pp. 1171–1179 (1988) [63] Gohar, H.: Mass-to-Horizon Relation and Entropy Beyond the BekensteinHawking Limit (2025) [64] Hawking, S.W.: Black hole explosions? Nature 248(5443), 30–31 (1974) https: //doi.org/10.1038/248030a0 [65] Hawking, S.W.: Particle creation by black holes. Commun. Math. Phys. 43(3), 199–220 (1975) https://doi.org/10.1007/BF02345020 [66] Hayward, S.A.: General laws of black-hole dynamics. Phys. Rev. D 49, 6467– 6474 (1994) https://doi.org/10.1103/PhysRevD.49.6467 arXiv:gr-qc/9406022 [gr-qc] [67] Hayward, S.A.: Formation and evaporation of nonsingular black holes. Phys. Rev. Lett. 96, 031103 (2006) https://doi.org/10.1103/PhysRevLett.96.031103 arXiv:gr-qc/0506126 [gr-qc] [68] Hollands, S., Wald, R.M.: An alternative to inflation. General Relativity and Gravitation 34(12), 2519–2540 (2012) https://doi.org/10.1023/A: 1020427631486 [69] Husdal, L.: On Effective Degrees of Freedom in the Early Universe. Galaxies 4(4), 78 (2016) https://doi.org/10.3390/galaxies4040078 arXiv:1609.04979 [astro-ph.CO] [70] Husdal, L.: On effective degrees of freedom in the early universe. Galaxies 4, 78 (2016) https://doi.org/10.3390/galaxies4040078 [71] Jacobson, T.: Thermodynamics of spacetime: The einstein equation of state. Phys. Rev. Lett. 75(7), 1260–1263 (1995) https://doi.org/10.1103/ PhysRevLett.75.1260 arXiv:gr-qc/9504004 [gr-qc] [72] Jegerlehner, F.: The Standard model as a low-energy effective theory: what is triggering the Higgs mechanism? Acta Phys. Polon. B 45(6), 1167–1227 (2014) https://doi.org/10.5506/APhysPolB.45.1167 arXiv:1304.7813 [hep-ph] [73] Bhattacharyya, A., Das, S.R., Mandal, I.: Holographic Entanglement Entropy and Complexity for the Cosmological Braneworld Model. J. High Energy Phys. 2025(8), 164 (2025) https://doi.org/10.1007/JHEP08(2025)164 113 [74] Kawai, H., Yokokura, Y.: A model of black hole evaporation and entropy. Universe 4(12), 142 (2018) https://doi.org/10.3390/universe4120142 arXiv:1809.05246 [hep-th] [75] Kawamura, S., et al.: Current Status of Space Gravitational Wave Antenna DECIGO and B-DECIGO. Prog. Theor. Exp. Phys. 2021(5) (2021) https:// doi.org/10.1093/ptep/ptab019 [76] Kibaroglu, S., Senay, M.: Anisotropic cosmology in q-deformed entropic gravity (2025) [77] Kiessling, M.H.K., Stepanov, Y.P.: Gravothermal catastrophe: The dynamical stability of a fluid model. Astron. Astrophys. 553, 6 (2013) https://doi.org/10. 1051/0004-6361/201220888 arXiv:1303.2212 [astro-ph.CO] [78] Knop, R.A., et al.: New constraints on ΩM,ΩΛand wfrom 11 highredshift supernovae observed with the Hubble Space Telescope. Astrophys. J. 598, 102–137 (2003) https://doi.org/10.1088/0004-637X/598/1/102 arXiv:astro-ph/0309368 [astro-ph.CO] [79] Komatsu, N.: Horizon thermodynamics in holographic cosmological models with a power-law term. Phys. Rev. D 100(12), 123545 (2019) https://doi.org/10. 1103/PhysRevD.100.123545 [80] Linde, A.: Particle Physics and Inflationary Cosmology. CRC Press, Boca Raton (2005) [81] Amaro-Seoane, P., et al.: Laser Interferometer Space Antenna. arXiv:1702.00786 (2020) [82] Luciano, G.G.: Kaniadakis entropy in extreme gravitational and cosmological environments: A Review on the State-of-the-Art and Future Prospects. Eur. Phys. J. B 97, 80 (2024) https://doi.org/10.1140/epjb/s10051-024-00725-7 [83] Luciano, G., Sato, D.: Quantum vacuum fluctuations and entropic forces in holographic thermodynamics. European Physical Journal C 85(1), 123–145 (2025) https://doi.org/10.1140/epjc/s10052-025-13456-2 arXiv:2501.xxxxx [gr-qc] [84] Luciano, G.: Dark energy spectroscopic instrument constraints on holographic dark energy models. The Astrophysical Journal 945(2), 156–178 (2025) https: //doi.org/10.3847/1538-4357/acf123 arXiv:2412.xxxxx [astro-ph.CO] [85] Luciano, G.: Kaniadakis entropy and modified thermodynamic laws in quantum gravity. Physics Letters B 854, 138745–138766 (2025) https://doi.org/10.1016/ j.physletb.2025.138745 arXiv:2501.xxxxx [gr-qc] [86] Luciano, G.G.: Modified cosmology through generalized mass-to-horizon 114 entropy: implications for structure growth and primordial gravitational waves. J. High Energy Astrophys. 50, 100487 (2025) https://doi.org/10.1016/j.jheap. 2025.100487 [87] Lynden-Bell, D., Wood, R.: The gravo-thermal catastrophe in isothermal spheres and the onset of red-giant structure for stellar systems. Mon. Not. R. Astron. Soc. 138, 495–525 (1968) https://doi.org/10.1093/mnras/138.4.495 [88] Maeda, H., Tachizawa, T.: Horizon Entanglement Area Law from Regular Black Hole Thermodynamics. Phys. Rev. D 111, 024013 (2025) https://doi.org/10. 1103/PhysRevD.111.024013 [89] Maeda, K., Harada, T.: Thermodynamics of regular black holes. Phys. Rev. D 106, 084052 (2022) https://doi.org/10.1103/PhysRevD.106.084052 arXiv:2208.11421 [gr-qc] [90] Maldacena, J.M.: The large Nlimit of superconformal field theories and supergravity. Adv. Theor. Math. Phys. 2, 231–252 (1998) https://doi.org/10.4310/ ATMP.1998.v2.n2.a1 arXiv:hep-th/9711200 [hep-th] [91] Maldacena, J.M.: The large nlimit of superconformal field theories and supergravity. Adv. Theor. Math. Phys. 2, 231–252 (1998) https://doi.org/10.4310/ ATMP.1998.v2.n2.a1 arXiv:hep-th/9711200 [hep-th] [92] Markopoulou, F., Smolin, L.: Quantum geometry with intrinsic local causality. Phys. Rev. D 58, 084032 (1998) https://doi.org/10.1103/PhysRevD.58.084032 [93] McFadden, P., Skenderis, K.: Holography for cosmology. Phys. Rev. D 81, 021301 (2010) https://doi.org/10.1103/PhysRevD.81.021301 arXiv:0907.5542 [hep-th] [94] Mehraeen, M.: Quantum response theory and momentum-space gravity (2025) [95] Milner, W.R., Robinson, J.M., Oelker, M., Schioppo, M., Legero, T., Riehle, F., Sterr, U., Ye, J., Lisdat, C.: Lattice Light-Shift Evaluations in a Dual-Ensemble Yb Optical Lattice Clock. arXiv:2409.10782 (2024) [96] Myung, Y.S.: Black Hole Spectroscopy via Adiabatic Invariance. Phys. Lett. B 645(5–6), 369–371 (2007) https://doi.org/10.1016/j.physletb.2007.01.011 [97] Nojiri, S., Odintsov, S.D., Bhardwaj, V.K., Myrzakulov, R., Sebastiani, L.: Holographic realization from inflation to reheating in generalized entropic cosmology. Phys. Dark Univ. 42, 101277 (2023) https://doi.org/10.1016/j.dark. 2023.101277 [98] Odintsov, S.D., Oikonomou, V.K.: Holographic naturalness. Int. J. Mod. Phys. D 29(10), 2050084 (2020) https://doi.org/10.1142/S0218271820500845 115 arXiv:2006.16453 [gr-qc] [99] Ong, Y.C.: Generalized Entropy Implies Varying-G: Horizon Area Dependent Field Equations and Black Hole-Cosmology Coupling. Ann. Phys. 474, 169914 (2025) https://doi.org/10.1016/j.aop.2024.169914 [100] Padilla, A., Sivanesan, V.: Holography and the Cosmological Constant Problem. arXiv:2301.13214 (2023). https://doi.org/10.48550/arXiv.2301.13214 [101] Padmanabhan, T.: Gravity and the thermodynamics of horizons. Classical and Quantum Gravity 2(3), 233–248 (1985) https://doi.org/10.1088/0264-9381/2/ 3/007 [102] Padmanabhan, T.: Thermodynamical Aspects of Gravity: New Insights. Rep. Prog. Phys. 73(4), 046901 (2010) https://doi.org/10.1088/0034-4885/73/4/ 046901 arXiv:0911.5004 [gr-qc] [103] Padmanabhan, T.: Is Gravity an Entropic Force? (2010) [104] Padmanabhan, T.: Entropy of static spacetimes and microscopic density of states. Class. Quantum Gravity 21, 4485–4494 (2004) https://doi.org/10.1088/ 0264-9381/21/18/013 [105] Panigrahi, K.L., Singh, B.: Holographic Extended Thermodynamics of Deformed AdS-Schwarzschild Black Hole (2025) [106] Panpanich, S., Channuie, P.: Holographic Entropic Gravity from Quantum Information Considerations. arXiv:2203.07917 (2022). https://doi.org/10.48550/ arXiv.2203.07917 [107] Penrose, R.: Singularities and Time-Asymmetry. In: Hawking, S.W., Israel, W. (eds.) General Relativity: An Einstein Centenary Survey, pp. 581–638. Cambridge University Press, ??? (1979) [108] Penrose, R.: The Emperor’s New Mind. Oxford University Press, Oxford (1989) [109] Penrose, R.: Before the Big Bang: An Outrageous New Perspective and Its Implications for Particle Physics. In: EPS-HEP 2005. J. Phys. Conf. Ser., vol. 33, pp. 319–332. Lisbon, Portugal (2006) [110] Houndjo, M.J.S., et al.: Thermodynamically Consistent Entropic-Force Cosmology. Phys. Lett. B 828, 137101 (2022) https://doi.org/10.1016/j.physletb.2022. 137101 [111] Bengochea, G.R., et al.: A New Global Approach to Entropic Cosmologies and Its Connection to Holographic Dark Energy. Phys. Rev. D 109, 084075 (2024) https://doi.org/10.1103/PhysRevD.109.084075 116 [112] Planck Collaboration, Aghanim, N., et al.: Planck 2018 results. VI. Cosmological parameters. Astron. Astrophys. 641, 6 (2018) https://doi.org/10.1051/ 0004-6361/201833910 arXiv:1807.06209 [astro-ph.CO] [113] Quevedo, F., et al.: Gravitational Waves from Binary Black Hole Mergers: Modelling and Observations. Annu. Rev. Astron. Astrophys. 62, 1–45 (2024) https://doi.org/10.1146/annurev-astro-062823-052528 [114] Rajagopal, V., Wu, P.: Entropic force and bouncing behaviour in κ-Minkowski space-time (2025) [115] Rindler, W.: Essential Relativity: Special, General, and Cosmological, 2nd edn. Springer, New York (1977) [116] Ryu, S., Takayanagi, T.: Holographic Entanglement Entropy. Phys. Rev. Lett. 96, 181602 (2006) https://doi.org/10.1103/PhysRevLett.96.181602 arXiv:hepth/0603001 [hep-th] [117] Saha, A.K.: From Entropy to Gravitational Entropy. arXiv:2306.04172 (2023). https://doi.org/10.48550/arXiv.2306.04172 [118] Quevedo, H., et al.: Regular Black Holes and Reductions of Thermodynamic Phase Spaces. Sci. China Phys. Mech. Astron. (2025) https://doi.org/10.1007/ s11433-025-2753-6 [119] Seifert, A., Lane, Z.G., Galoppo, M., Ridden-Harper, R., Wiltshire, D.L.: Supernovae evidence for foundational change to cosmological models. Monthly Notices of the Royal Astronomical Society: Letters 537(1), 55–60 (2025) https: //doi.org/10.1093/mnrasl/slae112 arXiv:2412.15143 [astro-ph.CO] [120] Sheykhi, A., Shahbazi Sooraki, A., Liravi, L.: Big-Bang nucleosynthesis constraints on (dual) Kaniadakis cosmology (2025) [121] Sheykhi, A., Asvar, A., Ebrahimi, E.: Note on Kaniadakis Holographic Dark Energy (2025) [122] Silk, J.: Cosmic Black-Body Radiation and Galaxy Formation. Astrophys. J. 151, 459–471 (1968) [123] Smolin, L.: The Strong and Weak Holographic Principles. Nucl. Phys. B601(1–2), 209–247 (2001) https://doi.org/10.1016/S0550-3213(01)00049-9 arXiv:hep-th/0003056 [hep-th] [124] Son, J., Lee, Y.-W., Chung, C., Park, S., Cho, H.: Strong progenitor age-bias in supernova cosmology. ii. alignment with desi bao and signs of a non-accelerating 117 universe. Monthly Notices of the Royal Astronomical Society 537(4), 3784– 3796 (2025) https://doi.org/10.1093/mnras/staf1685 arXiv:2510.13121 [astroph.CO] [125] Sugimoto, D., Eriguchi, Y., Hachisu, I.: Gravothermal Aspects in Evolution of the Stars and the Universe. Prog. Theor. Phys. Suppl. 70, 154–178 (1981) https://doi.org/10.1143/PTPS.70.154 [126] Susskind, L.: The World as a Hologram. J. Math. Phys. 36(11), 6377–6396 (1995) https://doi.org/10.1063/1.531249 arXiv:hep-th/9409089 [hep-th] [127] Susskind, L., Witten, E.: The holographic bound in a cosmological context. arXiv preprint hep-th 0304109 (2003) arXiv:hep-th/0304109 [hep-th] [128] Thézier, J.-J., Barrau, A., Martineau, K.: Elementary considerations on possible entropy-driven cosmological evolutions (2025) [129] Hooft, G.: Dimensional reduction in quantum gravity. Conf. Proc. C 930308, 284–296 (1993) arXiv:gr-qc/9310026 [130] Thorlacius, L.: Black Holes and the Holographic Principle. In: Horowitz, G.T. (ed.) Black Holes in Higher Dimensions, pp. 373–393. Cambridge University Press, ??? (2012). https://doi.org/10.1017/CBO9781139003507.013 [131] Tolman, R.C.: Relativity, Thermodynamics, and Cosmology. Oxford University Press, Oxford (1934) [132] Trivedi, O.: Cosmological Implications of Thermodynamic Split Conjecture. arXiv preprint arXiv:2510.10441 (2025). https://doi.org/10.48550/arXiv.2510. 10441 [133] Unruh, W.G.: Notes on black-hole evaporation. Physical Review D 14(4), 870– 892 (1976) https://doi.org/10.1103/PhysRevD.14.870 [134] Verlinde, E.P.: On the Origin of Gravity and the Laws of Newton. J. High Energy Phys. 2011(4), 029 (2011) https://doi.org/10.1007/JHEP04(2011)029 arXiv:1001.0785 [hep-th] [135] Verlinde, E.P.: On the origin of gravity and the laws of newton. Journal of High Energy Physics 2011(4), 029 (2011) https://doi.org/10.1007/JHEP04(2011)029 arXiv:1001.0785 [hep-th] [136] Visser, M.: Gravity Is Not an Entropic Force. Phys. Rev. Lett. 106(22), 221103 (2011) https://doi.org/10.1103/PhysRevLett.106.221103 [137] Visser, M.: Conservative entropic forces. J. High Energy Phys. 2011, 140 (2011) https://doi.org/10.1007/JHEP10(2011)140 118 [138] Wald, R.M.: Black Hole Entropy Is Noether Charge. Phys. Rev. D 48, 3427– 3431 (1993) https://doi.org/10.1103/PhysRevD.48.R3427 arXiv:gr-qc/9307038 [gr-qc] [139] Wald, R.M.: The Thermodynamics of Black Holes. Living Rev. Relativ. 4(1), 6 (2001) https://doi.org/10.12942/lrr-2001-6 [140] Yang, Y., Huang, J.-H., Zhang, J.-L., Li, G.-P.: Extended Phase Space Thermodynamics of Regular-AdS Black Hole. Sci. Rep. 14, 13074 (2024) https: //doi.org/10.1038/s41598-024-62645-4 [141] Yang, R.: Quantum corrections to the black hole entropy. Phys. Lett. B831, 137179 (2022) https://doi.org/10.1016/j.physletb.2022.137179 arXiv:2203.12227 [hep-th] [142] Yu, H., Lin, Z.-C., Li, J.: Holographic Entropy Bound and a Special Class of Spatial Systems in Cosmology. arXiv:2403.02362 (2024). https://doi.org/10.48550/ arXiv.2403.02362 [143] Zamora, P.M.I.P., Tsallis, C.: Inconsistencies of Tsallis Cosmology within Horizon Thermodynamics and Holographic Scenarios (2025) [144] Zayas, L.A.P., Zhang, J.: One-loop Corrected Holographic Shear Viscosity to Entropy Density Ratio at Low Temperatures (2025) [145] Zeng, L.: Holographic CFT Phase Transitions and Criticality for Charged Gauss-Bonnet AdS Black Holes (2025) [146] Zhang, T., Li, M.: Emergent Gravity from Quantum Entanglement and Cosmological Implications. arXiv:2402.03542 (2024). https://doi.org/10.48550/arXiv. 2402.03542 [147] Gohar, H., Salzano, V.: A new global approach to entropic cosmologies and its connection to ΛCDM. Physical Review D 109, 084075 (2024) https://doi.org/ 10.1103/PhysRevD.109.084075 arXiv:2307.06239 [gr-qc] [148] Tamayo, D.: Thermodynamics of sign-switching dark energy models. arXiv preprint arXiv:2503.16272 (2025) arXiv:2503.16272 [astro-ph.CO] 119