TLUSTY/tlusty/README_functions.md
2026-07-21 22:25:14 +08:00

5.1 KiB
Raw Permalink Blame History

TLUSTY 208 程序主要函数索引

本文档提供了TLUSTY 208程序中主要函数的位置索引包括文件名和行号。

主程序和核心函数

主程序和初始化

  • PROGRAM TLUSTY (tlusty208.f: 1-56): 主程序入口点,实现主要计算流程控制
  • SUBROUTINE START (tlusty208.f: 114-129): 一般输入和初始化过程
  • SUBROUTINE INITIA (tlusty208.f: 137-552): 输入和初始化驱动程序
  • BLOCK DATA (tlusty208.f: 79-113): 初始化氢原子振子强度数据
  • SUBROUTINE COMSET ((tlusty208.f: 38051-38214): 设置通用参数
  • SUBROUTINE TABINI (tlusty208.f: 44456-44781): 不透明度表初始化
  • SUBROUTINE INPDIS (tlusty208.f: 40329-40517): 吸积盘特定参数输入

主要求解函数

  • SUBROUTINE RESOLV (tlusty208.f: 3741-3955): 辐射转移方程的形式解,控制形式解的主要流程
  • SUBROUTINE INILAM (tlusty208.f: 3956-4191): RESOLV的辅助过程初始化模型参数
  • SUBROUTINE OPAINI (tlusty208.f: 31376-:31530): 初始化不透明度计算
  • SUBROUTINE ACCEL2 (tlusty208.f: 29751-29820): 用于加速收敛的程序
  • SUBROUTINE ACCELP (tlusty208.f: 29821-29986): 对布居数的收敛加速
  • SUBROUTINE SOLVE (tlusty208.f: 14465-14680): 线性化方程的解法 (大矩阵方法)
  • SUBROUTINE SOLVES (tlusty208.f: 14788-15064): 线性化方程的解法 (小矩阵方法)
  • SUBROUTINE RYBSOL (tlusty208.f: 46622-46845): Rybicki方法的替代解法
  • SUBROUTINE TIMING (tlusty208.f: 29898-29929): 计时程序
  • SUBROUTINE QUIT (tlusty208.f: 29930-29985): 程序终止和错误报告

物理过程相关函数

  • SUBROUTINE OPACTR (tlusty208.f: 47544-47795): 计算吸收和发射系数及其导数
  • SUBROUTINE NEWPOP (tlusty208.f: 4467-4535): 更新布居数
  • SUBROUTINE LEVSOL (tlusty208.f: 5210-5285): 求解能级布居数方程
  • SUBROUTINE STEQEQ (tlusty208.f: 5286-5760): 求解统计平衡方程
  • SUBROUTINE ELCOR (tlusty208.f: 5684-5761): 重新评估电子数密度
  • SUBROUTINE MATGEN (tlusty208.f: 15064-15130): 控制矩阵A、B和C的评估
  • SUBROUTINE RHSGEN (tlusty208.f: 22175-22175): 控制右侧向量的评估
  • SUBROUTINE LINEQS (tlusty208.f: 13771-13831): 求解线性方程组
  • SUBROUTINE RYBMAT (tlusty208.f: 46846-47426): 评估Rybicki形式的线性化矩阵
  • SUBROUTINE RYBCHN (tlusty208.f: 47426-47486): 处理Rybicki形式的相对变化
  • SUBROUTINE TRIDAG (tlusty208.f: 47677-47678): 求解三对角系统
  • SUBROUTINE RYBHEQ (tlusty208.f: 47795-47864): Rybicki形式的流体静力学平衡

光谱处理模块

谱线处理函数

  • FUNCTION PROFIL (tlusty208.f: 8176-8228): 标准吸收轮廓函数
  • SUBROUTINE GAMSP (tlusty208.f: 8176-8176): 用户提供的阻尼参数表达式
  • FUNCTION SIGMAR (tlusty208.f: 40671-40773): 计算表面质量密度

连续谱处理函数

  • FUNCTION SBFHE1 (tlusty208.f: 10262-10329): 计算中性氦的光电离截面
  • FUNCTION TOPBAS (tlusty208.f: 10641-10704): 计算光电离截面
  • FUNCTION SGHE12 (tlusty208.f: 10229-10262): 氦I的n=2态的光电离截面特殊公式

辅助数学函数

  • FUNCTION EXPINT (tlusty208.f: 13831-13985): 第一指数积分函数E1(X)
  • SUBROUTINE INTERP (tlusty208.f: 13831-13985): 一般插值程序
  • SUBROUTINE HESOLV (tlusty208.f: 42087-42139): 求解流体静力学平衡方程和z-m关系的耦合系统
  • SUBROUTINE PSOLVE (tlusty208.f: 42670-42755): 求解二阶压力方程
  • SUBROUTINE ZMRHO (tlusty208.f: 42755-42755): DM、DENS和ZD的初始估计
  • SUBROUTINE GRIDP (tlusty208.f: 42005-42087): 评估函数的新网格点

其他重要函数

  • SUBROUTINE CONCOR (tlusty208.f: 27900-27976): 完成线性化迭代后初始化模型参数DELTA
  • SUBROUTINE CONREF (tlusty208.f: 27976-28314): (功能未明确)
  • SUBROUTINE PZEVLD (tlusty208.f: 28314-28378): 确定总压力、气体压力和压力对数梯度
  • SUBROUTINE DMEVAL (tlusty208.f: 43536-43599): 当z尺度为基本尺度时重新计算m尺度
  • SUBROUTINE VISINI (tlusty208.f: 43476-43536): 初始化处理盘粘性所需的量
  • SUBROUTINE DMDER (tlusty208.f: 40671-40671): (功能未明确)
  • SUBROUTINE QUARTC (tlusty208.f: 41576-41664): 求解四次代数方程
  • SUBROUTINE TEMPER (tlusty208.f: 41391-41459): 评估温度、电子密度等

碰撞处理函数

  • FUNCTION CHEAV (tlusty208.f: 13347-13418): 计算中性氦的碰撞激发率
  • SUBROUTINE SETCOL (未在代码中找到具体位置): 设置碰撞率

辐射场处理函数

  • SUBROUTINE TLOCAL (tlusty208.f: 41576-41664): 作为光深度函数的局部温度
  • SUBROUTINE ODFSET (tlusty208.f: 29986-30022): 初始化线ODF
  • SUBROUTINE OPASUM (未在代码中找到具体位置): 计算总连续不透明度

包含文件

  • IMPLIC.FOR (行1-2): 包含基本的变量类型定义
  • BASICS.FOR (行1-130): 定义基本参数和常量
  • ITERAT.FOR (行1-15): 包含与迭代过程相关的参数
  • ALIPAR.FOR (行1-30): 包含加速Lambda迭代参数
  • ATOMIC.FOR (行1-57): 包含原子数据参数
  • MODELQ.FOR (行1-218): 包含模型物理量参数
  • ODFPAR.FOR (行1-35): 包含不透明度分布函数参数
  • ARRAY1.FOR (行1-34): 包含主要工作数组定义