Tôi sẽ mở rộng câu trả lời được cung cấp bởi @DavidKetcheson. Đầu tiên các phương trình được viết lại như một hệ thống hyperbolic của các định luật bảo toàn bậc nhất:
qt+∇⋅F(q)=0
hoặc là
qt+Aqx+Bqy+Cqz=0
Trong đó là một vectơ trạng thái được hình thành với các thành phần của ứng suất căng và các thành phần của vectơ vận tốc .( σ 11 , σ 22 , σ 33 , σ 12q(σ11,σ22,σ33,σ12,σ23,σ13)(u,v,w)
q=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜σ11σ22σ33σ12σ23σ13uvw⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟,
A=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜0000001ρ0000000000000000000000000001ρ0000000000000000001ρc11c12c13c14c15c16000c16c26c36c46c56c66000c15c25c35c45c55c56000⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟,
B=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜00000000000000001ρ00000000000000001ρ00000000001ρ000000000c16c26c36c46c56c66000c12c22c23c24c25c26000c14c24c34c44c45c46000⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟,
C=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜000000000000000000000000001ρ00000000000000001ρ00000001ρ00c15c25c35c45c55c56000c14c24c34c44c45c46000c13c23c33c34c35c36000⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟.
Để tính tốc độ của sự cố (như được mô tả ở trên), chúng ta cần tạo ma trận , trong đó là một vectơ đơn vị và xác định hướng truyền. Để tìm điều kiện CFL cần phải giải quyếtn = (A^(n1,n2,n3)=n1A+n2B+n3Cn=(n1,n2,n3)
max(θ,ϕ)maxiγi(θ,ϕ)
trong đó là các góc hình cầu và là các giá trị riêng của ma trận .γ i(θ,ϕ)γiA^(θ,ϕ)
Dựa trên điều này và câu trả lời được cung cấp bởi @DavidKetcheson, việc tính toán các giá trị riêng của phương trình Christoffel đơn giản hơn và giải bài toán tối ưu hóa
max(θ,ϕ)maxiλi(θ,ϕ)
với giá trị riêng của phương trình Christoffel. Và tốc độ chỉ là . c = √λic=λi/ρ−−−−√