jvr*_*sem 4 interpolation fortran representation spectral qhull
我正在尝试将球谐函数插值到立方笛卡尔网格。
我的球面伪光谱模拟的输出数据的Nr径向水平介于rMin和之间rMax,每个水平包含一组经度和纬度的有限阶球谐函数。球谐函数通过三角截断映射到包含Ni经度和纬度的物理球面网格Nj。
域如下:
rMin <= r(k) <= rMax,带有索引1 <= k <= NrNm = (Nj-1)/30 <= m <= Nmm <= l <= Nmnlm == (nm+1)*(nm+2)/2(的总数l,m组合)数据数组:
complex*16, dimension( 1:nlm, 1:Nr ) :: foo_spectralreal*8, dimension( 1:Nx, 1:Ny, 1:Nz ) :: foo_cartesian我正在寻找一种准确,有效的方法,将数据从其频谱表示形式插值到具有边长的立方笛卡尔网格中2*rMax,以使球形域完全适合内部。但是,我只想在球体内进行插值:对于与r<rMin或对应的点rMax<r,三次方网格应具有OUTSIDE_DOMAIN值。
目前,我必须将数据从其频谱表示形式(球面谐波:)foo(Nr,nlm)转换为物理表示形式(球面网格:)foo(Nr,Ni,Nj),然后在IDL中使用QHULL例程从物理球面网格插值到物理立方网格(foo(Nx,Ny,Nz))(请注意,Nx==Ny==Nz对于立方网格)。
我的数据大小超出了我现有的代码(用IDL编写)可以处理的大小,出于我的目的,不必转换为球形空间。我想要一个更独立的直接方法-例如,不依赖于IDL。
关于如何做到这一点的任何想法?我愿意使用开放源代码库,但是不必这样做会很高兴。
提前致谢!
| 归档时间: |
|
| 查看次数: |
716 次 |
| 最近记录: |