1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# Configuration file for the GOAD simulation.
# This file contains the default values for all config options.
# The user should not modify this config, but may make a local copy of it
# in this directory called `local.toml`.
# If `local.toml` exists, GOAD will use the values specified in that file.
# Environment variables can be set to override values in this file.
# eg. `export GOAD_WAVELENGTH=632.8`
# Configuration options specified on the command line will override values given
# in this file, as well as those set by environment variables.
= 0.532 # wavelength in dimension of the geometry file
= [
1.0,
0.0,
] # refractive index of the medium [real, imaginary]
= [
[
1.31,
0.0,
],
] # Refractive index of the particle/s (real and imaginary parts)
# For files containing multiple shapes, use a nested list for different values
# for each shape, eg. [[1.31,0.0],[1.5,0.001]]
= "examples/data/hex.obj" # Geometry file name for the particle
= 0.0001 # Threshold for truncation by beam power
= 0.0001 # Factor for truncating beams by area
= 0.99999 # Total power cutoff fraction
= 10 # Maximum number of recursions
= 10 # Maximum number of total internal reflections
= 0.0 # Distortion factor for the geometry
= "goad_run" # Directory for output files
# seed = 6 # Seed (comment out for no seed)
= [1,1,1] # Scale factor for the geometry
# fov_factor = 1.0 # Field of view factor for diffraction (comment out for no truncation)
= "ApertureDiffraction" # ApertureDiffraction / GeometricOptics
= true # Enable coherence for near to far field mapping
# ===================================
# ZONES CONFIGURATION
# ===================================
# Zones define angular regions for scattering calculations.
# Each zone has its own binning scheme and computed parameters.
# Zone type is inferred: 0-180 theta = Full, otherwise = Custom.
# Forward and Backward zones are added automatically.
[[]]
= "main"
[]
= [0, 180]
= [2]
= [0, 360]
= [4]
# Example: Add a high-resolution forward zone
# [[zones]]
# label = "forward_hires"
# [zones.scheme.Interval]
# thetas = [0, 10]
# theta_spacings = [0.5]
# phis = [0, 360]
# phi_spacings = [4]
# Example: Simple binning zone
# [[zones]]
# label = "simple_zone"
# [zones.scheme.Simple]
# num_theta = 90
# num_phi = 48
[] # Orientation configuration
= "ZYZ" # Euler angle convention
[] # Uncomment the desired orientation scheme below
[] # Discrete orientation with specified Euler angles
= [[30,30,0]]
# [orientation.scheme.Uniform] # Random uniform distribution
# num_orients = 100 # Number of orientations to generate
# ===================================
# OUTPUT CONFIGURATION
# ===================================
[]
# JSON files for structured data access
= true # Enable to dump settings.json (entire config)
# Mueller matrix files (custom format) - DEFAULT: true
= true # Enable 2D Mueller matrix files
= true # Enable 1D integrated Mueller matrix files
# Control which Mueller components are written - DEFAULT: all true
[]
= true # Total scattering (mueller_scatgrid)
= true # Beam component (mueller_scatgrid_beam)
= true # External diffraction (mueller_scatgrid_ext)