Datasets package
Submodules
Datasets.darcy_flow_NN module
Datasets.ens_uv module
Datasets.flow2d module
Datasets.flow3d module
- Datasets.flow3d.create_swirl_ensemble(center_line_start, center_line_end, num_curves=10, num_points=100, major_axis_length=1.0, minor_axis_length=0.3, swirl_frequency=2.0, distribution='uniform', noise_level=0.0, interior_fraction=0.5, expansion_factor=1.0)[source]
Create an ensemble of curves that form elliptical cross-sections that swirl around a straight line in 3D.
Parameters:
- center_line_startarray-like, shape (3,)
Starting point of the central straight line [x, y, z]
- center_line_endarray-like, shape (3,)
Ending point of the central straight line [x, y, z]
- num_curvesint
Number of curves to generate
- num_pointsint
Number of points per curve
- major_axis_lengthfloat
Length of the major axis of the ellipse
- minor_axis_lengthfloat
Length of the minor axis of the ellipse
- swirl_frequencyfloat
How many times the ellipse rotates along the straight line
- distributionstr
‘uniform’ for uniform distribution along ellipse perimeter, ‘interior’ for uniform distribution within ellipse interior, ‘mixed’ for combination of both
- noise_levelfloat
Amount of random noise to add to positions
- interior_fractionfloat
For ‘mixed’ distribution, fraction of curves in interior (0-1)
- expansion_factorfloat
Controls how much the ellipse expands. 0=no expansion, 1=linear expansion
Returns:
- curveslist
List of curves, each curve is an array of shape (num_points, 3)
- center_linearray, shape (num_points, 3)
The central straight line