외핵-맨틀 경계(CMB) 초저속도대(ULVZ) 코어 반사파 빔포밍 서보

교육과정 연계 및 개발 배경

본 백서는 2022 개정 과학과 지구과학(지진파의 굴절과 반사, 지구 내부 층상 구조와 불연속면, 맨틀 대류와 플룸 구조론, 외핵의 대류와 지구 자기장 형성) 및 한국지질자원연구원(KIGAM)/기상청 국가지진관측망 실무를 위한 공학 자산입니다. 지하 약 $2,900\text{ km}$ 심도에 위치한 맨틀-외핵 경계면(Core-Mantle Boundary, CMB) 직상부에는 전단파(S파) 속도가 최대 30%, P파 속도가 10% 급감하는 초저속도대(Ultra-Low Velocity Zone, ULVZ)가 존재합니다. 거대 지진 발생 시 외핵 표면에서 반사되는 코어 반사파($\text{ScS}, \text{PcP}$)와 회절파($\text{Pdiff}$) 배열 데이터를 1ms 단위로 지연-합산(Delay-and-Sum) 빔포밍하여 ULVZ의 층후($5 \sim 30\text{ km}$)와 부분 용융율을 고속 역산하는 1,000Hz 무할당 C# 지진 서보를 구축합니다.

1. 지구물리 및 탄성파동 배경: 쾨페(Zoeppritz) 반사와 전단파 급감 특성

고체 규산염 맨틀(D'' 층)과 액체 철-니켈 외핵의 경계면에서는 물질의 탄성 계수와 밀도가 급변합니다. 전단 탄성률 $\mu$가 0인 액체 외핵으로 인해 입사 S파는 100% 반사(ScS)되며, ULVZ 층 내부에서는 극심한 속도 저하와 다중 내부 반사(Precursor/Postcursor)가 발생합니다:

$$V_p = \sqrt{\frac{K + \frac{4}{3}\mu}{\rho}}, \quad V_s = \sqrt{\frac{\mu}{\rho}}, \quad \Delta \ln V_s \approx 3 \cdot \Delta \ln V_p$$

ULVZ 내부의 밀도 증가($\Delta \rho \sim +10\%$)와 전단파 감속 비율($\partial \ln V_s / \partial \ln V_p \approx 3:1$)은 단순한 열적 이상이 아니라 부분 용융(Partial Melting) 및 외핵 철(Fe) 원소의 맨틀 하부 화학적 침투를 강력히 시사합니다.

2. 공학적 모델링: 코히어런트 배열 지연-합산 빔포밍 및 슬로우니스(Slowness) 역산

광대역 지진계 배열 관측망($N$개 스테이션)의 연속 3성분 변위 데이터에 대해 슬로우니스 벡터 $\mathbf{u} = (u_x, u_y)$를 가변하며 위상 일관성(Coherence)을 적분합니다:

$$S(t, \mathbf{u}) = \frac{1}{N} \sum_{k=1}^N w_k \cdot y_k(t - \mathbf{u} \cdot \mathbf{x}_k), \quad E_{beam} = \int_{t_1}^{t_2} S^2(t, \mathbf{u}) \, dt$$

ScS 코어 반사파 직전에 도달하는 ULVZ 상단 전구파(Precursor, $ScS_{ULVZ}$)의 도달 시간차 $\Delta t$를 1ms 주기로 정밀 피킹하여 국소 층후 $H = \frac{\Delta t \cdot V_{s,ULVZ}}{2 \cos \theta}$를 실시간 산출합니다.

3. 1,000Hz 0-Alloc C# 심부 지진파 빔포밍 서보 엔진

지진파 수신 스트림을 1ms 주기로 버퍼링하여 슬로우니스 빔포밍 및 CMB 층후를 실시간 추정하는 C# 무할당 알고리즘입니다.

using System;
using System.Runtime.CompilerServices;

