.. py:currentmodule:: drdmannturb UML Diagram for Spectra Fitting Data Classes ============================================ Here is an UML diagram representing the interoperability between several internal classes of the package that comprise the fluctuation generator :py:class:`CalibrationProblem` and :py:class:`OnePointSpectra`. Please refer to specific class documentations for details. The following diagram is interactive -- try zooming and panning to resize for your convenience. These interactive UML diagrams have an issue with rendering the correct arrow types in dark mode, please consider switching to light mode. .. mermaid:: :zoom: classDiagram direction LR class CalibrationProblem { <> - output_directory : Path - device : str init_device() update_parameters() eval() eval_grad() calibrate() plot() plot_loss() } class NNParameters { <> - nlayers : int - input_size : int - hidden_layer_size : int - hidden_layer_sizes : list[int] - activations : list[str] - output_size : int } class ProblemParameters { <> - learning_rate : float - tol : float - nepochs : int - init_with_noise : bool - noise_magnitude : float - data_type : DataType - eddy_lifetime : EddyLifetimeType - power_spectra : PowerSpectraType - learn_nu : bool } class PhysicalParameters { <> - L : float - Gamma : float - sigma : float - Uref : float - zref : float - domain : torch.Tensor } class LossParameters { <> - alpha_pen : float - alpha_reg : float - beta_pen : float } class OnePointSpectra { <> - grid_k2 : torch.Tensor - grid_k3 : torch.Tensor - meshgrid23 : torch.Tensor - logLengthScale : nn.Parameter - logTimeScale : nn.Parameter - logMagnitude : nn.Parameter - tauNet : nn.Module** exp_scales() forward(k1_input) EddyLifetime(k) PowerSpectra() quad23() get_div() } CalibrationProblem ..> ProblemParameters CalibrationProblem ..> PhysicalParameters OnePointSpectra ..> LossParameters CalibrationProblem ..> OnePointSpectra OnePointSpectra ..> ProblemParameters OnePointSpectra ..> NNParameters