Reference notebooks, scripts, and precomputed data accompanying the scattering cross-section study for five models of two-phase media in two and three dimensions.
-
Debye.ipynb,Equilibrium.ipynb,Polydisperse.ipynb,SHU.ipynb,g2-invariant.ipynb: Reproducible workflows to load precomputed spectral data/structure factors, compute attenuation functions withscripts/computeF.py, and derive scattering mean free paths (strong-contrast and Mie estimates). -
data/: Precomputed inputs/outputs (spectral densities, structure factors, attenuation functions, scattering results). Most.txtfiles are ignored by git except SHU/PolyHU inputs. -
scripts/: Reusable code:shared.py: Plot style, geometry helpers, Bruggeman mixing.computeF.py: Attenuation function calculator (type='chik'ortype='sk'). Use the--helpcommand for details. Cite the following references:
- Torquato S, Kim J. Nonlocal Effective Electromagnetic Wave Characteristics of Composite Media: Beyond the Quasistatic Regime. Phys. Rev. X. 2021;11(2):021002. doi: 10.1103/Phys‐RevX.11.021002 -- 2D, 3D cases.
- Kim J, Torquato S. Effective Electromagnetic Wave Properties of Disordered Stealthy Hyperuniform Layered Media beyond the Quasistatic Regime. Optica. 2023;10:965–972. doi:10.1364/optica.489797 -- 1D case
- Kim J, Torquato S. Theoretical Prediction of the Effective Dynamic Dielectric Constant of Disordered Hyperuniform Anisotropic Composites beyond the Long‐Wavelength Regime. Opt. Mater. Express. 2024;14(1):194. doi:10.1364/OME.507918 -- 2D cases
-
Microstructure helpers:
Approx_2DHSF.py,Analytic_3DHSF.py,Analytic_Debye.py,g2_invariant.py. -
Scattering utilities:
Formulas.py(strong-contrast series),MieCylinder.py,MieSphere.py.
- Set
d, volume fraction, and the appropriate input parameters. For SHU/polyHU, there are some precomputed input indata/. - Load/plot spectral density or structure factor.
- Evaluate attenuation function via
computeF.pywith matchingtype. - Compute scattering mean free paths (strong-contrast approximation and/or Mie estimate).
- No analytic evaluation is done for SHU/PolyHU; those notebooks only read the provided
data/inputs. - Ensure
scripts/is onsys.pathwhen running notebooks locally.***
- Conda environment name:
sca - Install with:
bash env-setup.sh - Required Python packages:
python>=3.11,numpy,scipy,matplotlib
env-setup.sh: creates thescaconda environment with the above dependencies.