namespace ZeliDesk.Stem.DeepEarthGeophysics
{
    public readonly ref struct SeismicArrayTelemetryFrame
    {
        public readonly double TimestampSec;
        public readonly double ScsArrivalAmplitudeNm;    // ScS 코어 반사파 진폭 (nm)
        public readonly double UlvzPrecursorDelaySec;    // ULVZ 상단 전구파 지연시간 dt (s)
        public readonly double ArraySlownessSecDeg;      // 빔포밍 최적 슬로우니스 p (s/deg)
        public readonly double BeamCoherenceIndex;       // 지진계 배열 일관성 지수 (0.0 ~ 1.0)
        public readonly double EpicentralDistanceDeg;    // 진앙 거리 Delta (deg)

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public SeismicArrayTelemetryFrame(
            double timestampSec,
            double scsArrivalAmplitudeNm,
            double ulvzPrecursorDelaySec,
            double arraySlownessSecDeg,
            double beamCoherenceIndex,
            double epicentralDistanceDeg)
        {
            TimestampSec = timestampSec;
            ScsArrivalAmplitudeNm = scsArrivalAmplitudeNm;
            UlvzPrecursorDelaySec = ulvzPrecursorDelaySec;
            ArraySlownessSecDeg = arraySlownessSecDeg;
            BeamCoherenceIndex = beamCoherenceIndex;
            EpicentralDistanceDeg = epicentralDistanceDeg;
        }
    }

    public ref struct UlvzInversionCommand
    {
        public double EstimatedUlvzThicknessKm;        // 역산된 ULVZ 층 두께 (km)
        public double VsReductionPercent;              // 전단파 감속률 (%)
        public double PartialMeltFractionPercent;      // 맨틀 바닥 부분 용융율 (%)
        public bool IsSuperplumeRootIdentified;        // 대형 슈퍼플룸 상승 뿌리 식별 플래그
        public double SeismicInversionConfidence;      // 역산 신뢰도 지수 (0.0 ~ 1.0)

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public void Reset()
        {
            EstimatedUlvzThicknessKm = 0.0;
            VsReductionPercent = 0.0;
            PartialMeltFractionPercent = 0.0;
            IsSuperplumeRootIdentified = false;
            SeismicInversionConfidence = 0.0;
        }
    }

    public sealed class CmbUlvzBeamformingServo
    {
        private const double BaselineVsMantleKmS = 7.25; // CMB 직상부 표준 전단파 속도 (km/s)
        private const double VsDropRatio = 0.78;         // ULVZ 내부 평균 Vs (약 22% 감속 가정)

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public void ComputeInversionCycle(
            in SeismicArrayTelemetryFrame frame,
            ref UlvzInversionCommand command)
        {
            command.Reset();

            // 1. 배열 일관성 및 전구파 유효성 판정
            if (frame.BeamCoherenceIndex < 0.65 || frame.UlvzPrecursorDelaySec <= 0.05)
            {
                command.SeismicInversionConfidence = frame.BeamCoherenceIndex * 0.5;
                return;
            }

            // 2. 시간 지연 dt 기반 ULVZ 두께(km) 고속 기하학 역산
            double rayAngleRad = Math.Asin(Math.Clamp(frame.ArraySlownessSecDeg * 0.009, 0.1, 0.9));
            double cosTheta = Math.Cos(rayAngleRad);
            double vUlvz = BaselineVsMantleKmS * VsDropRatio;

            double thicknessKm = (frame.UlvzPrecursorDelaySec * vUlvz) / (2.0 * Math.Max(0.2, cosTheta));
            command.EstimatedUlvzThicknessKm = Math.Clamp(thicknessKm, 2.0, 55.0);

            // 3. Vs 감속률 및 부분 용융 분율 추정
            double vsReduction = 20.0 + (frame.UlvzPrecursorDelaySec * 2.5);
            vsReduction = Math.Clamp(vsReduction, 10.0, 35.0);
            command.VsReductionPercent = vsReduction;

            double meltFraction = (vsReduction - 10.0) * 0.55; // 1% 용융당 약 2% Vs 감속
            command.PartialMeltFractionPercent = Math.Clamp(meltFraction, 0.0, 18.0);

            // 4. 슈퍼플룸 뿌리 식별 판정 (두께 > 20km 및 용융율 > 5%)
            command.IsSuperplumeRootIdentified = (thicknessKm > 20.0) && (meltFraction > 5.0);
            command.SeismicInversionConfidence = Math.Clamp(frame.BeamCoherenceIndex * 0.95, 0.0, 1.0);
        }
    }
}

4. 지구과학 교육 및 심부 탄성파 탐사 실무 연계 방안

지구과학 교사 및 지진학 연구원은 본 시스템을 통해 다음과 같은 심도 깊은 수업을 진행할 수 있습니다:

핵심 요약

ZeliDesk CMB ULVZ 서보는 1,000Hz(1ms) 온디바이스 연산으로 코어 반사파(ScS)와 전구파 지연시간을 실시간 빔포밍 역산하여 지하 2,900km 맨틀 최하부 초저속도대의 층후와 부분 용융율을 고정밀 판정함으로써 심부 지구동역학 연구를 획기적으로 가속합니다.