# Fisica ALPHA = 0.01 # diffusività termica [m²/s] K = 1.0 # conducibilità termica [W/m·K] L = 1.0 # lunghezza barra [m] T0 = 20.0 # temperatura iniziale uniforme [°C] # Sorgente di calore X_SRC = 0.35 # posizione della sorgente [m], in [0, L] Q_VAL = 150.0 # flusso di calore applicato [W/m²] T_STEP = 0.2 # istante di attivazione flusso [s] # Convezione a x=L (Robin) H_CONV = 10.0 # coefficiente convettivo [W/m²·K] T_AMB = 20.0 # temperatura ambiente [°C] # Dominio temporale T_END = 10.0 # fine simulazione [s] # Griglia FDM NX = 250 # nodi spaziali NT = 15000 # passi temporali (verifica CFL automatica) # Sorgente gaussiana (approssimazione continua del delta di Dirac) GAUSS_SIGMA = 0.01 # larghezza del picco gaussiano [m] # Architettura PINN HIDDEN_SIZE = 128 # neuroni per layer nascosto N_HIDDEN_LAYERS = 4 # numero di layer nascosti # Sampling punti di collocazione N_F = 6000 # punti PDE (+ 50% clustering automatico vicino a X_SRC e T_STEP) N_IC = 400 # punti condizione iniziale N_BC = 400 # punti condizioni al contorno # Training Adam EPOCHS = 5000 # epoche massime PATIENCE = 500 # early stopping LR_ADAM = 1e-3 # learning rate iniziale SCHED_FACTOR = 0.5 # ReduceLROnPlateau: fattore di riduzione SCHED_PATIENCE = 150 # ReduceLROnPlateau: patience SCHED_MIN_LR = 1e-6 # ReduceLROnPlateau: lr minimo # Fine-tuning L-BFGS LR_LBFGS = 0.1 # learning rate L-BFGS LBFGS_STEPS = 200 # numero di step L-BFGS # Pesi della loss W_PDE = 10.0 # peso residuo PDE W_IC = 1.0 # peso condizione iniziale W_BC = 5.0 # peso condizioni al contorno