Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add: include new +turbulence subpackage #1004

Merged
merged 7 commits into from
Nov 22, 2024
Merged

Add: include new +turbulence subpackage #1004

merged 7 commits into from
Nov 22, 2024

Conversation

AlbertoCuadra
Copy link
Member

Summary

This pull request introduces a comprehensive suite of tools to facilitate the analysis and decomposition of turbulent flows. Key additions include:

  • The HelmholtzSolver class for performing Helmholtz decomposition.
  • The TurbulenceSpectra class for analyzing energy spectra.
  • Supporting utilities for handling velocity fields, validating computations, and visualizing results.
  • Example demonstrating usage of HelmholtzSolver and TurbulenceSpectra classes.

Key Features

1. HelmholtzSolver Class

  • Implements Helmholtz-Hodge decomposition to separate 3D velocity fields into:
    • Solenoidal Component (divergence-free).
    • Dilatational Component (curl-free).
  • Includes validation methods for:
    • Checking divergence-free and curl-free conditions.
    • Ensuring decomposition accuracy (relative error tolerance).
  • Configurable properties:
    • tol0: Relative error tolerance.
    • Flags for detailed logging (FLAG_TIME, FLAG_CHECKS, FLAG_RESULTS).

2. TurbulenceSpectra Class

  • Computes turbulence energy spectra using:
    • Spherical Averaging.
    • Cross-Plane Averaging (configurable axis selection: x, y, or z).
  • Provides functions to:
    • Validate energy cascade properties.
    • Plot and visualize spectra.

3. VelocityField Class

Encapsulates 3D velocity field data (u, v, w) and provides:

  • Methods for computing:
    • Magnitude.
  • Utilities for:
    • Normalizing velocity fields.
    • Scaling velocity components.

@AlbertoCuadra AlbertoCuadra added the enhancement New feature or request label Nov 22, 2024
@AlbertoCuadra AlbertoCuadra merged commit 3ba4cc8 into develop Nov 22, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: 2024 Q4 – Oct-Dec
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant