-
Notifications
You must be signed in to change notification settings - Fork 6
/
default_config.toml
64 lines (57 loc) · 2.76 KB
/
default_config.toml
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
# Training Properties
name = "example_name"
use_gpu = false
seed = 100
model_type = "siren"
iterations = 3000
learning_rate = 8e-5
type = "regression" # "classification" or "regression"
reg_loss_weight = 0.05 # weighting of the regularization loss
use_regularization_loss = true # only relevant for classification
# Loss
L = 1.0
absorption_loss = false
# Model Parameters
n_neurons = 100
hidden_layers = 9
encoding_dim = 4
siren_omega = 1.0
# Epsilon Properties
add_noise = false
noise_scale = 0.001
eps_oversampling = 1
real_min_eps = -100.0
real_max_eps = 100.0
imag_min_eps = 0.0
imag_max_eps = 3.0
# Simulation type
solver = "TRCWA" # Options: FDTD, TRCWA
# Grid dimensions
Nx = 1
Ny = 1
N_layers = 8
PER_LAYER_THICKNESS = [1.0] # len 1 for uniform thickness
# PER_LAYER_THICKNESS = [0.1,0.5,0.4] # optionally list of thicknesses for each layer
# TRCWA parameters
TRCWA_L_grid = [[0.1,0.0],[0.0,0.1]] # grid dimension for TRCWA
TRCWA_NG = 11 # Truncation order (actual number might be smaller)
TRCWA_TOP_LAYER_EPS = 1.0 # epsilon for top layer, 1.0 for vacuum
TRCWA_BOTTOM_LAYER_EPS = 1.0 # epsilon for top layer, 1.0 for vacuum
# FDTD parameters
FDTD_source_type = "line" # Geometry of source, either "point" for pointsource or "line" for linesource
FDTD_pulse_type = "continuous" # If the source should be a single pulse in the FDTD simulations, or continuous wave. "hanning", "ricker" or "continuous" accepted
FDTD_pml_thickness = 1.5 # Thickness of PML layerin FDTD simulations, set in FDTD unit magnitudes. Perfectly Matched Layer are boundaries used in the x-direction, design to absorb all radiation
FDTD_source_position = [1.5,1.0] # Coordinates of the source used in FDTD simulations, in FDTD unit magnitudes
FDTD_free_space_distance = 1.0 # The thickness of the free space layer before and after the material layers, in FDTD unit magnitudes
FDTD_niter = 200 # Number of iterations / timesteps to run the FDTD for
FDTD_gridpoints_from_material_to_detector = 2 # Distance between material and detectors in grid points. Distance to reflection detector from start of the material, and to from the end of the material to the transmission detector.
FDTD_min_gridpoints_per_unit_magnitude= 10 # Minimum number of gridpoints per unit_magnitude, ensuring enough gridpoints for proper functionallity
# Target spectra
# To find out which frequencies below points correspond to use nidn.get_frequency_points(cfg)
# This should be from low wavelength to high wavelength
avoid_zero_eps = true
target_reflectance_spectrum = [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]
target_transmittance_spectrum = [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
physical_wavelength_range = [1e-6,30e-6]
freq_distribution = "linear" # "linear" or "log"
N_freq = 20