UML Diagram for Fluctuation Field Generation#
Here is an UML diagram representing the interoperability between several internal classes of the package that comprise the fluctuation generator GenerateFluctuationField
. 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.
classDiagram
direction LR
GenerateFluctuationField ..> VectorGaussianRandomField
GaussianRandomField ..> Covariance
VectorGaussianRandomField --|> GaussianRandomField
subgraph cov
direction TB
MannCovariance --|> Covariance
VonKarmanCovariance --|> Covariance
NNCovariance --|> Covariance
end
GenerateFluctuationField : +np.ndarray total_fluctuation
GenerateFluctuationField : +Callable log_law
GenerateFluctuationField : +int seed
GenerateFluctuationField : +Covariance Covariance
GenerateFluctuationField : +VectorGaussianRandomField RF
GenerateFluctuationField: -_generate_block()
GenerateFluctuationField: +generate()
GenerateFluctuationField: +normalize()
GenerateFluctuationField: +save_to_vtk()
class VectorGaussianRandomField{
+int vdim
+tuple DomainSlice
}
class Covariance{
+int ndim
+eval()
}
class GaussianRandomField{
+np.RandomState prng
+Callable Correlate
+Callable Covariance
+setSamplingMethod()
+sample_noise()
+sample()
+reseed()
}
class VonKarmanCovariance{
+float length_scale
+float E0
+precompute_Spectrum()
}
class MannCovariance{
+float length_scale
+float E0
+float Gamma
+precompute_Spectrum()
}
class NNCovariance{
+float length_scale
+float E0
+float Gamma
+float h_ref
+OnePointSpectra ops
+precompute_Spectrum()
}