PyGRT Logo

PyGRT 入门

  • 简介
  • 安装
  • 准备工作
  • 计算动态解(全波解)
  • 计算动态解(面波解)
  • 计算静态解
  • 计算示例 Gallery

PyGRT 进阶

  • 波数积分上限和间隔
  • 波数积分的收敛性
  • 核函数 \(f-v\) 谱图
  • 顶底界面的边界条件
  • 公式补充
  • 模块手册

附录

  • Lamb 问题
  • API
    • C API
      • grt
        • common
        • dynamic
        • integral
        • lamb
        • modal
        • static
      • grt.h
    • Python API
  • Changelog
  • 版权声明
PyGRT
  • API
  • C API
  • grt
  • modal
  • modal_def.h

modal_def.h

Author

Zhu Dengda (zhudengda@mail.iggcas.ac.cn)

Date

2026-01

Functions

void grt_free_eigenv(EIGENV *eigv)

释放 eigv 内部内存

void grt_free_eigenv_info(EIGENV_INFO *eigmet)

释放 eigmet 内部及其本身内存

void grt_filter_eigenfn_info(const size_t nf, const real_t *freqs, const bool def_freq_range, const size_t nmode, const size_t *modes, EIGENV_INFO *eigmet, EIGENFN_INFO *eigfnmet)

从全部频散信息中,筛选出部分信息

struct EIGENV
#include <modal_def.h>

某频率的频散值

Public Members

real_t *c_roots

本征值, 两个维度分别为频率和根数

real_t *u_roots
size_t *c_roots_iref

每个本征值来自哪层的久期函数

size_t n

每个频率下找到的零点数量

struct EIGENV_INFO
#include <modal_def.h>

与频散计算方法相关的参数

Public Members

size_t nf
real_t *freqs
size_t nmode
size_t *modes
DISPER_TYPE wtype
bool print_sec

仅打印单一频率的久期函数,不搜根

real_t cmin

搜根范围

real_t cmax
bool manual_crange

是否手动给定了相速度范围

size_t iref
bool manual_iref

是否手动给定了某层的久期函数

real_t satol

自适应方法的精度

real_t uniform_dc

固定间隔方法的搜索间隔

real_t cgap

搜根时限制不同阶之间相速度最小间隔

real_t rtol

极小值处判断为零点的久期函数幅值的阈值

real_t vgap

零点与模型速度值之间的最小间隔

size_t neval

计算久期函数次数

EIGENV *eigv

不同频率的频散

struct EIGENFN
#include <modal_def.h>

某频率的某个本征值对应的本征函数和频散敏感核

Public Members

real_t eigenC
cplx_t (*fn)[4]
cplx_t egyint[GRT_EGYINTS_MAX]

能量积分

cplx_t (*csens)[GRT_SNSTVTY_MAX]
cplx_t (*usens)[GRT_SNSTVTY_MAX]
struct EIGENFN_INFO

Public Members

size_t nf
real_t *freqs
size_t nmode
size_t *modes
DISPER_TYPE wtype
size_t nz
real_t *zs
size_t *z_irefs
size_t cpar_nz
real_t *cpar_zs
size_t *cpar_z_irefs
EIGENV *eigv

(筛选后)不同频率的频散

EIGENFN **eigfn
上一页 下一页

© 版权所有 2024-2026, 朱邓达。

利用 Sphinx 构建,使用的 主题 由 Read the Docs 开发.    👁️‍🗨️    🧑