Tearing.Dispersion - Require a Hermitian Δ′ where the SLAYER residual conjugates Δ̂

Abierto
#606 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 3 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
julia
Área
backend, testing

Línea de trabajo

Start with InnerLayer/SLAYER/Riccati.jl and its solve_inner comment, then trace how the residual uses Δ′ in the uncoupled and coupled cases, including SurfaceCoupling.jl. Run the shipped cases to measure the proposed imaginary and anti-Hermitian components, and inspect the existing test setup for an anti-Cauchy–Riemann finite-difference check at one Q. Done means the condition or residual handling is settled, the comment states the condition, and the test verifies it.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

SLAYER's solve_inner returns conj(Δ̂(ĝ)) (InnerLayer/SLAYER/Riccati.jl). The comment there says "conjugation maps zeros to zeros", so the roots are unchanged. That holds only if the outer data are effectively real.

  • Uncoupled: the residual is dp_diag − S^(1/3)·conj(Δ̂) − Δ_crit, so its zeros solve Δ̂ = conj((Δ′ − Δ_crit)/S^(1/3)). dp_diag is ComplexF64 (SurfaceCoupling.jl). If Im Δ′ ≠ 0, the roots found are those of the conjugated outer stability, not the intended one. Δ_crit is real, so it is not a concern.
  • Coupled: conj(det(D′ − diag Δ̂)) = det(conj D′ − diag conj Δ̂), so the coupled roots are right when conj(D′) is D′ up to transpose, i.e. when D′ is Hermitian. A non-Hermitian Δ′, for example from a kinetic or resistive-wall outer region, would shift them.

Proposal:

  1. Measure Im Δ′ (diagonal) and the anti-Hermitian part of the coupled Δ′ on the shipped cases.
  2. Either assert or warn when they exceed a stated fraction, or conjugate Δ′ consistently in the residual so the roots are exact for any Δ′.
  3. Fix the Riccati.jl comment to state the condition.
  4. Add a test that checks the premise: an anti-Cauchy–Riemann finite-difference check that SLAYER's residual is anti-holomorphic at one Q.

Note that the conjugation is load-bearing for consumers that use the sign of Im Δ (the critical-resonant-field torque balance), so it cannot simply be removed.

Lenguaje dominante
Julia
Estrellas
11
Forks
7
Merge medio
4 d 1 h
PR fusionados (30 d)
68

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de OpenFUSIONToolkit/GPEC

Todos los issues de OpenFUSIONToolkit/GPEC

Issues similares

Más issues de Julia

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.