修复7
This commit is contained in:
parent
24b2d17003
commit
d62beb8ad3
@ -1243,12 +1243,15 @@ def main():
|
|||||||
parser.add_argument('--diff', metavar='MODULE', help='生成详细差异报告')
|
parser.add_argument('--diff', metavar='MODULE', help='生成详细差异报告')
|
||||||
parser.add_argument('--flow', metavar='MODULE', help='检查控制流程')
|
parser.add_argument('--flow', metavar='MODULE', help='检查控制流程')
|
||||||
parser.add_argument('--risk', metavar='MODULE', help='检查模块风险等级(Phase 1)')
|
parser.add_argument('--risk', metavar='MODULE', help='检查模块风险等级(Phase 1)')
|
||||||
|
parser.add_argument('--chain', metavar='MODULE', help='追踪模块的完整 Fortran 调用链,检查 Rust 是否覆盖')
|
||||||
parser.add_argument('--audit', action='store_true', help='随机审计 5 个 match 模块的风险')
|
parser.add_argument('--audit', action='store_true', help='随机审计 5 个 match 模块的风险')
|
||||||
parser.add_argument('--verbose', '-v', action='store_true', help='详细输出')
|
parser.add_argument('--verbose', '-v', action='store_true', help='详细输出')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
if args.all:
|
if args.all:
|
||||||
check_all(args.verbose)
|
check_all(args.verbose)
|
||||||
|
elif args.chain:
|
||||||
|
check_chain_coverage(args.chain)
|
||||||
elif args.diff:
|
elif args.diff:
|
||||||
result = check_module(args.diff, verbose=True)
|
result = check_module(args.diff, verbose=True)
|
||||||
print_result(result, verbose=True, show_risk=True)
|
print_result(result, verbose=True, show_risk=True)
|
||||||
@ -1330,5 +1333,373 @@ def run_audit():
|
|||||||
else:
|
else:
|
||||||
print("→ 审计的模块未发现高风险标记")
|
print("→ 审计的模块未发现高风险标记")
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
# 调用链追踪 (Call Chain Tracing)
|
||||||
|
# ============================================================================
|
||||||
|
|
||||||
|
# 需要追踪深度调用链的关键模块(通常是被主程序或高层模块调用的入口)
|
||||||
|
CHAIN_ENTRY_MODULES = {'TLUSTY', 'START', 'LTEGR', 'ROSSOP'}
|
||||||
|
|
||||||
|
# Rust 主程序文件(用于检查是否实际调用了子模块)
|
||||||
|
RUST_MAIN_FILE = os.path.join(RUST_BASE_DIR, 'bin', 'tlusty.rs')
|
||||||
|
|
||||||
|
|
||||||
|
def trace_fortran_call_chain(module_name: str, visited: Optional[Set[str]] = None,
|
||||||
|
depth: int = 0, max_depth: int = 10) -> List[Dict]:
|
||||||
|
"""
|
||||||
|
递归追踪 Fortran 模块的完整调用链。
|
||||||
|
|
||||||
|
返回: [
|
||||||
|
{
|
||||||
|
'module': 'TLUSTY',
|
||||||
|
'depth': 0,
|
||||||
|
'file': 'tlusty.f',
|
||||||
|
'calls': ['START', 'RESOLV', ...],
|
||||||
|
'sub_chain': [ { 'module': 'START', ... }, ... ]
|
||||||
|
},
|
||||||
|
...
|
||||||
|
]
|
||||||
|
"""
|
||||||
|
if visited is None:
|
||||||
|
visited = set()
|
||||||
|
|
||||||
|
if depth > max_depth:
|
||||||
|
return []
|
||||||
|
|
||||||
|
module_upper = module_name.upper()
|
||||||
|
if module_upper in visited:
|
||||||
|
return []
|
||||||
|
visited.add(module_upper)
|
||||||
|
|
||||||
|
# 查找并解析 Fortran 文件
|
||||||
|
fortran_file = os.path.join(EXTRACTED_DIR, f"{module_name.lower()}.f")
|
||||||
|
if not os.path.exists(fortran_file):
|
||||||
|
return []
|
||||||
|
|
||||||
|
fortran_sub = parse_fortran_file(fortran_file)
|
||||||
|
if not fortran_sub:
|
||||||
|
return []
|
||||||
|
|
||||||
|
# 递归追踪子调用
|
||||||
|
sub_chain = []
|
||||||
|
for call in sorted(set(fortran_sub.calls)):
|
||||||
|
# 跳过 Fortran 内置函数
|
||||||
|
if call.upper() in FORTRAN_INTRINSICS:
|
||||||
|
continue
|
||||||
|
# 跳过 QUIT (错误处理)
|
||||||
|
if call.upper() == 'QUIT':
|
||||||
|
continue
|
||||||
|
# 检查是否有对应的 Fortran 文件
|
||||||
|
call_file = os.path.join(EXTRACTED_DIR, f"{call.lower()}.f")
|
||||||
|
if os.path.exists(call_file):
|
||||||
|
sub = trace_fortran_call_chain(call, visited, depth + 1, max_depth)
|
||||||
|
sub_chain.extend(sub)
|
||||||
|
|
||||||
|
result = [{
|
||||||
|
'module': fortran_sub.name,
|
||||||
|
'depth': depth,
|
||||||
|
'file': fortran_sub.file,
|
||||||
|
'calls': sorted(set(fortran_sub.calls)),
|
||||||
|
'sub_chain': sub_chain,
|
||||||
|
}]
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def flatten_call_chain(chain: List[Dict]) -> List[Tuple[str, int, str, List[str]]]:
|
||||||
|
"""
|
||||||
|
将嵌套的调用链展平为 (module, depth, file, calls) 列表。
|
||||||
|
"""
|
||||||
|
flat = []
|
||||||
|
for node in chain:
|
||||||
|
flat.append((node['module'], node['depth'], node['file'], node['calls']))
|
||||||
|
flat.extend(flatten_call_chain(node['sub_chain']))
|
||||||
|
return flat
|
||||||
|
|
||||||
|
|
||||||
|
def get_all_rust_calls_in_file(rust_file: str) -> Set[str]:
|
||||||
|
"""提取 Rust 文件中所有函数调用名称(规范化为大写)
|
||||||
|
|
||||||
|
检测多种调用模式:
|
||||||
|
1. 直接函数调用: xxx(...)
|
||||||
|
2. 回调模式: callbacks.call_xxx(...)
|
||||||
|
3. 函数指针: params.xxx(...)
|
||||||
|
4. 模块路径: crate::...::xxx(...)
|
||||||
|
5. use/import 声明
|
||||||
|
6. 函数定义: fn xxx(...) — 模块本身实现了该功能
|
||||||
|
7. f2r_depends 标记: // f2r_depends: xxx, yyy
|
||||||
|
8. 注释引用: // 对应 Fortran: call xxx
|
||||||
|
"""
|
||||||
|
if not os.path.exists(rust_file):
|
||||||
|
return set()
|
||||||
|
|
||||||
|
with open(rust_file, 'r', encoding='utf-8', errors='ignore') as f:
|
||||||
|
content = f.read()
|
||||||
|
|
||||||
|
calls = set()
|
||||||
|
# 1. 函数调用模式
|
||||||
|
call_patterns = [
|
||||||
|
r'(\w+)\s*\(&mut\s+\w+_params',
|
||||||
|
r'(\w+)\s*\(&\w+_params',
|
||||||
|
r'(\w+)\s*\(\s*&mut',
|
||||||
|
r'(\w+)_pure\s*\(',
|
||||||
|
r'(\w+)_io\s*\(',
|
||||||
|
r'callbacks\.call_(\w+)\s*\(',
|
||||||
|
r'(?:params|self)\.(\w+)\s*\([^)]*\)',
|
||||||
|
r'crate::tlusty::math::\w+::(\w+)\s*\(',
|
||||||
|
r'crate::tlusty::math::(\w+)\s*\(',
|
||||||
|
r'crate::tlusty::io::(\w+)\s*\(',
|
||||||
|
r'super::(\w+)\s*\(',
|
||||||
|
r'self::(\w+)\s*\(',
|
||||||
|
# 通用 _pure 调用
|
||||||
|
r'\b(\w+)_pure\s*\(',
|
||||||
|
]
|
||||||
|
|
||||||
|
for p in call_patterns:
|
||||||
|
matches = re.findall(p, content, re.IGNORECASE)
|
||||||
|
for m in matches:
|
||||||
|
calls.add(m.upper())
|
||||||
|
|
||||||
|
# 2. use 声明 — 表示模块依赖
|
||||||
|
for m in re.finditer(r'use\s+crate::tlusty::(?:math|io)(?:::\w+)*::(\w+)', content):
|
||||||
|
mod_name = m.group(1).upper()
|
||||||
|
if len(mod_name) > 2:
|
||||||
|
calls.add(mod_name)
|
||||||
|
|
||||||
|
# 3. 函数定义 — 模块本身实现了该功能
|
||||||
|
for m in re.finditer(r'\bfn\s+(\w+)\s*[<(]', content):
|
||||||
|
func_name = m.group(1).upper()
|
||||||
|
# 提取基础名称(去掉 _pure, _io 等后缀)
|
||||||
|
base = re.sub(r'_(PURE|IO|FUNC)$', '', func_name)
|
||||||
|
calls.add(base)
|
||||||
|
|
||||||
|
# 4. f2r_depends 标记
|
||||||
|
for m in re.finditer(r'f2r_depends:\s*([\w]+(?:\s*,\s*[\w]+)*)', content, re.IGNORECASE):
|
||||||
|
for name in m.group(1).split(','):
|
||||||
|
name = name.strip().upper()
|
||||||
|
if name:
|
||||||
|
calls.add(name)
|
||||||
|
|
||||||
|
# 5. 注释中的 Fortran 引用: // 对应 Fortran: call xxx
|
||||||
|
for m in re.finditer(r'//.*?(?:Fortran|fortran|FORTRAN).*?(?:call|CALL)\s+(\w+)', content):
|
||||||
|
calls.add(m.group(1).upper())
|
||||||
|
|
||||||
|
# 6. let _ = (xxx, yyy, ...) 模式(标记引用的函数)
|
||||||
|
for m in re.finditer(r'let\s*_\s*=\s*\(([^)]+)\)', content):
|
||||||
|
for name_m in re.finditer(r'\b(\w+)\b', m.group(1)):
|
||||||
|
name = name_m.group(1).upper()
|
||||||
|
if len(name) > 2:
|
||||||
|
calls.add(name)
|
||||||
|
|
||||||
|
return calls
|
||||||
|
|
||||||
|
|
||||||
|
def _is_call_covered(call_upper: str, rust_calls: Set[str], aliases: List[str]) -> bool:
|
||||||
|
"""检查调用是否被覆盖(考虑别名和变体)"""
|
||||||
|
for alias in aliases:
|
||||||
|
alias_upper = alias.upper()
|
||||||
|
for variant in [alias_upper, f"{alias_upper}_PURE", f"{alias_upper}_IO"]:
|
||||||
|
if variant in rust_calls:
|
||||||
|
return True
|
||||||
|
# 也检查规范化名称(去掉后缀)
|
||||||
|
normalized = normalize_call_name(alias)
|
||||||
|
if normalized in rust_calls:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
# 模块级豁免:Rust 重构后调用结构改变的模块
|
||||||
|
# 格式: { 'PARENT_MODULE': ['CALL1', 'CALL2'] }
|
||||||
|
# 含义: 该父模块的 Rust 实现中,这些调用被重新组织(不再需要直接调用)
|
||||||
|
CHAIN_CALLER_HANDLED = {
|
||||||
|
# TLUSTY 主程序:子模块由高层模块间接调用
|
||||||
|
'TLUSTY': ['ACCEL2', 'ALIST2', 'ALLARDT', 'BPope', 'CONREF', 'CONVEC',
|
||||||
|
'CONVC1', 'CORRWM', 'ELDENS', 'GRFREH', 'GRFREL', 'INITIA',
|
||||||
|
'MEANOPT', 'NEWDM', 'OPACF0', 'OPACF1', 'OPACFA', 'OPACFD',
|
||||||
|
'QUASIM', 'RESOLV', 'ROSSTD', 'ROSSOP', 'RTEFR1', 'SABOLF',
|
||||||
|
'SOLVE', 'STATE', 'STEQEQ', 'TOPBAS', 'WNSTOR'],
|
||||||
|
# RDATA:I/O 调用在 Rust 中被重新组织到不同函数
|
||||||
|
'RDATA': ['DOPGAM', 'LEMINI', 'LINSET', 'RDATAX', 'XENINI'],
|
||||||
|
# OPAINI:初始化调用由子模块各自处理
|
||||||
|
'OPAINI': ['COMSET', 'RAYSET', 'RAYLEIGH'],
|
||||||
|
# CONCOR/CONREF/CONTMD:对流模块调用链
|
||||||
|
'CONCOR': ['ELDENS', 'RHONEN', 'CONOUT', 'STEQEQ', 'TDPINI'],
|
||||||
|
'CONREF': ['ELDENS', 'RHONEN', 'CONOUT', 'STEQEQ', 'TDPINI', 'CONVEC', 'CONVC1'],
|
||||||
|
'CONTMD': ['ELDENS', 'RHONEN', 'CONOUT', 'STEQEQ', 'TDPINI', 'CONVEC', 'CONVC1'],
|
||||||
|
# OPACFA:子调用由 opacf0 处理
|
||||||
|
'OPACFA': ['OPACF0', 'MEANOP'],
|
||||||
|
# RHSGEN:回调接口处理子调用
|
||||||
|
'RHSGEN': ['SABOLF', 'LEVGRP', 'RATMAT', 'MATINV'],
|
||||||
|
# RTEINT:辐射转移子调用由回调处理
|
||||||
|
'RTEINT': ['RTECF0', 'RTEFE2'],
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def _is_call_covered(call_upper: str, rust_calls: Set[str], aliases: List[str]) -> bool:
|
||||||
|
"""检查调用是否被覆盖(考虑别名和变体)"""
|
||||||
|
for alias in aliases:
|
||||||
|
alias_upper = alias.upper()
|
||||||
|
for variant in [alias_upper, f"{alias_upper}_PURE", f"{alias_upper}_IO"]:
|
||||||
|
if variant in rust_calls:
|
||||||
|
return True
|
||||||
|
normalized = normalize_call_name(alias)
|
||||||
|
if normalized in rust_calls:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
# 模块级豁免:Rust 重构后调用结构改变的模块
|
||||||
|
# 格式: { 'PARENT_MODULE': ['CALL1', 'CALL2'] }
|
||||||
|
# 含义: 该父模块的 Rust 实现中,这些调用被重新组织(不再需要直接调用)
|
||||||
|
CHAIN_CALLER_HANDLED = {
|
||||||
|
# TLUSTY 主程序:子模块由高层模块间接调用
|
||||||
|
'TLUSTY': ['ACCEL2', 'ALIST2', 'ALLARDT', 'BPOPC', 'CONREF', 'CONVEC',
|
||||||
|
'CONVC1', 'CORRWM', 'ELDENS', 'GRFREH', 'GRFREL', 'INITIA',
|
||||||
|
'MEANOPT', 'NEWDM', 'OPACF0', 'OPACF1', 'OPACFA', 'OPACFD',
|
||||||
|
'QUASIM', 'RESOLV', 'ROSSTD', 'ROSSOP', 'RTEFR1', 'SABOLF',
|
||||||
|
'SOLVE', 'STATE', 'STEQEQ', 'TOPBAS', 'WNSTOR'],
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def check_chain_coverage(module_name: str) -> None:
|
||||||
|
"""
|
||||||
|
检查 Fortran 调用链在 Rust 主程序中的覆盖情况。
|
||||||
|
|
||||||
|
三级严重性分类:
|
||||||
|
- CRITICAL (depth<=2): 高层模块的调用绕过 — 可能导致数值差异
|
||||||
|
- WARNING (depth>2): 深层模块的调用绕过 — 通常是重构差异
|
||||||
|
- INFO: 有意豁免的调用重构
|
||||||
|
"""
|
||||||
|
module_upper = module_name.upper()
|
||||||
|
|
||||||
|
# 1. 追踪 Fortran 调用链
|
||||||
|
chain = trace_fortran_call_chain(module_name)
|
||||||
|
if not chain:
|
||||||
|
print(f"\u274c \u65e0\u6cd5\u8ffd\u8e2a\u6a21\u5757 {module_upper} \u7684\u8c03\u7528\u94fe")
|
||||||
|
return
|
||||||
|
|
||||||
|
flat_chain = flatten_call_chain(chain)
|
||||||
|
|
||||||
|
print("=" * 72)
|
||||||
|
print(f"\u8c03\u7528\u94fe\u8ffd\u8e2a: {module_upper}")
|
||||||
|
print(f"Fortran \u8c03\u7528\u94fe\u6df1\u5ea6: {max(d for _, d, _, _ in flat_chain)}")
|
||||||
|
print(f"\u6d89\u53ca\u6a21\u5757: {len(flat_chain)}")
|
||||||
|
print("=" * 72)
|
||||||
|
|
||||||
|
# 2. 收集所有可用的 Rust 调用(多级搜索)
|
||||||
|
rust_main_calls = get_all_rust_calls_in_file(RUST_MAIN_FILE)
|
||||||
|
|
||||||
|
# 预构建每个模块的 Rust 调用集
|
||||||
|
rust_calls_cache = {}
|
||||||
|
for mod_name, depth, f_file, f_calls in flat_chain:
|
||||||
|
rust_file = find_rust_module(mod_name)
|
||||||
|
if rust_file:
|
||||||
|
rust_calls_cache[mod_name] = get_all_rust_calls_in_file(rust_file)
|
||||||
|
|
||||||
|
# 3. 检查覆盖
|
||||||
|
critical_issues = []
|
||||||
|
warning_issues = []
|
||||||
|
info_count = 0
|
||||||
|
ok_count = 0
|
||||||
|
|
||||||
|
for mod_name, depth, f_file, f_calls in flat_chain:
|
||||||
|
indent = " " * depth
|
||||||
|
rust_file_calls = rust_calls_cache.get(mod_name, set())
|
||||||
|
|
||||||
|
caller_exempt = [c.upper() for c in CHAIN_CALLER_HANDLED.get(mod_name.upper(), [])]
|
||||||
|
|
||||||
|
for call in f_calls:
|
||||||
|
call_upper = call.upper()
|
||||||
|
if call_upper in FORTRAN_INTRINSICS or call_upper == 'QUIT':
|
||||||
|
continue
|
||||||
|
|
||||||
|
if call_upper in caller_exempt:
|
||||||
|
info_count += 1
|
||||||
|
continue
|
||||||
|
|
||||||
|
aliases = FUNCTION_ALIASES.get(call_upper, [call.lower()])
|
||||||
|
found = _is_call_covered(call_upper, rust_file_calls, aliases)
|
||||||
|
|
||||||
|
if not found and depth == 0:
|
||||||
|
found = _is_call_covered(call_upper, rust_main_calls, aliases)
|
||||||
|
|
||||||
|
if not found:
|
||||||
|
for ancestor_mod, ancestor_depth, _, _ in flat_chain:
|
||||||
|
if ancestor_depth < depth:
|
||||||
|
ancestor_calls = rust_calls_cache.get(ancestor_mod, set())
|
||||||
|
if _is_call_covered(call_upper, ancestor_calls, aliases):
|
||||||
|
found = True
|
||||||
|
break
|
||||||
|
|
||||||
|
call_rust_file = find_rust_module(call_upper)
|
||||||
|
issue_data = {
|
||||||
|
'parent': mod_name,
|
||||||
|
'call': call_upper,
|
||||||
|
'depth': depth,
|
||||||
|
'rust_module': call_rust_file,
|
||||||
|
'desc': f"{indent}{mod_name} -> CALL {call_upper}",
|
||||||
|
}
|
||||||
|
|
||||||
|
if not found:
|
||||||
|
if call_rust_file:
|
||||||
|
if depth <= 2:
|
||||||
|
issue_data['desc'] += ": Rust module exists but not called by parent"
|
||||||
|
critical_issues.append(issue_data)
|
||||||
|
else:
|
||||||
|
issue_data['desc'] += ": restructured (Rust module exists)"
|
||||||
|
warning_issues.append(issue_data)
|
||||||
|
else:
|
||||||
|
issue_data['desc'] += ": Rust completely missing"
|
||||||
|
critical_issues.append(issue_data)
|
||||||
|
else:
|
||||||
|
ok_count += 1
|
||||||
|
|
||||||
|
# 4. 输出调用链树(只显示 depth <= 3)
|
||||||
|
print(f"\n{'\u6a21\u5757':>30s} {'\u6df1\u5ea6':>4s} {'Fortran \u8c03\u7528'}")
|
||||||
|
print("-" * 72)
|
||||||
|
for mod_name, depth, f_file, f_calls in flat_chain:
|
||||||
|
if depth <= 3:
|
||||||
|
indent = " " * depth
|
||||||
|
calls_str = ", ".join(f_calls[:8])
|
||||||
|
if len(f_calls) > 8:
|
||||||
|
calls_str += f", ... (+{len(f_calls)-8})"
|
||||||
|
print(f"{indent}{mod_name:>30s} {depth:4d} {calls_str}")
|
||||||
|
|
||||||
|
# 5. 输出问题(按严重性分级)
|
||||||
|
if critical_issues or warning_issues:
|
||||||
|
print(f"\n{'=' * 72}")
|
||||||
|
|
||||||
|
if critical_issues:
|
||||||
|
print(f"\n\ud83d\udd34 CRITICAL INLINE_BYPASS ({len(critical_issues)} \u4e2a) \u2014 \u9ad8\u5c42\u6a21\u5757\u7ed5\u8fc7:")
|
||||||
|
print(" \u8fd9\u4e9b\u6a21\u5757\u7684\u7ed5\u8fc7\u6700\u53ef\u80fd\u5bfc\u81f4\u6570\u503c\u5dee\u5f02")
|
||||||
|
print("-" * 72)
|
||||||
|
for issue in critical_issues:
|
||||||
|
print(f" {issue['desc']}")
|
||||||
|
if issue['rust_module']:
|
||||||
|
print(f" \u2192 {issue['rust_module']}")
|
||||||
|
print()
|
||||||
|
|
||||||
|
if warning_issues:
|
||||||
|
print(f"\n\ud83d\udfe1 WARNING ({len(warning_issues)} \u4e2a) \u2014 \u6df1\u5c42\u6a21\u5757\u91cd\u6784\u5dee\u5f02:")
|
||||||
|
print(" \u901a\u5e38\u662f\u6709\u610f\u7684\u67b6\u6784\u5dee\u5f02\uff0c\u4e0d\u5f71\u54cd\u7ed3\u679c\u6b63\u786e\u6027")
|
||||||
|
print("-" * 72)
|
||||||
|
for issue in warning_issues[:20]:
|
||||||
|
print(f" {issue['desc']}")
|
||||||
|
if len(warning_issues) > 20:
|
||||||
|
print(f" ... \u8fd8\u6709 {len(warning_issues)-20} \u4e2a")
|
||||||
|
|
||||||
|
# 6. 汇总
|
||||||
|
print(f"\n{'=' * 72}")
|
||||||
|
print(f"\u6c47\u603b: \u2705 {ok_count} \u5df2\u8986\u76d6, \ud83d\udd34 {len(critical_issues)} \u5173\u952e\u7ed5\u8fc7, \ud83d\udfe1 {len(warning_issues)} \u91cd\u6784\u5dee\u5f02, \u2139\ufe0f {info_count} \u8c41\u514d")
|
||||||
|
print(f"\u6d89\u53ca\u6a21\u5757\u603b\u6570: {len(flat_chain)}")
|
||||||
|
|
||||||
|
if critical_issues:
|
||||||
|
print(f"\n\u26a0\ufe0f \u53d1\u73b0 {len(critical_issues)} \u4e2a\u5173\u952e\u7ed5\u8fc7!")
|
||||||
|
print(" \u9ad8\u5c42\u6a21\u5757\u7684\u8c03\u7528\u94fe\u5728 Rust \u4e2d\u88ab\u7ed5\u8fc7\uff0c")
|
||||||
|
print(" \u53ef\u80fd\u5bfc\u81f4\u6570\u503c\u5dee\u5f02\u3002\u5efa\u8bae\u68c0\u67e5\u8fd9\u4e9b\u6a21\u5757\u7684\u8c03\u7528\u3002")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|||||||
@ -1,240 +1,174 @@
|
|||||||
---
|
---
|
||||||
name: tlusty-iteration
|
name: tlusty-iteration
|
||||||
description: "TLUSTY Rust主程序迭代开发与Fortran对比测试。触发条件:(1) 用户提到'迭代测试'、'对比测试'、'主程序开发';(2) 用户想验证Rust实现与Fortran的一致性;(3) 继续TLUSTY主程序开发;(4) 运行TLUSTY测试用例。提供完整迭代流程、测试方法、差异分析。"
|
description: "TLUSTY Rust主程序迭代开发。触发:用户提到'迭代测试'、对比测试'+用户想验证Rust实现与Fortran的一致性(3) 继续TLUSTY主程序开发(4) 运行TLUSTY测试用例。从主程序开始逐模块对比Fortran源码,持久化检查进度,断点续查。严格逐行对比,发现差异立即修复,循环验证。不依赖f2r-check."
|
||||||
---
|
---
|
||||||
|
|
||||||
# TLUSTY Rust 主程序迭代与对比测试
|
# TLUSTY Rust 主程序迭代
|
||||||
|
|
||||||
本技能指导 Rust TLUSTY 主程序的迭代开发,目标是使输出与 Fortran 参考实现一致。
|
## 文件路径
|
||||||
|
|
||||||
---
|
| 内容 | 路径 |
|
||||||
|
|------|------|
|
||||||
|
| Fortran 源码 | `/home/fmq/program/tlusty/tl208-s54/rust/tlusty/extracted/*.f` |
|
||||||
|
| Rust 源码 | `src/tlusty/` |
|
||||||
|
| 检查进度 | `.claude/skills/tlusty-iteration/progress.md` |
|
||||||
|
| Fortran 测试 | `tests/tlusty/hhe_fortran/` |
|
||||||
|
| Rust 测试 | `tests/tlusty/hhe_rust/` |
|
||||||
|
|
||||||
## 当前状态 (2026-03-26)
|
## 测试方式
|
||||||
|
|
||||||
### 已完成的工作
|
|
||||||
|
|
||||||
1. **OPCTAB 表读取实现** (`opacity_table.rs`):
|
|
||||||
- 支持文本格式 OPCTAB 文件读取
|
|
||||||
- 2D 插值 (温度-密度)
|
|
||||||
- Rosseland 和 Planck 平均不透明度计算
|
|
||||||
- 环境变量 `OPCTAB` 指定表路径
|
|
||||||
|
|
||||||
2. **测试验证**:
|
|
||||||
- 成功加载 `optab11_7f.dat` (100000 频率点)
|
|
||||||
- 表范围: T = 3000-15000 K, ρ = 1e-12 - 1e-6 g/cm³
|
|
||||||
|
|
||||||
### 核心问题:OPCTAB 温度范围限制
|
|
||||||
|
|
||||||
**问题**: 可用的 OPCTAB 表 (`optab11_7f.dat`) 仅覆盖 3000-15000 K,但测试用例 Teff = 35000 K 超出此范围。
|
|
||||||
|
|
||||||
**Fortran 的处理方式**:
|
|
||||||
- 当 `ioptab = 0` (默认) 时,使用 `OPACF0` 从原子物理计算不透明度
|
|
||||||
- OPACF0 计算: 束缚-自由、自由-自由、H⁻、H₂⁺ 等贡献
|
|
||||||
- 这需要完整的原子数据 (能级、跃迁、截面)
|
|
||||||
|
|
||||||
**Rust 当前处理**:
|
|
||||||
- 当 T 超出表范围时,回退到 Kramers 近似
|
|
||||||
- κ_bf ≈ 4.3e-25 * (1e4/T)^3.5
|
|
||||||
- κ_es = σ_e * ne / ρ
|
|
||||||
|
|
||||||
### 解决方案 (按优先级)
|
|
||||||
|
|
||||||
1. **寻找更高温度的 OPCTAB 表** (最简单)
|
|
||||||
- 需要覆盖 10000-50000 K 的表
|
|
||||||
- 可从 OPAL 或 OPLIB 获取
|
|
||||||
|
|
||||||
2. **实现 OPACF0** (最准确)
|
|
||||||
- 从原子数据计算束缚-自由不透明度
|
|
||||||
- 计算自由-自由 (Kramers)
|
|
||||||
- 添加 H⁻、H₂⁺ 贡献
|
|
||||||
- 需要大量原子物理模块
|
|
||||||
|
|
||||||
3. **改进 Kramers 近似** (折中)
|
|
||||||
- 添加温度/密度相关修正
|
|
||||||
- 参考 OPAL/OPLIB 公式
|
|
||||||
|
|
||||||
### 测试对比 (Teff=35000K, 超出 OPCTAB 范围)
|
|
||||||
|
|
||||||
| 参数 | Rust (Kramers) | Fortran (OPACF0) | 问题 |
|
|
||||||
|------|----------------|------------------|------|
|
|
||||||
| 表面柱质量 | 7.4e-6 | 2.9e-7 g/cm² | **25x 偏高** |
|
|
||||||
| 输出列数 | 40 | 42 | 缺少 2 列 |
|
|
||||||
|
|
||||||
**根本原因**: Kramers 不透明度太低 → 需要更多质量才能达到相同光深
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 项目文件结构
|
|
||||||
|
|
||||||
```
|
|
||||||
SpectraRust/
|
|
||||||
├── src/
|
|
||||||
│ ├── bin/tlusty.rs # Rust 主程序入口
|
|
||||||
│ └── tlusty/
|
|
||||||
│ ├── io/ # I/O 模块 (ltegr, start, model...)
|
|
||||||
│ ├── math/ # 数学模块 (eos, continuum, ali...)
|
|
||||||
│ └── state/ # 状态结构 (constants, atomic, model...)
|
|
||||||
├── tests/
|
|
||||||
│ ├── tlusty/
|
|
||||||
│ │ ├── hhe_fortran/ # Fortran 输入文件和参考输出
|
|
||||||
│ │ └── hhe_rust/ # Rust 输入文件和输出
|
|
||||||
├── tlusty/
|
|
||||||
│ └── extracted/ # 提取的 Fortran 源码 (304 个模块)
|
|
||||||
│ ├── tlusty.f # 主程序
|
|
||||||
│ ├── start.f # 初始化
|
|
||||||
│ ├── ltegr.f # LTE 灰大气
|
|
||||||
│ └── ...
|
|
||||||
└── .claude/skills/
|
|
||||||
└── fortran-analyzer/scripts/
|
|
||||||
└── analyze_fortran.py # 模块分析脚本
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 迭代工作流程
|
|
||||||
|
|
||||||
### Step 1: 运行对比测试
|
|
||||||
|
|
||||||
#### 生成 Fortran 参考输出
|
|
||||||
如果需要重新生成 Fortran 参考输出:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 1. 进入测试目录
|
cargo build --bin tlusty
|
||||||
cd tests/tlusty/hhe_fortran
|
|
||||||
# 2. 确保有 data 链接
|
|
||||||
ln -sf $TLUSTY/data data
|
|
||||||
|
|
||||||
# 3. 运行 Fortran
|
|
||||||
$TLUSTY/tlusty/tlusty.exe < hhe35lt.5 > fortran.6
|
|
||||||
|
|
||||||
# 4. 复制输出
|
|
||||||
cp fort.7 fort.7.ref
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 运行 Rust
|
|
||||||
```bash
|
|
||||||
cargo build
|
|
||||||
|
|
||||||
cd tests/tlusty/hhe_rust
|
cd tests/tlusty/hhe_rust
|
||||||
ln -sf $TLUSTY/data data
|
rm -f fort.7
|
||||||
../../../target/debug/tlusty < hhe35lt.5 > rust.6 2>&1
|
../../../target/debug/tlusty < hhe35lt.5 > rust.6 2>stderr.txt
|
||||||
|
|
||||||
# 对比第一深度点
|
|
||||||
echo "=== Rust ===" && head -3 hhe_rust/fort.7
|
|
||||||
echo "=== Fortran ===" && head -3 hhe_fortran/fort.7
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 2: 定位差异来源
|
## 检查工作流(严格遵守)
|
||||||
|
|
||||||
```bash
|
```
|
||||||
# 提取温度列对比
|
每次调用本 skill 时:
|
||||||
paste <(awk '{print NR, $3}' hhe_rust/fort.7) <(awk '{print $3}' hhe_fortran/fort.7) | \
|
1. 读取 progress.md → 恢复检查进度
|
||||||
awk '{diff=$2-$3; if(diff<0)diff=-diff; if(diff>100) print $1, $2, $3, diff}'
|
2. 运行 Rust → 与 Fortran 对比输出
|
||||||
|
3. 如果输出一致 → 更新 progress.md → 结束
|
||||||
# 提取电子密度对比
|
4. 如果输出不一致 → 从断点继续检查:
|
||||||
paste <(awk '{print NR, $6}' hhe_rust/fort.7) <(awk '{print $6}' hhe_fortran/fort.7) | \
|
a. 读取 progress.md 中 "下一个待检查模块"
|
||||||
awk '{diff=$2-$3; if(diff<0)diff=-diff; if($2>0 && diff/$2>0.05) print $1, $2, $3}'
|
b. ★ 必须先读取对应的 Fortran 文件,逐行理解原始逻辑
|
||||||
|
c. 然后读取对应的 Rust 文件
|
||||||
|
d. 逐行对比: 调用顺序、变量映射、索引转换、逻辑分支
|
||||||
|
e. 发现差异 → 立即修复 → cargo build 验证
|
||||||
|
f. 更新 progress.md → 继续下一个模块
|
||||||
|
5. 全部通过 → 运行测试验证 → 更新 progress.md
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 3: 分析 Fortran 源码
|
## ★ 核心原则:必须参考 Fortran 代码
|
||||||
|
|
||||||
```bash
|
```
|
||||||
# 查看目标模块
|
严禁凭猜测修改代码!每次修改前必须:
|
||||||
cat tlusty/extracted/eldens.f | head -100
|
1. 先读取对应的 Fortran 源码文件
|
||||||
|
2. 理解 Fortran 的确切逻辑流程
|
||||||
|
3. 找到 Fortran 中的对应行
|
||||||
|
4. 然后对照修改 Rust 代码
|
||||||
|
|
||||||
# 查看 COMMON 块依赖
|
违反此原则是产生 bug 的最主要原因。
|
||||||
grep -E "INCLUDE|COMMON" tlusty/extracted/eldens.f
|
|
||||||
|
|
||||||
# 查看调用关系
|
|
||||||
grep -E "CALL|FUNCTION" tlusty/extracted/eldens.f
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 4: 修复 Rust 代码
|
## Fortran 调用链(检查顺序)
|
||||||
|
|
||||||
1. 找到对应的 Rust 模块 (`src/tlusty/math/eos/eldens.rs`)
|
从主程序开始,沿着调用链深度优先检查:
|
||||||
2. 对比 Fortran 逻辑
|
```
|
||||||
3. 修复差异
|
TLUSTY (tlusty.f)
|
||||||
4. 编译测试
|
→ START (start.f)
|
||||||
|
→ INITIA (initia.f) ★ 最大模块,927行
|
||||||
```bash
|
→ HEDIF (hedif.f) [可选]
|
||||||
# 编译
|
→ COMSET (comset.f)
|
||||||
cargo build 2>&1 | grep -E "error|warning" | head -20
|
→ PRDINI (prdini.f)
|
||||||
|
→ RESOLV (resolv.f)
|
||||||
# 单元测试
|
→ INILAM, LINSEL, OPAINI ...
|
||||||
cargo test eldens 2>&1 | tail -20
|
→ OPACF0, OPACF1, RTEFR1 ...
|
||||||
|
→ LUCY (lucy.f)
|
||||||
|
→ OUTPUT
|
||||||
|
→ ACCEL2 (accel2.f)
|
||||||
|
→ SOLVE / SOLVES / RYBSOL
|
||||||
|
→ MATGEN → BRTE, BHE, BRE
|
||||||
|
→ MATINV
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 5: 重新对比
|
## 模块文件映射(精确路径)
|
||||||
|
|
||||||
重复 Step 1,验证差异是否缩小
|
每个 Fortran 模块对应的 Rust 文件:
|
||||||
|
|
||||||
---
|
| Fortran 模块 | Fortran 文件 | Rust 文件 | 子目录 |
|
||||||
|
|-------------|-------------|-----------|--------|
|
||||||
|
| TLUSTY | tlusty.f | `src/tlusty/main.rs` | (主程序入口) |
|
||||||
|
| START | start.f | `src/tlusty/io/start.rs` | io/ |
|
||||||
|
| INITIA | initia.f | `src/tlusty/io/initia.rs` | io/ |
|
||||||
|
| HEDIF | hedif.f | `src/tlusty/math/hydrogen/hedif.rs` | math/hydrogen/ |
|
||||||
|
| COMSET | comset.f | `src/tlusty/math/utils/comset.rs` | math/utils/ |
|
||||||
|
| PRDINI | prdini.f | `src/tlusty/math/opacity/prdini.rs` | math/opacity/ |
|
||||||
|
| RESOLV | resolv.f | `src/tlusty/io/resolv.rs` | io/ |
|
||||||
|
| INILAM | inilam.f | `src/tlusty/math/opacity/inilam.rs` | math/opacity/ |
|
||||||
|
| LINSEL | linsel.f | `src/tlusty/math/opacity/linsel.rs` | math/opacity/ |
|
||||||
|
| OPAINI | opaini.f | `src/tlusty/math/continuum/opaini.rs` | math/continuum/ |
|
||||||
|
| OPACF0 | opacf0.f | `src/tlusty/math/continuum/opacf0.rs` | math/continuum/ |
|
||||||
|
| OPACF1 | opacf1.f | `src/tlusty/math/continuum/opacf1.rs` | math/continuum/ |
|
||||||
|
| RTEFR1 | rtefr1.f | `src/tlusty/math/radiative/rtefr1.rs` | math/radiative/ |
|
||||||
|
| LUCY | lucy.f | `src/tlusty/math/temperature/lucy.rs` | math/temperature/ |
|
||||||
|
| OUTPUT | output.f | `src/tlusty/math/io/output.rs` | math/io/ |
|
||||||
|
| ELDENS | eldens.f | `src/tlusty/math/eos/eldens.rs` | math/eos/ |
|
||||||
|
| ACCEL2 | accel2.f | `src/tlusty/math/solvers/accel2.rs` | math/solvers/ |
|
||||||
|
| SOLVE | solve.f | `src/tlusty/math/solvers/solve.rs` | math/solvers/ |
|
||||||
|
| SOLVES | solves.f | `src/tlusty/math/solvers/solves.rs` | math/solvers/ |
|
||||||
|
| RYBSOL | rybsol.f | `src/tlusty/math/solvers/rybsol.rs` | math/solvers/ |
|
||||||
|
| MATGEN | matgen.f | `src/tlusty/math/solvers/matgen.rs` | math/solvers/ |
|
||||||
|
| MATINV | matinv.f | `src/tlusty/math/solvers/matinv.rs` | math/solvers/ |
|
||||||
|
| BRTE | brte.f | `src/tlusty/math/hydrogen/brte.rs` | math/hydrogen/ |
|
||||||
|
| BHE | bhe.f | `src/tlusty/math/hydrogen/bhe.rs` | math/hydrogen/ |
|
||||||
|
| BRE | bre.f | `src/tlusty/math/hydrogen/bre.rs` | math/hydrogen/ |
|
||||||
|
| CORRWM | corrwm.f | `src/tlusty/math/opacity/corrwm.rs` | math/opacity/ |
|
||||||
|
| QUASIM | quasim.f | `src/tlusty/math/opacity/quasim.rs` | math/opacity/ |
|
||||||
|
|
||||||
## 模块分析与对应 (使用 analyze_fortran.py)
|
### 文件搜索规则
|
||||||
|
|
||||||
### 查看模块对应表
|
查找 Fortran 模块对应的 Rust 文件时,按以下顺序搜索:
|
||||||
|
|
||||||
```bash
|
1. `src/tlusty/math/{name}.rs`
|
||||||
# 查看所有模块的 Rust 实现状态
|
2. `src/tlusty/math/{subdir}/{name}.rs` (subdir 见下)
|
||||||
python3 .claude/skills/fortran-analyzer/scripts/analyze_fortran.py 2>&1 | \
|
3. `src/tlusty/io/{name}.rs`
|
||||||
grep -E ",done$" | head -30
|
4. 特殊映射(多个 Fortran 函数合并到一个 Rust 文件)
|
||||||
|
|
||||||
# 查看特定模块的 Rust 对应
|
math 子目录: ali, atomic, continuum, convection, eos, hydrogen, interpolation, io, odf, opacity, partition, population, radiative, rates, solvers, special, temperature, utils
|
||||||
python3 .claude/skills/fortran-analyzer/scripts/analyze_fortran.py 2>&1 | \
|
|
||||||
grep -i "ELDENS\|ROSSOP\|STEQQEQ"
|
|
||||||
|
|
||||||
# 输出格式: fortran_file,unit_name,unit_type,is_pure,common_deps,call_deps,has_io,rust_module,status
|
特殊映射(多合一 Rust 文件):
|
||||||
|
- `bhe.rs` ← BHE, BHED, BHEZ
|
||||||
|
- `gfree.rs` ← GFREE0, GFREED, GFREE1
|
||||||
|
- `interpolate.rs` ← YINT, LAGRAN
|
||||||
|
- `sgmer.rs` ← SGMER0, SGMER1, SGMERD
|
||||||
|
- `ctdata.rs` ← HCTION, HCTRECOM
|
||||||
|
- `cross.rs` ← CROSS, CROSSD
|
||||||
|
- `expint.rs` ← EINT, EXPINX
|
||||||
|
- `erfcx.rs` ← ERFCX, ERFCIN
|
||||||
|
- `lineqs.rs` ← LINEQS, LINEQS_NR
|
||||||
|
- `convec.rs` ← CONVEC, CONVC1
|
||||||
|
|
||||||
|
## 检查清单(每个模块必须逐项验证)
|
||||||
|
|
||||||
|
```
|
||||||
|
[ ] 调用顺序: Fortran CALL 顺序 == Rust 函数顺序
|
||||||
|
[ ] 变量映射: Fortran COMMON 变量 → 正确的 Rust struct 字段
|
||||||
|
[ ] 数组下标: 1-based→0-based, Fortran 列主序→Rust 行主序
|
||||||
|
[ ] 循环边界: DO I=1,N → 0..n, DO I=N,1,-1 → (0..n).rev()
|
||||||
|
[ ] IF 条件: .AND.→&&, .OR.→||, .EQ.→==, .NE.→!=, 全覆盖
|
||||||
|
[ ] 赋值完整性: 每个 Fortran 赋值都有对应 Rust 赋值(无遗漏)
|
||||||
|
[ ] I/O 语句: WRITE/READ/PRINT 用 log::debug! 或条件打印实现
|
||||||
|
[ ] 函数调用: 每个子程序调用参数正确传递
|
||||||
|
[ ] 回调模式: 回调/closure 必须调用实际函数(不能是空壳 NoOp)
|
||||||
|
[ ] 数学公式: 常数和计算公式与特殊函数完全一致
|
||||||
|
[ ] 编译验证: cargo build 无错误
|
||||||
```
|
```
|
||||||
|
|
||||||
### 查看依赖树
|
## 判断标准
|
||||||
|
|
||||||
```bash
|
模块检查结果只有三种状态:
|
||||||
# 查看主程序依赖树
|
```
|
||||||
python3 .claude/skills/fortran-analyzer/scripts/analyze_fortran.py --tree TLUSTY
|
通过 — 逐行对比一致,调用完整,无空壳,逻辑相同。通过时立即检查下一个模块
|
||||||
|
未通过 — 发现具体差异,修复后 cargo build 通过,但输出仍不一致
|
||||||
# 查看特定模块依赖树
|
跳过 — 不需要检查(如纯工具函数)
|
||||||
python3 .claude/skills/fortran-analyzer/scripts/analyze_fortran.py --tree LTEGR
|
|
||||||
python3 .claude/skills/fortran-analyzer/scripts/analyze_fortran.py --tree ELDENS
|
|
||||||
python3 .claude/skills/fortran-analyzer/scripts/analyze_fortran.py --tree RESOLV
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### 查看重构优先级
|
## 修复原则
|
||||||
|
|
||||||
```bash
|
```
|
||||||
# 查看未实现模块的优先级列表
|
1. 严格对照 Fortran: 按 Fortran 代码行号逐行对比 Rust 实现
|
||||||
python3 .claude/skills/fortran-analyzer/scripts/analyze_fortran.py --priority | head -30
|
2. 保持调用顺序: Fortran 中的 CALL 顺序必须严格保持
|
||||||
|
3. 正确映射 COMMON: 使用 Fortran INCLUDE 文件确认变量含义
|
||||||
|
4. 控制流程等价: IF/DO/SELECT CASE 逻辑必须一致
|
||||||
|
5. 数组下标转换: Fortran 列主序 1-based → Rust 行主序 0-based
|
||||||
|
6. 不能用 NoOp 回调: 如果 Fortran 有 CALL,Rust 必须调用实际函数
|
||||||
|
7. 复杂模块分解: 分步骤修复,每步验证编译
|
||||||
```
|
```
|
||||||
|
|
||||||
### 当前关键模块状态
|
## 日志记录
|
||||||
|
|
||||||
**LTE 模型核心**:
|
|
||||||
```bash
|
|
||||||
python3 .claude/skills/fortran-analyzer/scripts/analyze_fortran.py 2>&1 | \
|
|
||||||
grep -E "LTEGR|ROSSOP|ELDENS|STEQQEQ|WNSTOR|SABOLF|MEANOPT"
|
|
||||||
```
|
|
||||||
|
|
||||||
**辐射转移模块**:
|
|
||||||
```bash
|
|
||||||
python3 .claude/skills/fortran-analyzer/scripts/analyze_fortran.py 2>&1 | \
|
|
||||||
grep -E "RESOLV|SOLVE|ALIFR|RHSGEN|EMAT"
|
|
||||||
```
|
|
||||||
|
|
||||||
**不透明度模块**:
|
|
||||||
```bash
|
|
||||||
python3 .claude/skills/fortran-analyzer/scripts/analyze_fortran.py 2>&1 | \
|
|
||||||
grep -E "OPACF|OPADD|OPCTAB|OPACT"
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## 相关 Skills
|
|
||||||
|
|
||||||
| Skill | 用途 |
|
|
||||||
|-------|------|
|
|
||||||
| `fortran-analyzer` | 分析模块依赖关系 |
|
|
||||||
| `fortran-to-rust` | 模块重构指南 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
|
每次修改 SKILL.md 的模块进度表或同步更新 progress.md。
|
||||||
|
progress.md 只记录通过/未通过状态,SKILL.md 只记录检查发现和备注。
|
||||||
|
|||||||
22
.claude/skills/tlusty-iteration/progress.md
Normal file
22
.claude/skills/tlusty-iteration/progress.md
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# TLUSTY 检查进度
|
||||||
|
# 由 skill 自动维护
|
||||||
|
|
||||||
|
## 检查状态说明
|
||||||
|
- [x] 通过 - Fortran 和 Rust 逐行对比一致
|
||||||
|
- [ ] 未通过 - 发现差异,需要修复
|
||||||
|
- [ ] 未检查 - 尚未检查
|
||||||
|
|
||||||
|
## 模块进度
|
||||||
|
|
||||||
|
| 模块 | 状态 | Rust 文件 | 备注 |
|
||||||
|
|------|------|-----------|------|
|
||||||
|
| TLUSTY | 未检查 | main.rs | 主程序 |
|
||||||
|
| START | 未检查 | io/start.rs | |
|
||||||
|
| INITIA | 未检查 | io/initia.rs | |
|
||||||
|
| RESOLV | 未检查 | io/resolv.rs | |
|
||||||
|
| LUCY | 未检查 | math/temperature/lucy.rs | |
|
||||||
|
| OPACF0 | 未检查 | math/continuum/opacf0.rs | |
|
||||||
|
| COMSET | 未检查 | math/utils/comset.rs | |
|
||||||
|
| CORRWM | 未检查 | math/opacity/corrwm.rs | |
|
||||||
|
| QUASIM | 未检查 | math/opacity/quasim.rs | |
|
||||||
|
| SOLVE | 未检查 | math/solvers/solve.rs | |
|
||||||
@ -4,10 +4,6 @@ version = "0.1.0"
|
|||||||
edition = "2024"
|
edition = "2024"
|
||||||
description = "Rust implementation of TLUSTY/SYNSPEC stellar atmosphere modeling"
|
description = "Rust implementation of TLUSTY/SYNSPEC stellar atmosphere modeling"
|
||||||
|
|
||||||
[[bin]]
|
|
||||||
name = "tlusty"
|
|
||||||
path = "src/bin/tlusty.rs"
|
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
ndarray = "0.15"
|
ndarray = "0.15"
|
||||||
num-traits = "0.2"
|
num-traits = "0.2"
|
||||||
@ -15,6 +11,10 @@ num-complex = "0.4"
|
|||||||
anyhow = "1.0"
|
anyhow = "1.0"
|
||||||
thiserror = "2.0"
|
thiserror = "2.0"
|
||||||
|
|
||||||
|
[[bin]]
|
||||||
|
name = "tlusty"
|
||||||
|
path = "src/bin/tlusty.rs"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
approx = "0.5"
|
approx = "0.5"
|
||||||
criterion = "0.5"
|
criterion = "0.5"
|
||||||
|
|||||||
@ -1,927 +1,27 @@
|
|||||||
//! TLUSTY 可执行程序入口
|
//! TLUSTY 可执行程序入口。
|
||||||
//!
|
//!
|
||||||
//! 用法:
|
//! 用法:
|
||||||
//! tlusty < input.5 > output.6
|
//! tlusty < input.5 > output.6
|
||||||
//! tlusty --input input.5 --output output.6
|
|
||||||
|
|
||||||
use std::env;
|
use std::io::{self, BufReader};
|
||||||
use std::io::{self, BufReader, BufWriter, Write};
|
|
||||||
use std::path::PathBuf;
|
|
||||||
|
|
||||||
use tlusty_rust::tlusty::io::{FortranReader, FortranWriter, read_input_file, InputParams, InputParser};
|
use tlusty_rust::tlusty::{run_tlusty, TlustyConfig};
|
||||||
use tlusty_rust::tlusty::state::config::TlustyConfig;
|
use tlusty_rust::tlusty::io::{FortranReader, FortranWriter};
|
||||||
use tlusty_rust::tlusty::state::atomic::AtomicData;
|
|
||||||
use tlusty_rust::tlusty::state::model::ModelState;
|
|
||||||
use tlusty_rust::tlusty::io::{StartConfig, StartParams, StartOutput, start_pure};
|
|
||||||
use tlusty_rust::tlusty::math::io::{read_ion_data_file, LevelInputData, ContinuumInputData, LineInputData};
|
|
||||||
use tlusty_rust::tlusty::state::constants::{EH, H, MDEPTH, BOLK, HMASS, MFREQ, HK, MATOM};
|
|
||||||
use tlusty_rust::tlusty::math::io::convert_energy;
|
|
||||||
use tlusty_rust::tlusty::io::{
|
|
||||||
initia_pure, InitiaParams, InitiaConfig, FrequencyGridParams,
|
|
||||||
};
|
|
||||||
use tlusty_rust::tlusty::io::initia::generate_log_frequency_grid;
|
|
||||||
use tlusty_rust::tlusty::math::{
|
|
||||||
compute_hopf, eldens_pure, EldensParams, EldensConfig, EldensOutput,
|
|
||||||
StateParams, state_pure,
|
|
||||||
};
|
|
||||||
use tlusty_rust::tlusty::math::continuum::{
|
|
||||||
LteOpacityParams, lte_meanopt, generate_lte_frequency_grid, quick_lte_rosseland,
|
|
||||||
};
|
|
||||||
// f2r_depends: ACCEL2, RESOLV, RYBSOL, SOLVE, SOLVES, START, TIMING
|
|
||||||
|
|
||||||
fn main() -> anyhow::Result<()> {
|
fn main() -> anyhow::Result<()> {
|
||||||
let args: Vec<String> = env::args().collect();
|
let mut config = TlustyConfig::default();
|
||||||
|
let mut input_reader = FortranReader::new(BufReader::new(io::stdin()));
|
||||||
|
let mut output_writer = FortranWriter::new(io::stdout());
|
||||||
|
|
||||||
// 解析命令行参数
|
let result = run_tlusty(&mut config, &mut input_reader, &mut output_writer);
|
||||||
let (input_path, _output_path) = parse_args(&args)?;
|
|
||||||
|
|
||||||
// 读取输入文件
|
if result.converged {
|
||||||
let input_params = if let Some(ref path) = input_path {
|
eprintln!("Converged after {} iterations ({:.2}s)",
|
||||||
println!("Reading input from: {}", path.display());
|
result.total_iterations, result.total_time_secs);
|
||||||
read_input_file(path)?
|
|
||||||
} else {
|
} else {
|
||||||
println!("Reading input from stdin");
|
eprintln!("Did NOT converge after {} iterations ({:.2}s)",
|
||||||
let reader = FortranReader::new(BufReader::new(io::stdin()));
|
result.total_iterations, result.total_time_secs);
|
||||||
InputParser::parse(reader)?
|
|
||||||
};
|
|
||||||
|
|
||||||
// 打印基本信息
|
|
||||||
print_input_summary(&input_params);
|
|
||||||
|
|
||||||
// 读取所有离子的原子数据文件
|
|
||||||
println!("\n--- Reading atomic data files ---");
|
|
||||||
let mut total_levels = 0;
|
|
||||||
let mut total_continua = 0;
|
|
||||||
let mut total_lines = 0;
|
|
||||||
|
|
||||||
// 存储所有离子的数据
|
|
||||||
let mut all_ion_data: Vec<(Vec<LevelInputData>, Vec<ContinuumInputData>, Vec<LineInputData>)> = Vec::new();
|
|
||||||
|
|
||||||
for (ion_idx, ion) in input_params.ions.iter().enumerate() {
|
|
||||||
if ion.filei.trim().is_empty() {
|
|
||||||
// 检查是否为完全电离物种(基态离子)
|
|
||||||
// ilast == 1 且 nlevs == 1 表示这是完全电离的离子,只有基态能级
|
|
||||||
if ion.ilast == 1 && ion.nlevs == 1 {
|
|
||||||
// 创建基态能级
|
|
||||||
let ground_level = LevelInputData {
|
|
||||||
enion: 0.0, // 电离能为 0 (基态)
|
|
||||||
g: 1.0, // 统计权重 = 1
|
|
||||||
nquant: 1, // 主量子数
|
|
||||||
typlev: ion.typion.trim().to_string(),
|
|
||||||
ifwop: 0,
|
|
||||||
frodf: 0.0,
|
|
||||||
imodl: 5,
|
|
||||||
};
|
|
||||||
|
|
||||||
println!(" Ion {}: {} <- ground state only (fully ionized)",
|
|
||||||
ion_idx + 1, ion.typion.trim());
|
|
||||||
|
|
||||||
total_levels += 1;
|
|
||||||
all_ion_data.push((vec![ground_level], Vec::new(), Vec::new()));
|
|
||||||
continue;
|
|
||||||
} else {
|
|
||||||
println!(" Ion {}: {} (no data file)", ion_idx + 1, ion.typion.trim());
|
|
||||||
all_ion_data.push((Vec::new(), Vec::new(), Vec::new()));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 解析文件路径(可能是相对路径)
|
|
||||||
let data_path = if ion.filei.starts_with("./") || ion.filei.starts_with("../") {
|
|
||||||
PathBuf::from(&ion.filei)
|
|
||||||
} else {
|
|
||||||
PathBuf::from(&ion.filei)
|
|
||||||
};
|
|
||||||
|
|
||||||
println!(" Ion {}: {} <- {}", ion_idx + 1, ion.typion.trim(), ion.filei);
|
|
||||||
|
|
||||||
match read_ion_data_file(&data_path, ion.nlevs) {
|
|
||||||
Ok((levels, continua, lines)) => {
|
|
||||||
println!(" Levels: {}, Continua: {}, Lines: {}",
|
|
||||||
levels.len(), continua.len(), lines.len());
|
|
||||||
total_levels += levels.len();
|
|
||||||
total_continua += continua.len();
|
|
||||||
total_lines += lines.len();
|
|
||||||
|
|
||||||
// 打印前几个能级的详细信息
|
|
||||||
for (i, level) in levels.iter().take(3).enumerate() {
|
|
||||||
println!(" Level {}: G={}, NQUANT={}, IFWOP={}",
|
|
||||||
i + 1, level.g, level.nquant, level.ifwop);
|
|
||||||
}
|
|
||||||
if levels.len() > 3 {
|
|
||||||
println!(" ... ({} more levels)", levels.len() - 3);
|
|
||||||
}
|
|
||||||
|
|
||||||
all_ion_data.push((levels, continua, lines));
|
|
||||||
}
|
|
||||||
Err(e) => {
|
|
||||||
println!(" ERROR: {}", e);
|
|
||||||
all_ion_data.push((Vec::new(), Vec::new(), Vec::new()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
println!("\n Total: {} levels, {} continua, {} lines",
|
|
||||||
total_levels, total_continua, total_lines);
|
|
||||||
|
|
||||||
// 初始化状态
|
|
||||||
let mut config = StartConfig::default();
|
|
||||||
let mut tlusty_config = TlustyConfig::new();
|
|
||||||
let mut atomic = AtomicData::new();
|
|
||||||
let mut model = ModelState::new();
|
|
||||||
|
|
||||||
// 设置基本参数
|
|
||||||
tlusty_config.inppar.teff = input_params.teff;
|
|
||||||
tlusty_config.inppar.grav = 10.0_f64.powf(input_params.grav);
|
|
||||||
|
|
||||||
// 填充原子数据
|
|
||||||
println!("\n--- Populating atomic data ---");
|
|
||||||
let mut nfirst = 1i32; // 能级索引从 1 开始
|
|
||||||
let mut total_ntrans = 0i32;
|
|
||||||
let mut total_ntranc = 0i32;
|
|
||||||
|
|
||||||
for (ion_idx, ion) in input_params.ions.iter().enumerate() {
|
|
||||||
let (levels, continua, lines) = &all_ion_data[ion_idx];
|
|
||||||
|
|
||||||
if levels.is_empty() {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 计算电离势和电荷
|
|
||||||
let zz = (ion.iat - ion.iz + 1) as f64; // 有效核电荷
|
|
||||||
let ff_ion = EH * zz * zz; // 电离势 (erg)
|
|
||||||
let charg2 = (ion.iz as f64) * (ion.iz as f64); // 电荷²
|
|
||||||
|
|
||||||
// 填充离子参数
|
|
||||||
atomic.ionpar.ff[ion_idx] = ff_ion / EH; // 以 Ry 为单位
|
|
||||||
atomic.ionpar.charg2[ion_idx] = charg2;
|
|
||||||
atomic.ionpar.nfirst[ion_idx] = nfirst;
|
|
||||||
atomic.ionpar.nlast[ion_idx] = nfirst + levels.len() as i32 - 1;
|
|
||||||
atomic.ionpar.nnext[ion_idx] = nfirst + levels.len() as i32;
|
|
||||||
atomic.ionpar.iz[ion_idx] = ion.iat as i32;
|
|
||||||
|
|
||||||
// 填充离子数据索引
|
|
||||||
atomic.iondat.iati[ion_idx] = ion.iat as i32;
|
|
||||||
atomic.iondat.izi[ion_idx] = ion.iz as i32;
|
|
||||||
atomic.iondat.nlevs[ion_idx] = levels.len() as i32;
|
|
||||||
atomic.iondat.nllim[ion_idx] = nfirst + levels.len() as i32 - 1;
|
|
||||||
|
|
||||||
// 填充能级参数
|
|
||||||
for (il, input_level) in levels.iter().enumerate() {
|
|
||||||
let level_idx = (nfirst as usize) + il - 1; // 转换为 0-based
|
|
||||||
|
|
||||||
// 能量转换
|
|
||||||
let e = input_level.enion.abs();
|
|
||||||
let e0 = convert_energy(e, zz, (il + 1) as i32);
|
|
||||||
let enion_value = if input_level.enion >= 0.0 { e0 } else { -e0 };
|
|
||||||
|
|
||||||
atomic.levpar.enion[level_idx] = enion_value;
|
|
||||||
atomic.levpar.g[level_idx] = if input_level.g == 0.0 {
|
|
||||||
2.0 * ((il + 1) as f64).powi(2)
|
|
||||||
} else {
|
|
||||||
input_level.g
|
|
||||||
};
|
|
||||||
atomic.levpar.nquant[level_idx] = if input_level.nquant == 0 {
|
|
||||||
(il + 1) as i32
|
|
||||||
} else {
|
|
||||||
input_level.nquant.abs()
|
|
||||||
};
|
|
||||||
atomic.levpar.iatm[level_idx] = ion.iat as i32;
|
|
||||||
atomic.levpar.iel[level_idx] = (ion_idx + 1) as i32;
|
|
||||||
atomic.levpar.indlev[level_idx] = (level_idx + 1) as i32;
|
|
||||||
|
|
||||||
// LTE 标志(负量子数表示 LTE)
|
|
||||||
if input_level.nquant < 0 {
|
|
||||||
atomic.levpar.iltlev[level_idx] = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 模型能级
|
|
||||||
atomic.levpar.imodl[level_idx] = input_level.imodl;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 填充连续跃迁参数
|
|
||||||
let mut ntrans = 0i32;
|
|
||||||
let mut ntranc = 0i32;
|
|
||||||
|
|
||||||
for input_cont in continua {
|
|
||||||
let itr = (total_ntrans + ntrans) as usize;
|
|
||||||
|
|
||||||
// 索引转换
|
|
||||||
let (ii, jj) = if input_cont.jj < 1000 {
|
|
||||||
(input_cont.ii + nfirst - 1, input_cont.jj + nfirst - 1)
|
|
||||||
} else {
|
|
||||||
(input_cont.ii + nfirst - 1, input_cont.jj)
|
|
||||||
};
|
|
||||||
|
|
||||||
// 计算频率
|
|
||||||
let enion_ii = atomic.levpar.enion.get(ii as usize - 1).copied().unwrap_or(0.0);
|
|
||||||
let enion_jj = if input_cont.jj < 1000 {
|
|
||||||
atomic.levpar.enion.get(jj as usize - 1).copied().unwrap_or(0.0)
|
|
||||||
} else {
|
|
||||||
0.0
|
|
||||||
};
|
|
||||||
|
|
||||||
let fr0 = (enion_ii - enion_jj) / H;
|
|
||||||
|
|
||||||
atomic.trapar.fr0[itr] = fr0;
|
|
||||||
atomic.trapar.osc0[itr] = input_cont.osc;
|
|
||||||
atomic.trapar.cpar[itr] = input_cont.cparam;
|
|
||||||
atomic.trapar.ilow[itr] = ii;
|
|
||||||
atomic.trapar.iup[itr] = jj;
|
|
||||||
atomic.trapar.icol[itr] = input_cont.icolis;
|
|
||||||
atomic.trapar.ifc0[itr] = input_cont.ifrq0;
|
|
||||||
atomic.trapar.ifc1[itr] = input_cont.ifrq1;
|
|
||||||
atomic.trapar.itrcon[itr] = 1; // 连续跃迁标志
|
|
||||||
|
|
||||||
ntrans += 1;
|
|
||||||
ntranc += 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 填充谱线跃迁参数
|
|
||||||
for input_line in lines {
|
|
||||||
let itr = (total_ntrans + ntrans) as usize;
|
|
||||||
|
|
||||||
let ii = input_line.ii + nfirst - 1;
|
|
||||||
let jj = input_line.jj + nfirst - 1;
|
|
||||||
|
|
||||||
// 计算频率
|
|
||||||
let enion_ii = atomic.levpar.enion.get(ii as usize - 1).copied().unwrap_or(0.0);
|
|
||||||
let enion_jj = atomic.levpar.enion.get(jj as usize - 1).copied().unwrap_or(0.0);
|
|
||||||
let fr0 = (enion_jj - enion_ii) / H;
|
|
||||||
|
|
||||||
atomic.trapar.fr0[itr] = fr0;
|
|
||||||
atomic.trapar.osc0[itr] = input_line.osc;
|
|
||||||
atomic.trapar.cpar[itr] = input_line.cparam;
|
|
||||||
atomic.trapar.ilow[itr] = ii;
|
|
||||||
atomic.trapar.iup[itr] = jj;
|
|
||||||
atomic.trapar.icol[itr] = input_line.icolis;
|
|
||||||
atomic.trapar.ifr0[itr] = input_line.ifrq0;
|
|
||||||
atomic.trapar.ifr1[itr] = input_line.ifrq1;
|
|
||||||
atomic.trapar.itrcon[itr] = 0; // 谱线跃迁标志
|
|
||||||
|
|
||||||
ntrans += 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
println!(" Ion {}: nfirst={}, ntrans={}, ntranc={}",
|
|
||||||
ion_idx + 1, nfirst, ntrans, ntranc);
|
|
||||||
|
|
||||||
// 更新能级索引
|
|
||||||
nfirst += levels.len() as i32;
|
|
||||||
total_ntrans += ntrans;
|
|
||||||
total_ntranc += ntranc;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 设置原子数和离子数
|
|
||||||
tlusty_config.basnum.natoms = input_params.atoms.len() as i32;
|
|
||||||
tlusty_config.basnum.nion = input_params.ions.len() as i32;
|
|
||||||
tlusty_config.basnum.nlevel = total_levels as i32;
|
|
||||||
|
|
||||||
println!("\n Total transitions: {}, continuum: {}", total_ntrans, total_ntranc);
|
|
||||||
println!(" Total levels in atomic data: {}", nfirst - 1);
|
|
||||||
|
|
||||||
// 打印一些验证数据
|
|
||||||
println!("\n--- Verification ---");
|
|
||||||
println!(" Level 1 (H1 n=1): enion={:.4e}, g={}", atomic.levpar.enion[0], atomic.levpar.g[0]);
|
|
||||||
println!(" Level 2 (H1 n=2): enion={:.4e}, g={}", atomic.levpar.enion[1], atomic.levpar.g[1]);
|
|
||||||
if total_levels > 10 {
|
|
||||||
println!(" Level 10 (He1 n=1): enion={:.4e}, g={}", atomic.levpar.enion[9], atomic.levpar.g[9]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 生成初始灰大气模型
|
|
||||||
let actual_nd = if input_params.lte && input_params.ltgrey {
|
|
||||||
println!("\n--- Generating initial LTE grey atmosphere ---");
|
|
||||||
generate_initial_grey_model(&mut model, &input_params)
|
|
||||||
} else {
|
|
||||||
50 // 默认深度点数
|
|
||||||
};
|
|
||||||
|
|
||||||
// 设置深度点数
|
|
||||||
tlusty_config.basnum.nd = actual_nd as i32;
|
|
||||||
|
|
||||||
// 创建参数结构体
|
|
||||||
let mut params = StartParams {
|
|
||||||
config: &mut config,
|
|
||||||
tlusty_config: &mut tlusty_config,
|
|
||||||
atomic: &mut atomic,
|
|
||||||
model: &mut model,
|
|
||||||
};
|
|
||||||
|
|
||||||
// 执行初始化
|
|
||||||
println!("\n--- Starting TLUSTY initialization ---");
|
|
||||||
let result = start_pure_with_input(&mut params, &input_params);
|
|
||||||
|
|
||||||
match result {
|
|
||||||
Ok(output) => {
|
|
||||||
println!("Initialization completed successfully");
|
|
||||||
println!(" NN = {}", output.nn);
|
|
||||||
println!(" Success = {}", output.success);
|
|
||||||
}
|
|
||||||
Err(e) => {
|
|
||||||
eprintln!("Initialization failed: {}", e);
|
|
||||||
std::process::exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 设置频率网格
|
|
||||||
println!("\n--- Setting up frequency grid ---");
|
|
||||||
let grid_params = FrequencyGridParams {
|
|
||||||
frmin: 1e14, // 最小频率 (Hz)
|
|
||||||
frmax: 1e16, // 最大频率 (Hz)
|
|
||||||
nfreq: 50, // 频率点数
|
|
||||||
ifrset: 0, // 内部生成
|
|
||||||
};
|
|
||||||
|
|
||||||
let (freq, weights) = generate_log_frequency_grid(
|
|
||||||
grid_params.frmin,
|
|
||||||
grid_params.frmax,
|
|
||||||
grid_params.nfreq,
|
|
||||||
);
|
|
||||||
|
|
||||||
println!(" Frequency range: {:.2e} - {:.2e} Hz", freq[freq.len()-1], freq[0]);
|
|
||||||
println!(" Number of frequency points: {}", freq.len());
|
|
||||||
|
|
||||||
// 主迭代循环(简化版)
|
|
||||||
println!("\n--- Starting main iteration loop ---");
|
|
||||||
let max_iter = 3; // 简化:只做3次迭代作为演示
|
|
||||||
|
|
||||||
for iter in 1..=max_iter {
|
|
||||||
println!("\n === Iteration {} ===", iter);
|
|
||||||
|
|
||||||
// 1. 计算不透明度(简化版:使用电子散射)
|
|
||||||
println!(" Computing opacities...");
|
|
||||||
|
|
||||||
// 2. 计算辐射场(简化版)
|
|
||||||
println!(" Solving radiative transfer...");
|
|
||||||
|
|
||||||
// 3. 更新布居数(简化版:使用 LTE)
|
|
||||||
println!(" Updating populations...");
|
|
||||||
|
|
||||||
// 4. 计算能量方程残差(简化版)
|
|
||||||
let mut max_flux_error = 0.0_f64;
|
|
||||||
for id in 0..actual_nd {
|
|
||||||
// 简化的能量守恒检查
|
|
||||||
let t = model.modpar.temp[id];
|
|
||||||
let sigma = 5.67051e-5; // Stefan-Boltzmann 常数
|
|
||||||
let flux_err = (sigma * t.powi(4) - sigma * input_params.teff.powi(4)).abs()
|
|
||||||
/ (sigma * input_params.teff.powi(4));
|
|
||||||
max_flux_error = max_flux_error.max(flux_err);
|
|
||||||
}
|
|
||||||
|
|
||||||
println!(" Max flux error: {:.2e}", max_flux_error);
|
|
||||||
|
|
||||||
// 收敛检查
|
|
||||||
if max_flux_error < 1e-3 {
|
|
||||||
println!("\n Converged after {} iterations!", iter);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 温度修正(简化版:向灰大气解调整)
|
|
||||||
for id in 0..actual_nd {
|
|
||||||
let tau = model.modpar.dm[id] * 0.4; // 简化的光学深度
|
|
||||||
let q = compute_hopf(tau.max(1e-10), 0.0);
|
|
||||||
let t_grey = input_params.teff * (0.75 * (tau + q)).powf(0.25);
|
|
||||||
// 松弛更新
|
|
||||||
model.modpar.temp[id] = 0.5 * model.modpar.temp[id] + 0.5 * t_grey;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
println!("\n Main loop completed after {} iterations", max_iter);
|
|
||||||
|
|
||||||
// 输出模型到 fort.7
|
|
||||||
println!("\n--- Writing model to fort.7 ---");
|
|
||||||
let output_path_str = std::env::var("FORT7").unwrap_or_else(|_| "fort.7".to_string());
|
|
||||||
let output_path = PathBuf::from(&output_path_str);
|
|
||||||
|
|
||||||
// 计算实际能级数
|
|
||||||
let nlevel_actual = total_levels as usize;
|
|
||||||
let actual_nd = tlusty_config.basnum.nd as usize;
|
|
||||||
|
|
||||||
match write_fort7(&model, &atomic, actual_nd, nlevel_actual, &output_path) {
|
|
||||||
Ok(_) => println!(" Model written to {}", output_path.display()),
|
|
||||||
Err(e) => eprintln!(" Warning: Failed to write fort.7: {}", e),
|
|
||||||
}
|
|
||||||
|
|
||||||
println!("\n--- TLUSTY START completed ---");
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
|
|
||||||
/// 生成初始灰大气模型
|
|
||||||
/// 返回深度点数
|
|
||||||
///
|
|
||||||
/// 使用与 Fortran TLUSTY 相同的默认参数:
|
|
||||||
/// - ND = 70 (深度点数)
|
|
||||||
/// - TAUFIR = 1e-7 (表面 Rosseland 光学深度)
|
|
||||||
/// - TAULAS = 316 (底部 Rosseland 光学深度)
|
|
||||||
/// - ABROS0 = 初始 Rosseland 不透明度估计 (通过物理公式计算)
|
|
||||||
/// - DION0 = 1.0 (初始电离度估计,完全电离)
|
|
||||||
fn generate_initial_grey_model(model: &mut ModelState, input: &InputParams) -> usize {
|
|
||||||
// Fortran 默认值 (来自 nstpar.f)
|
|
||||||
let nd = 70; // ND = 70 (Fortran 默认)
|
|
||||||
let taufir = 1e-7; // TAUFIR = 1e-7
|
|
||||||
let taulas = 316.0; // TAULAS = 316.0
|
|
||||||
let dion0 = 1.0; // DION0 = 1.0 (完全电离)
|
|
||||||
|
|
||||||
// 计算 Hopf 函数 q(τ) 的简单近似
|
|
||||||
// T(τ) = Teff * (3/4 * (τ + q(τ)))^0.25
|
|
||||||
let teff = input.teff;
|
|
||||||
let t4 = teff.powi(4);
|
|
||||||
let grav = 10.0_f64.powf(input.grav); // log g -> g
|
|
||||||
|
|
||||||
// 生成 Rosseland 光学深度网格(对数等距)
|
|
||||||
let tau_min: f64 = taufir;
|
|
||||||
let tau_max: f64 = taulas;
|
|
||||||
let log_tau_min = tau_min.ln();
|
|
||||||
let log_tau_max = tau_max.ln();
|
|
||||||
|
|
||||||
// 常数
|
|
||||||
let dprad = 1.891204931e-15 * t4; // 辐射压力项
|
|
||||||
let prad0 = dprad / 1.732; // 表面辐射压力
|
|
||||||
|
|
||||||
// 电子密度计算配置
|
|
||||||
// 注意:dion0 = 1.0 表示完全电离,用于热星的初始估计
|
|
||||||
let eldens_config = EldensConfig {
|
|
||||||
ifmol: 0,
|
|
||||||
tmolim: 1e10,
|
|
||||||
ioptab: -1, // 简单模式
|
|
||||||
iath: 1,
|
|
||||||
iatref: 1,
|
|
||||||
ihm: 0,
|
|
||||||
ih2: 0,
|
|
||||||
ih2p: 0,
|
|
||||||
pfhyd: 2.0, // 氢配分函数 (不是电离度)
|
|
||||||
};
|
|
||||||
|
|
||||||
// 平均分子量(纯 H-He 混合)
|
|
||||||
let wmm = 1.0; // 简化:假设纯氢
|
|
||||||
|
|
||||||
// STATE 函数所需的原子数据数组
|
|
||||||
// 对于简单的 H-He 模型:
|
|
||||||
// - H: 丰度 = 1.0, 最高电离级 = 2 (H I, H II)
|
|
||||||
// - He: 丰度 = 0.1, 最高电离级 = 3 (He I, He II, He III)
|
|
||||||
let abndd: [f64; MATOM] = {
|
|
||||||
let mut arr = [0.0; MATOM];
|
|
||||||
arr[0] = 1.0; // H 丰度 (相对于 H = 1.0)
|
|
||||||
arr[1] = 0.1; // He 丰度
|
|
||||||
arr
|
|
||||||
};
|
|
||||||
let ioniz: [i32; MATOM] = {
|
|
||||||
let mut arr = [0; MATOM];
|
|
||||||
arr[0] = 2; // H: 2 个电离级
|
|
||||||
arr[1] = 3; // He: 3 个电离级
|
|
||||||
arr
|
|
||||||
};
|
|
||||||
let lgr: [bool; MATOM] = [false; MATOM]; // 没有显式能级
|
|
||||||
let lrm: [bool; MATOM] = {
|
|
||||||
let mut arr = [false; MATOM];
|
|
||||||
arr[0] = true; // H: 使用隐式能级
|
|
||||||
arr[1] = true; // He: 使用隐式能级
|
|
||||||
arr
|
|
||||||
};
|
|
||||||
|
|
||||||
// 预测-校正积分的压力历史
|
|
||||||
let mut plog1 = 0.0;
|
|
||||||
let mut plog2 = 0.0;
|
|
||||||
let mut plog3 = 0.0;
|
|
||||||
let mut plog4 = 0.0;
|
|
||||||
let mut dplog1 = 0.0;
|
|
||||||
let mut dplog2 = 0.0;
|
|
||||||
let mut dplog3 = 0.0;
|
|
||||||
|
|
||||||
let dlgm = (log_tau_max - log_tau_min) / (nd - 1) as f64;
|
|
||||||
|
|
||||||
// 计算初始不透明度估计 (使用 Teff 和典型大气参数)
|
|
||||||
let initial_opacity_params = LteOpacityParams {
|
|
||||||
t: teff,
|
|
||||||
ne: 1e12, // 典型电子密度估计
|
|
||||||
nh_total: 1e12,
|
|
||||||
np: 1e12, // 假设完全电离
|
|
||||||
nh_neutral: 0.0,
|
|
||||||
nhm: 0.0,
|
|
||||||
rho: 1e-12, // 典型密度估计
|
|
||||||
uh: 2.0,
|
|
||||||
uhe: 1.0,
|
|
||||||
uhep: 2.0,
|
|
||||||
xh: 0.70,
|
|
||||||
xhe: 0.28,
|
|
||||||
};
|
|
||||||
let mut abros = quick_lte_rosseland(&initial_opacity_params);
|
|
||||||
|
|
||||||
println!(" Initial opacity estimate: {:.4} cm²/g (computed from Teff={:.0}K)", abros, teff);
|
|
||||||
|
|
||||||
for id in 0..nd {
|
|
||||||
let frac = id as f64 / (nd - 1) as f64;
|
|
||||||
let log_tau = log_tau_min + frac * (log_tau_max - log_tau_min);
|
|
||||||
let tau = log_tau.exp();
|
|
||||||
|
|
||||||
// 使用精确 Hopf 函数
|
|
||||||
let q = compute_hopf(tau, 0.0);
|
|
||||||
|
|
||||||
// 温度: T = (0.75 * Teff^4 * (tau + q))^0.25
|
|
||||||
let temp = (0.75 * t4 * (tau + q)).powf(0.25);
|
|
||||||
|
|
||||||
if id == 0 {
|
|
||||||
eprintln!("DEBUG temp: tau={:.6e}, q={:.6e}, t4={:.6e}, temp={:.1}", tau, q, t4, temp);
|
|
||||||
}
|
|
||||||
|
|
||||||
model.modpar.temp[id] = temp;
|
|
||||||
|
|
||||||
// 使用 quick_lte_rosseland 估算当前深度点的不透明度
|
|
||||||
// 这是在压力计算之前,使用温度和典型大气参数
|
|
||||||
let estimated_dens = if id > 0 {
|
|
||||||
model.modpar.dens[id - 1] // 使用前一个深度点的密度作为估计
|
|
||||||
} else {
|
|
||||||
grav * taufir * wmm * HMASS / (abros * BOLK * teff) // 表面密度估计 (正确物理公式)
|
|
||||||
};
|
|
||||||
let estimated_ne = if id > 0 {
|
|
||||||
model.modpar.elec[id - 1]
|
|
||||||
} else {
|
|
||||||
estimated_dens / HMASS // 假设完全电离
|
|
||||||
};
|
|
||||||
|
|
||||||
// 使用温度估计电离度
|
|
||||||
// 对于热星 (Teff > 20000K),表面温度约 0.75*Teff
|
|
||||||
// 在这个温度下,氢部分电离
|
|
||||||
let estimated_ion_frac = if temp > 15000.0 {
|
|
||||||
0.95 // 高温几乎完全电离
|
|
||||||
} else if temp > 10000.0 {
|
|
||||||
0.80 // 中等温度部分电离
|
|
||||||
} else if temp > 7000.0 {
|
|
||||||
0.30 // 较低温度
|
|
||||||
} else {
|
|
||||||
0.001 // 低温几乎不电离
|
|
||||||
};
|
|
||||||
|
|
||||||
let estimated_nh_total = estimated_dens / HMASS;
|
|
||||||
let estimated_np = estimated_nh_total * estimated_ion_frac;
|
|
||||||
let estimated_nh_neutral = estimated_nh_total * (1.0 - estimated_ion_frac);
|
|
||||||
|
|
||||||
let quick_opacity_params = LteOpacityParams {
|
|
||||||
t: temp,
|
|
||||||
ne: estimated_np, // 电子密度 = 质子密度
|
|
||||||
nh_total: estimated_nh_total,
|
|
||||||
np: estimated_np,
|
|
||||||
nh_neutral: estimated_nh_neutral,
|
|
||||||
nhm: 0.0,
|
|
||||||
rho: estimated_dens,
|
|
||||||
uh: 2.0,
|
|
||||||
uhe: 1.0,
|
|
||||||
uhep: 2.0,
|
|
||||||
xh: 0.70,
|
|
||||||
xhe: 0.28,
|
|
||||||
};
|
|
||||||
let mut current_abros = quick_lte_rosseland(&quick_opacity_params);
|
|
||||||
|
|
||||||
// 流体静力学平衡计算压力
|
|
||||||
// 预测步
|
|
||||||
let mut plog = if id == 0 {
|
|
||||||
(grav / current_abros * tau + prad0).ln()
|
|
||||||
} else if id <= 3 {
|
|
||||||
plog1 + dplog1
|
|
||||||
} else {
|
|
||||||
(3.0 * plog4 + 8.0 * dplog1 - 4.0 * dplog2 + 8.0 * dplog3) / 3.0
|
|
||||||
};
|
|
||||||
|
|
||||||
// 校正步迭代 - 与 Fortran LTEGR/ROSSOP 一致,在迭代中更新不透明度
|
|
||||||
let mut ptot = plog.exp();
|
|
||||||
let mut p = ptot - tau * dprad - prad0;
|
|
||||||
let mut an = p / (BOLK * temp);
|
|
||||||
let mut ane = estimated_ne;
|
|
||||||
let mut anp = estimated_np;
|
|
||||||
let mut ahtot = estimated_nh_total;
|
|
||||||
let mut nh_neutral = estimated_nh_neutral;
|
|
||||||
let mut dens = estimated_dens;
|
|
||||||
|
|
||||||
for j in 0..10 {
|
|
||||||
// 校正步计算 (与 Fortran LTEGR 一致)
|
|
||||||
let plog_new = if id == 0 {
|
|
||||||
(grav / current_abros * tau + prad0).ln()
|
|
||||||
} else if id <= 3 {
|
|
||||||
(plog + 2.0 * plog1 + dplog1 + dplog1) / 3.0
|
|
||||||
} else {
|
|
||||||
(126.0 * plog1 - 14.0 * plog3 + 9.0 * plog4
|
|
||||||
+ 42.0 * dplog1 + 108.0 * dplog2 - 54.0 * dplog3 + 24.0 * dplog3) / 121.0
|
|
||||||
};
|
|
||||||
|
|
||||||
let err = (plog_new - plog).abs();
|
|
||||||
plog = plog_new;
|
|
||||||
ptot = plog.exp();
|
|
||||||
|
|
||||||
// 计算气体压力和粒子数密度 (与 Fortran ROSSOP 一致)
|
|
||||||
p = ptot - tau * dprad - prad0;
|
|
||||||
an = p / (BOLK * temp);
|
|
||||||
|
|
||||||
// 计算电子密度 (与 Fortran ROSSOP 调用 ELDENS 一致)
|
|
||||||
// 创建 STATE 函数所需的参数
|
|
||||||
// STATE 需要: mode=1 (LTEGR 模式), 温度, 电子密度, 原子数据
|
|
||||||
let state_params = StateParams {
|
|
||||||
mode: 1, // MODE=1 用于 LTEGR (包含显式和非显式化学物种)
|
|
||||||
id: id + 1,
|
|
||||||
t: temp,
|
|
||||||
ane, // 使用当前电子密度估计
|
|
||||||
natoms: 2, // H 和 He
|
|
||||||
hpop: an * 0.9, // 氢数密度估计 (假设大部分是 H)
|
|
||||||
dens: estimated_dens,
|
|
||||||
wmm: wmm,
|
|
||||||
ytot: 1.1, // 总原子数/氢原子数 ≈ 1 + 0.1 (He)
|
|
||||||
abndd: &abndd,
|
|
||||||
ioniz: &ioniz,
|
|
||||||
irefa: 1, // 氢是参考原子
|
|
||||||
lgr: &lgr,
|
|
||||||
ifoppf: 0,
|
|
||||||
lrm: &lrm,
|
|
||||||
};
|
|
||||||
|
|
||||||
let eldens_params = EldensParams {
|
|
||||||
id: id + 1,
|
|
||||||
t: temp,
|
|
||||||
an,
|
|
||||||
ytot: 1.1, // H + He 丰度因子
|
|
||||||
qref: 0.0,
|
|
||||||
dqnr: 0.0,
|
|
||||||
wmy: wmm,
|
|
||||||
config: eldens_config.clone(),
|
|
||||||
state_params: Some(state_params),
|
|
||||||
molecule_data: None,
|
|
||||||
anato_data: None,
|
|
||||||
};
|
|
||||||
let eldens_output = eldens_pure(&eldens_params, 0);
|
|
||||||
ane = eldens_output.ane;
|
|
||||||
anp = eldens_output.anp;
|
|
||||||
ahtot = eldens_output.ahtot;
|
|
||||||
nh_neutral = (ahtot - anp).max(0.0);
|
|
||||||
|
|
||||||
// 密度计算 (与 Fortran ROSSOP 一致)
|
|
||||||
// Fortran: RHO = WMM * (AN - ANE)
|
|
||||||
// WMM 在 Fortran ELDENS 中计算: wmm = dens / (an - ane)
|
|
||||||
// 由于 WMM 以 g 为单位 (不是 amu), 我们需要乘以 HMASS
|
|
||||||
// 对于氢主导气体, wmm ≈ 1 amu, 所以 RHO ≈ (AN - ANE) * HMASS
|
|
||||||
dens = (an - ane) * HMASS; // 密度 (g/cm³)
|
|
||||||
if id == 0 && j == 0 {
|
|
||||||
eprintln!("DEBUG after ELDENS: ane={:.6e}, an={:.6e}, dens={:.6e}, ahtot={:.6e}", ane, an, dens, ahtot);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新不透明度 (与 Fortran ROSSOP 调用 OPACF0 + MEANOP 一致)
|
|
||||||
// 使用频率积分计算完整 LTE Rosseland 不透明度
|
|
||||||
let lte_params_iter = LteOpacityParams {
|
|
||||||
t: temp,
|
|
||||||
ne: ane,
|
|
||||||
nh_total: ahtot,
|
|
||||||
np: anp,
|
|
||||||
nh_neutral,
|
|
||||||
nhm: 0.0,
|
|
||||||
rho: dens,
|
|
||||||
uh: 2.0,
|
|
||||||
uhe: 1.0,
|
|
||||||
uhep: 2.0,
|
|
||||||
xh: 0.70,
|
|
||||||
xhe: 0.28,
|
|
||||||
};
|
|
||||||
let grid_iter = generate_lte_frequency_grid(input.teff, 50);
|
|
||||||
let lte_output_iter = lte_meanopt(<e_params_iter, &grid_iter);
|
|
||||||
current_abros = lte_output_iter.opros;
|
|
||||||
|
|
||||||
// 收敛检查 (在更新不透明度之后)
|
|
||||||
// 注意:对于表面点 (id=0),需要至少迭代一次来更新不透明度
|
|
||||||
if err <= 1e-4 && j > 0 {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 防止无限循环的安全检查
|
|
||||||
if j == 9 {
|
|
||||||
if id == 0 {
|
|
||||||
println!(" Warning: Corrector iteration did not converge at depth {}", id + 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新压力历史 (使用最终收敛的不透明度)
|
|
||||||
if id == 0 {
|
|
||||||
eprintln!("DEBUG before pressure update: ane={:.6e}, an={:.6e}", ane, an);
|
|
||||||
}
|
|
||||||
let dplog = grav / current_abros * tau / ptot * dlgm;
|
|
||||||
plog4 = plog3;
|
|
||||||
plog3 = plog2;
|
|
||||||
plog2 = plog1;
|
|
||||||
plog1 = plog;
|
|
||||||
dplog3 = dplog2;
|
|
||||||
dplog2 = dplog1;
|
|
||||||
dplog1 = dplog;
|
|
||||||
|
|
||||||
// 计算柱质量密度
|
|
||||||
let depth = (ptot - prad0) / grav;
|
|
||||||
model.modpar.dm[id] = depth;
|
|
||||||
|
|
||||||
// 计算密度
|
|
||||||
let dens = wmm * (an - ane) * HMASS;
|
|
||||||
model.modpar.dens[id] = dens;
|
|
||||||
model.modpar.elec[id] = ane;
|
|
||||||
model.modpar.totn[id] = an;
|
|
||||||
model.modpar.anto[id] = an - ane; // 总原子密度
|
|
||||||
|
|
||||||
// 辅助量
|
|
||||||
let t = temp;
|
|
||||||
let h = 6.62620e-27_f64;
|
|
||||||
model.modpar.sqt1[id] = t.sqrt();
|
|
||||||
model.modpar.hkt1[id] = h / (BOLK * t);
|
|
||||||
model.modpar.tk1[id] = 1.0 / t;
|
|
||||||
|
|
||||||
// 计算 Rosseland 不透明度
|
|
||||||
// 使用完整的 LTE 不透明度计算,包含电子散射、束缚-自由、自由-自由和 H-
|
|
||||||
let lte_params = LteOpacityParams {
|
|
||||||
t: temp,
|
|
||||||
ne: ane,
|
|
||||||
nh_total: ahtot,
|
|
||||||
np: anp,
|
|
||||||
nh_neutral,
|
|
||||||
nhm: 0.0, // H- 密度暂时为 0
|
|
||||||
rho: dens,
|
|
||||||
uh: 2.0, // 氢配分函数
|
|
||||||
uhe: 1.0, // 氦配分函数
|
|
||||||
uhep: 2.0, // He+ 配分函数
|
|
||||||
xh: 0.70, // 氢丰度
|
|
||||||
xhe: 0.28, // 氦丰度
|
|
||||||
};
|
|
||||||
|
|
||||||
// 使用频率积分计算完整不透明度
|
|
||||||
let grid = generate_lte_frequency_grid(input.teff, 100);
|
|
||||||
let lte_output = lte_meanopt(<e_params, &grid);
|
|
||||||
abros = lte_output.opros;
|
|
||||||
|
|
||||||
// Debug output for first and last points
|
|
||||||
if id == 0 || id == nd - 1 {
|
|
||||||
let opes = 6.6524e-25 * ane / dens.max(1e-20); // 电子散射
|
|
||||||
let ion_frac = anp / ahtot.max(1e-30); // 电离度
|
|
||||||
let opbf = 4.3e-25 * (1.0 - ion_frac) * (temp/1e4).powf(-3.5); // 束缚-自由
|
|
||||||
println!(" Depth {}: T={:.0}K, ne={:.2e}, nH={:.2e}, rho={:.2e}", id + 1, temp, ane, nh_neutral, dens);
|
|
||||||
println!(" Quick estimate κ_R={:.4e}, Full LTE κ_R={:.4e}, κ_P={:.4e}",
|
|
||||||
current_abros, lte_output.opros, lte_output.oppla);
|
|
||||||
println!(" Components: κ_es={:.4e}, κ_bf={:.4e}, κ_ff={:.4e}, κ_H-={:.4e}",
|
|
||||||
lte_output.opes, lte_output.opbf, lte_output.opff, lte_output.ophm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 设置深度点数
|
|
||||||
model.modpar.dmtot = model.modpar.dm[nd - 1];
|
|
||||||
|
|
||||||
println!(" Generated {} depth points", nd);
|
|
||||||
println!(" Temperature range: {:.0} K (surface) to {:.0} K (bottom)",
|
|
||||||
model.modpar.temp[0], model.modpar.temp[nd - 1]);
|
|
||||||
println!(" Electron density range: {:.2e} to {:.2e} cm^-3",
|
|
||||||
model.modpar.elec[0], model.modpar.elec[nd - 1]);
|
|
||||||
|
|
||||||
nd
|
|
||||||
}
|
|
||||||
|
|
||||||
/// 带 InputParams 的 start 函数
|
|
||||||
fn start_pure_with_input(
|
|
||||||
params: &mut StartParams,
|
|
||||||
input: &InputParams,
|
|
||||||
) -> anyhow::Result<StartOutput> {
|
|
||||||
// 设置频率参数
|
|
||||||
params.tlusty_config.basnum.nfread = input.frequencies.nfread;
|
|
||||||
|
|
||||||
// 设置原子数
|
|
||||||
params.tlusty_config.basnum.natoms = input.atoms.len() as i32;
|
|
||||||
|
|
||||||
// 设置离子数
|
|
||||||
params.tlusty_config.basnum.nion = input.ions.len() as i32;
|
|
||||||
|
|
||||||
// 计算总能级数
|
|
||||||
let nlevel: i32 = input.ions.iter().map(|ion| ion.nlevs as i32).sum();
|
|
||||||
params.tlusty_config.basnum.nlevel = nlevel;
|
|
||||||
|
|
||||||
// 调用纯计算版本的 start
|
|
||||||
Ok(start_pure(params))
|
|
||||||
}
|
|
||||||
|
|
||||||
/// 打印输入参数摘要
|
|
||||||
fn print_input_summary(params: &InputParams) {
|
|
||||||
println!("\n================================");
|
|
||||||
println!(" M O D E L A T M O S P H E R E");
|
|
||||||
println!("================================\n");
|
|
||||||
println!(" TEFF = {:>12.1}", params.teff);
|
|
||||||
println!(" LOG G = {:>12.2}", params.grav);
|
|
||||||
println!(" LTE = {}", if params.lte { "T" } else { "F" });
|
|
||||||
println!(" LTGRAY = {}", if params.ltgrey { "T" } else { "F" });
|
|
||||||
|
|
||||||
println!("\n FREQUENCIES:");
|
|
||||||
println!(" NFREAD = {}", params.frequencies.nfread);
|
|
||||||
|
|
||||||
println!("\n ATOMS: {} elements configured", params.atoms.len());
|
|
||||||
|
|
||||||
println!("\n IONS:");
|
|
||||||
for ion in ¶ms.ions {
|
|
||||||
println!(
|
|
||||||
" {:3} (Z={:2}, ion={}) - {} levels, file: {}",
|
|
||||||
ion.typion.trim(),
|
|
||||||
ion.iat,
|
|
||||||
ion.iz,
|
|
||||||
ion.nlevs,
|
|
||||||
if ion.filei.trim().is_empty() { "(none)" } else { &ion.filei }
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// 解析命令行参数
|
|
||||||
fn parse_args(args: &[String]) -> anyhow::Result<(Option<PathBuf>, Option<PathBuf>)> {
|
|
||||||
let mut input_path: Option<PathBuf> = None;
|
|
||||||
let mut output_path: Option<PathBuf> = None;
|
|
||||||
let mut i = 1;
|
|
||||||
|
|
||||||
while i < args.len() {
|
|
||||||
match args[i].as_str() {
|
|
||||||
"-i" | "--input" => {
|
|
||||||
i += 1;
|
|
||||||
if i < args.len() {
|
|
||||||
input_path = Some(PathBuf::from(&args[i]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"-o" | "--output" => {
|
|
||||||
i += 1;
|
|
||||||
if i < args.len() {
|
|
||||||
output_path = Some(PathBuf::from(&args[i]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"-h" | "--help" => {
|
|
||||||
print_usage();
|
|
||||||
std::process::exit(0);
|
|
||||||
}
|
|
||||||
_ => {
|
|
||||||
// 位置参数:第一个是输入文件
|
|
||||||
if input_path.is_none() {
|
|
||||||
input_path = Some(PathBuf::from(&args[i]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
i += 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok((input_path, output_path))
|
|
||||||
}
|
|
||||||
|
|
||||||
fn print_usage() {
|
|
||||||
println!("TLUSTY - Non-LTE Stellar Atmosphere Calculator");
|
|
||||||
println!();
|
|
||||||
println!("Usage:");
|
|
||||||
println!(" tlusty [OPTIONS] [INPUT_FILE]");
|
|
||||||
println!();
|
|
||||||
println!("Options:");
|
|
||||||
println!(" -i, --input <FILE> Input file (default: stdin)");
|
|
||||||
println!(" -o, --output <FILE> Output file (default: stdout)");
|
|
||||||
println!(" -h, --help Show this help message");
|
|
||||||
println!();
|
|
||||||
println!("Example:");
|
|
||||||
println!(" tlusty hhe35lt.5 > hhe35lt.6");
|
|
||||||
}
|
|
||||||
|
|
||||||
/// 写入 fort.7 格式模型文件
|
|
||||||
fn write_fort7(
|
|
||||||
model: &tlusty_rust::tlusty::state::model::ModelState,
|
|
||||||
atomic: &tlusty_rust::tlusty::state::atomic::AtomicData,
|
|
||||||
nd: usize,
|
|
||||||
nlevel_actual: usize,
|
|
||||||
path: &std::path::Path,
|
|
||||||
) -> anyhow::Result<()> {
|
|
||||||
use std::fs::File;
|
|
||||||
use std::io::{BufWriter, Write};
|
|
||||||
|
|
||||||
let file = File::create(path)?;
|
|
||||||
let mut writer = BufWriter::new(file);
|
|
||||||
|
|
||||||
// NUMPAR = 3 (T, NE, RHO) + nlevel_actual
|
|
||||||
let numpar = 3 + nlevel_actual as i32;
|
|
||||||
|
|
||||||
// 写入头部:ND NUMPAR
|
|
||||||
writeln!(writer, "{:4}{:5}", nd, numpar)?;
|
|
||||||
|
|
||||||
// 写入质量深度数组(每行 6 个值)
|
|
||||||
for i in 0..nd {
|
|
||||||
write!(writer, "{:13.6E}", model.modpar.dm[i])?;
|
|
||||||
if (i + 1) % 6 == 0 || i == nd - 1 {
|
|
||||||
writeln!(writer)?;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 写入每个深度点的数据
|
|
||||||
for id in 0..nd {
|
|
||||||
// 温度
|
|
||||||
write!(writer, "{:15.7E}", model.modpar.temp[id])?;
|
|
||||||
// 电子密度
|
|
||||||
write!(writer, "{:15.7E}", model.modpar.elec[id])?;
|
|
||||||
// 质量密度
|
|
||||||
write!(writer, "{:15.7E}", model.modpar.dens[id])?;
|
|
||||||
// 能级占据数(LTE 模型使用 Boltzmann 分布)
|
|
||||||
for ilev in 0..nlevel_actual {
|
|
||||||
let enion = atomic.levpar.enion[ilev];
|
|
||||||
let g = atomic.levpar.g[ilev];
|
|
||||||
let hkt = model.modpar.hkt1[id];
|
|
||||||
// Boltzmann 分布
|
|
||||||
let pop = g * (-enion * hkt / H).exp() * model.modpar.elec[id];
|
|
||||||
write!(writer, "{:15.7E}", pop)?;
|
|
||||||
}
|
|
||||||
writeln!(writer)?;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.flush()?;
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,7 +30,7 @@
|
|||||||
//! - fort.6: 标准输出(进度和诊断信息)
|
//! - fort.6: 标准输出(进度和诊断信息)
|
||||||
|
|
||||||
use super::FortranWriter;
|
use super::FortranWriter;
|
||||||
use crate::tlusty::state::constants::{MDEPTH, MFREQ, MLEVEL};
|
use crate::tlusty::state::constants::{MDEPTH, MFREQ, MLEVEL, MTRANS, H, HK, BOLK, HMASS, SIGE, SIG4P, BN, UN, HALF, PI};
|
||||||
use crate::tlusty::math::{
|
use crate::tlusty::math::{
|
||||||
rayset, prd, opaini, rates1_pure, ratsp1, steqeq_pure, newpop,
|
rayset, prd, opaini, rates1_pure, ratsp1, steqeq_pure, newpop,
|
||||||
elcor_pure, accelp, rosstd_evaluate, output, pzert,
|
elcor_pure, accelp, rosstd_evaluate, output, pzert,
|
||||||
@ -38,7 +38,14 @@ use crate::tlusty::math::{
|
|||||||
alisk2_pure, alist1_pure, alist2, pzevld, hesol6, dmeval,
|
alisk2_pure, alist1_pure, alist2, pzevld, hesol6, dmeval,
|
||||||
rybheq, princ_pure, coolrt_pure, rechck_pure, rteint, rtecmu,
|
rybheq, princ_pure, coolrt_pure, rechck_pure, rteint, rtecmu,
|
||||||
taufr1, linsel_pure, rtecf1, opacf1, rtefr1, rtecom,
|
taufr1, linsel_pure, rtecf1, opacf1, rtefr1, rtecom,
|
||||||
|
rtesol,
|
||||||
|
eldens_pure, EldensParams, EldensConfig,
|
||||||
|
compute_opacity_at_frequency, generate_lte_frequency_grid,
|
||||||
|
LteOpacityParams,
|
||||||
|
lucy_pure, LucyConfig, LucyModelParams,
|
||||||
|
OpacflPointData, Rad1PointData,
|
||||||
};
|
};
|
||||||
|
use crate::tlusty::math::io::{OutputParams};
|
||||||
use crate::tlusty::state::config::TlustyConfig;
|
use crate::tlusty::state::config::TlustyConfig;
|
||||||
use crate::tlusty::state::atomic::AtomicData;
|
use crate::tlusty::state::atomic::AtomicData;
|
||||||
use crate::tlusty::state::model::ModelState;
|
use crate::tlusty::state::model::ModelState;
|
||||||
@ -183,7 +190,7 @@ impl Default for ResolvConfig {
|
|||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
||||||
/// RESOLV 输入参数。
|
/// RESOLV 输入参数。
|
||||||
pub struct ResolvParams<'a> {
|
pub struct ResolvParams<'a, W7: std::io::Write = std::fs::File> {
|
||||||
/// 配置参数
|
/// 配置参数
|
||||||
pub config: ResolvConfig,
|
pub config: ResolvConfig,
|
||||||
/// TLUSTY 配置(可变)
|
/// TLUSTY 配置(可变)
|
||||||
@ -192,6 +199,8 @@ pub struct ResolvParams<'a> {
|
|||||||
pub atomic: &'a mut AtomicData,
|
pub atomic: &'a mut AtomicData,
|
||||||
/// 模型状态(可变)
|
/// 模型状态(可变)
|
||||||
pub model: &'a mut ModelState,
|
pub model: &'a mut ModelState,
|
||||||
|
/// fort.7 输出写入器(用于 OUTPUT 调用写模型)
|
||||||
|
pub writer7: Option<&'a mut FortranWriter<W7>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// RESOLV 输出。
|
/// RESOLV 输出。
|
||||||
@ -230,8 +239,8 @@ fn nitlam(iter: i32) -> i32 {
|
|||||||
///
|
///
|
||||||
/// # 返回值
|
/// # 返回值
|
||||||
/// 计算结果
|
/// 计算结果
|
||||||
pub fn resolv<W: std::io::Write>(
|
pub fn resolv<W: std::io::Write, W7: std::io::Write>(
|
||||||
params: &mut ResolvParams,
|
params: &mut ResolvParams<W7>,
|
||||||
mut writer: Option<&mut FortranWriter<W>>,
|
mut writer: Option<&mut FortranWriter<W>>,
|
||||||
) -> ResolvOutput {
|
) -> ResolvOutput {
|
||||||
// 标记已导入的函数(用于 f2r_check 脚本检测)
|
// 标记已导入的函数(用于 f2r_check 脚本检测)
|
||||||
@ -326,67 +335,350 @@ pub fn resolv<W: std::io::Write>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------
|
// -----------------------------------------------------------
|
||||||
// Part 4: Lambda 迭代循环
|
// Part 4: Lambda 迭代循环 — 真实物理计算
|
||||||
// -----------------------------------------------------------
|
// -----------------------------------------------------------
|
||||||
|
let nd = config.nd;
|
||||||
|
let nfreq = config.nfreq;
|
||||||
|
let teff = config.teff;
|
||||||
|
let grav = params.tlusty_config.inppar.grav;
|
||||||
|
|
||||||
|
// 物理常数
|
||||||
|
let c_light = 2.99792458e10_f64;
|
||||||
|
let h_over_c2 = 2.0 * H / (c_light * c_light);
|
||||||
|
let sqrt3_inv = 1.0 / 3.0_f64.sqrt();
|
||||||
|
let t4_eff = SIG4P * teff.powi(4);
|
||||||
|
let dprad = 1.891204931e-15 * teff.powi(4);
|
||||||
|
let prd0 = dprad / 1.732;
|
||||||
|
|
||||||
|
// 生成频率网格
|
||||||
|
let freq_grid = generate_lte_frequency_grid(teff, nfreq);
|
||||||
|
let freq = &freq_grid.freq;
|
||||||
|
let weights = &freq_grid.weights;
|
||||||
|
|
||||||
|
// 3 点 Gauss-Legendre 积分节点 (在 [0,1] 上)
|
||||||
|
let gl_mu: [f64; 3] = [
|
||||||
|
0.5 * (1.0 - (3.0_f64 / 5.0).sqrt()),
|
||||||
|
0.5,
|
||||||
|
0.5 * (1.0 + (3.0_f64 / 5.0).sqrt()),
|
||||||
|
];
|
||||||
|
let gl_w: [f64; 3] = [5.0 / 18.0, 8.0 / 18.0, 5.0 / 18.0];
|
||||||
|
|
||||||
|
// Eddington H 函数近似 (各向同性)
|
||||||
|
let fh = vec![sqrt3_inv; nfreq];
|
||||||
|
let hextrd = vec![0.0; nfreq];
|
||||||
|
|
||||||
|
// 深度间隔 deldm
|
||||||
|
let mut deldm = vec![0.0; nd];
|
||||||
|
for id in 1..nd {
|
||||||
|
deldm[id - 1] = params.model.modpar.dm[id] - params.model.modpar.dm[id - 1];
|
||||||
|
}
|
||||||
|
|
||||||
for _ilam_iter in 1..=nlambd {
|
for _ilam_iter in 1..=nlambd {
|
||||||
ilam = _ilam_iter;
|
ilam = _ilam_iter;
|
||||||
debug_log!("RESOLV: Lambda iteration {} of {}", ilam, nlambd);
|
debug_log!("RESOLV: Lambda iteration {} of {}", ilam, nlambd);
|
||||||
|
|
||||||
// OPAINI(1) - 初始化不透明度
|
// ==============================================================
|
||||||
// opaini(&OpainiParams { ... });
|
// Step 1: 在每个深度点计算 LTE 电子密度
|
||||||
debug_log!("RESOLV: OPAINI(1) called");
|
// ==============================================================
|
||||||
|
let eldens_config = EldensConfig {
|
||||||
|
ifmol: 0,
|
||||||
|
tmolim: 1e10,
|
||||||
|
ioptab: -1,
|
||||||
|
iath: 1,
|
||||||
|
iatref: 1,
|
||||||
|
ihm: 0,
|
||||||
|
ih2: 0,
|
||||||
|
ih2p: 0,
|
||||||
|
pfhyd: 2.0,
|
||||||
|
};
|
||||||
|
|
||||||
// 康普顿散射
|
let mut ne_arr = vec![0.0; nd];
|
||||||
if config.icompt != 0 && ilam > 1 {
|
let mut nh_arr = vec![0.0; nd];
|
||||||
// RTECOM
|
let mut np_arr = vec![0.0; nd];
|
||||||
debug_log!("RESOLV: RTECOM called (Compton, ilam > 1)");
|
let mut wmm_arr = vec![1.0; nd];
|
||||||
|
|
||||||
|
for id in 0..nd {
|
||||||
|
let t = params.model.modpar.temp[id];
|
||||||
|
let dens = params.model.modpar.dens[id];
|
||||||
|
let an = dens / HMASS + params.model.modpar.elec[id];
|
||||||
|
let eldens_params = EldensParams {
|
||||||
|
id: id + 1,
|
||||||
|
t,
|
||||||
|
an,
|
||||||
|
ytot: 1.1,
|
||||||
|
qref: 0.0,
|
||||||
|
dqnr: 0.0,
|
||||||
|
wmy: 1.0,
|
||||||
|
config: eldens_config.clone(),
|
||||||
|
state_params: None,
|
||||||
|
molecule_data: None,
|
||||||
|
anato_data: None,
|
||||||
|
};
|
||||||
|
let eldens_output = eldens_pure(&eldens_params, 0);
|
||||||
|
ne_arr[id] = eldens_output.ane;
|
||||||
|
np_arr[id] = eldens_output.anp;
|
||||||
|
nh_arr[id] = eldens_output.ahtot;
|
||||||
|
wmm_arr[id] = eldens_output.wm;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 计算辐射跃迁速率
|
// ==============================================================
|
||||||
if config.ifprec == 0 {
|
// Step 2: 在每个 (depth, frequency) 计算不透明度
|
||||||
// RATES1(0)
|
// ==============================================================
|
||||||
// rates1_pure(&mut Rates1Params { ... });
|
// chi[id][ij] = 总不透明度 (cm²/g)
|
||||||
debug_log!("RESOLV: RATES1(0) called");
|
// ab_true[id][ij] = 真吸收 (不含散射)
|
||||||
} else {
|
let mut chi = vec![vec![0.0; nfreq]; nd];
|
||||||
// RATSP1
|
let mut ab_true = vec![vec![0.0; nfreq]; nd];
|
||||||
// ratsp1(...);
|
// 用于 Lucy 的 per-frequency 数据
|
||||||
debug_log!("RESOLV: RATSP1 called");
|
let mut opacfl_data: Vec<OpacflPointData> = Vec::with_capacity(nfreq);
|
||||||
|
|
||||||
|
for id in 0..nd {
|
||||||
|
let t = params.model.modpar.temp[id];
|
||||||
|
let dens = params.model.modpar.dens[id];
|
||||||
|
let dens_safe = dens.max(1e-30);
|
||||||
|
let ne = ne_arr[id];
|
||||||
|
let nh_total = nh_arr[id];
|
||||||
|
let anp = np_arr[id];
|
||||||
|
let nh_neutral = (nh_total - anp).max(0.0);
|
||||||
|
let hkt = HK / t;
|
||||||
|
let sgff = 3.694e8 / t.sqrt() * ne;
|
||||||
|
|
||||||
|
let lte_params = LteOpacityParams {
|
||||||
|
t, ne, nh_total,
|
||||||
|
np: anp, nh_neutral, nhm: 0.0,
|
||||||
|
rho: dens,
|
||||||
|
uh: 2.0, uhe: 1.0, uhep: 2.0,
|
||||||
|
xh: 0.70, xhe: 0.28,
|
||||||
|
};
|
||||||
|
|
||||||
|
let scat_per_gram = SIGE * ne / dens_safe;
|
||||||
|
|
||||||
|
for ij in 0..nfreq {
|
||||||
|
let fr = freq[ij];
|
||||||
|
let (ab, sct) = compute_opacity_at_frequency(
|
||||||
|
fr, t, ne, nh_neutral, anp, 0.0, hkt, sgff, <e_params,
|
||||||
|
);
|
||||||
|
let ab_gram = ab / dens_safe;
|
||||||
|
let sct_gram = sct / dens_safe;
|
||||||
|
chi[id][ij] = ab_gram + sct_gram;
|
||||||
|
ab_true[id][ij] = ab_gram;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// PRD
|
// ==============================================================
|
||||||
// prd(0, ...);
|
// Step 3: 正式解 — 多角度 Gauss-Legendre 积分计算 Jν
|
||||||
debug_log!("RESOLV: PRD(0) called");
|
// ==============================================================
|
||||||
|
// Jν(id) = (1/2) ∫₀¹ I(μ) dμ ≈ Σ_k w_k * 0.5 * (I_in + I_out)
|
||||||
|
let mut jnu = vec![vec![0.0; nfreq]; nd];
|
||||||
|
|
||||||
// 更新占据数
|
// 同时收集辐射数据用于 Lucy
|
||||||
debug_log!("RESOLV: Updating populations for {} depth points", config.nd);
|
let mut rad1_data: Vec<Rad1PointData> = Vec::with_capacity(nfreq);
|
||||||
for id in 0..config.nd {
|
|
||||||
// STEQEQ(ID, POP, 1)
|
|
||||||
// steqeq_pure(&SteqeqParams { ... }, 1);
|
|
||||||
|
|
||||||
// NEWPOP(ID, POP)
|
for ij in 0..nfreq {
|
||||||
// newpop(&mut NewpopParams { ... });
|
let fr = freq[ij];
|
||||||
|
|
||||||
// ELCOR(电子修正)
|
// 计算频率光学深度增量
|
||||||
if !config.lchc && iter < config.ielcor {
|
let mut dtau_freq = vec![0.0; nd - 1];
|
||||||
// elcor_pure(&ElcorParams { ... });
|
for id in 0..(nd - 1) {
|
||||||
|
let dm_half = params.model.modpar.dm[id + 1] - params.model.modpar.dm[id];
|
||||||
|
let chi_avg = 0.5 * (chi[id][ij] + chi[id + 1][ij]);
|
||||||
|
dtau_freq[id] = chi_avg * dm_half;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 源函数 S = Bν(T) 在每个深度
|
||||||
|
let mut source = vec![0.0; nd];
|
||||||
|
for id in 0..nd {
|
||||||
|
let t = params.model.modpar.temp[id];
|
||||||
|
let hkt = HK / t;
|
||||||
|
let x = (hkt * fr).min(150.0);
|
||||||
|
source[id] = h_over_c2 * fr.powi(3) / (x.exp() - 1.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 多角度积分
|
||||||
|
for id in 0..nd {
|
||||||
|
jnu[id][ij] = 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 也收集 Eddington 因子 K/J
|
||||||
|
let mut rad1_ij = vec![0.0; nd];
|
||||||
|
let mut fak1_ij = vec![UN / 3.0; nd]; // 默认 Eddington 因子
|
||||||
|
|
||||||
|
for k in 0..3 {
|
||||||
|
let mu_k = gl_mu[k];
|
||||||
|
let w_k = gl_w[k];
|
||||||
|
|
||||||
|
// 角度光学深度: dtau_μ = dtau / μ
|
||||||
|
let mut dtau_mu = vec![0.0; nd - 1];
|
||||||
|
for id in 0..(nd - 1) {
|
||||||
|
dtau_mu[id] = dtau_freq[id] / mu_k;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 入射强度(向下,无外部辐射)
|
||||||
|
let mut ri_in = vec![0.0; nd];
|
||||||
|
let mut ali_in = vec![0.0; nd];
|
||||||
|
rtesol(&dtau_mu, &source, 0.0, 0.0, -mu_k,
|
||||||
|
&mut ri_in, &mut ali_in, nd);
|
||||||
|
|
||||||
|
// 出射强度(向上)
|
||||||
|
let rdown_bottom = source[nd - 1];
|
||||||
|
let mut ri_out = vec![0.0; nd];
|
||||||
|
let mut ali_out = vec![0.0; nd];
|
||||||
|
rtesol(&dtau_mu, &source, 0.0, rdown_bottom, mu_k,
|
||||||
|
&mut ri_out, &mut ali_out, nd);
|
||||||
|
|
||||||
|
// 累加 Jν += w_k * (I_in + I_out) / 2
|
||||||
|
for id in 0..nd {
|
||||||
|
jnu[id][ij] += w_k * 0.5 * (ri_in[id] + ri_out[id]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 安全夹紧
|
||||||
|
for id in 0..nd {
|
||||||
|
if jnu[id][ij] < 0.0 || jnu[id][ij].is_nan() {
|
||||||
|
jnu[id][ij] = source[id];
|
||||||
|
}
|
||||||
|
rad1_ij[id] = jnu[id][ij];
|
||||||
|
}
|
||||||
|
|
||||||
|
// 近似 Eddington 因子: f = K/J ≈ 1/3 (各向同性)
|
||||||
|
// 在深处修正: f ≈ J/(4πB) 或更精确地由形式解计算
|
||||||
|
// 对于 LTE 初始迭代,使用 1/3 即可
|
||||||
|
rad1_data.push(Rad1PointData {
|
||||||
|
rad1: rad1_ij,
|
||||||
|
fak1: fak1_ij,
|
||||||
|
});
|
||||||
|
|
||||||
|
// 构建不透明度数据用于 Lucy
|
||||||
|
let mut abso1_ij = vec![0.0; nd];
|
||||||
|
let mut abso1l_ij = vec![0.0; nd];
|
||||||
|
let mut emis1l_ij = vec![0.0; nd];
|
||||||
|
let mut scat1_ij = vec![0.0; nd];
|
||||||
|
for id in 0..nd {
|
||||||
|
let dens = params.model.modpar.dens[id];
|
||||||
|
let dens_safe = dens.max(1e-30);
|
||||||
|
let ne = ne_arr[id];
|
||||||
|
abso1_ij[id] = chi[id][ij] * dens_safe; // cm⁻¹
|
||||||
|
abso1l_ij[id] = abso1_ij[id]; // LTE: 全部为真吸收 + 散射
|
||||||
|
emis1l_ij[id] = ab_true[id][ij] * dens_safe * source[id]; // 发射 = 真吸收 × Bν
|
||||||
|
scat1_ij[id] = SIGE * ne; // 电子散射 (cm⁻¹)
|
||||||
|
}
|
||||||
|
opacfl_data.push(OpacflPointData {
|
||||||
|
abso1: abso1_ij,
|
||||||
|
abso1l: abso1l_ij,
|
||||||
|
emis1l: emis1l_ij,
|
||||||
|
scat1: scat1_ij,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==============================================================
|
||||||
|
// Step 4: 计算辐射压力梯度 pradt
|
||||||
|
// ==============================================================
|
||||||
|
// dP_rad/dm = (4π/c) Σ_ν κ_ν^true × (J_ν - B_ν) × w_ν
|
||||||
|
// Lucy 用 pradt 来修正流体静力学平衡
|
||||||
|
let mut pradt = vec![0.0; nd];
|
||||||
|
for id in 0..nd {
|
||||||
|
let t = params.model.modpar.temp[id];
|
||||||
|
let hkt = HK / t;
|
||||||
|
let mut sum_prad = 0.0;
|
||||||
|
for ij in 0..nfreq {
|
||||||
|
let fr = freq[ij];
|
||||||
|
let x = (hkt * fr).min(150.0);
|
||||||
|
let bnu = h_over_c2 * fr.powi(3) / (x.exp() - 1.0);
|
||||||
|
let jnu_val = rad1_data[ij].rad1[id];
|
||||||
|
// 真吸收系数 (不含散射) per gram
|
||||||
|
let ab_true_gram = opacfl_data[ij].abso1l[id]
|
||||||
|
/ params.model.modpar.dens[id].max(1e-30);
|
||||||
|
sum_prad += ab_true_gram * (jnu_val - bnu) * weights[ij];
|
||||||
|
}
|
||||||
|
pradt[id] = 4.0 * PI / c_light * sum_prad;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 辅助数组
|
||||||
|
let dens1: Vec<f64> = params.model.modpar.dens.iter()
|
||||||
|
.map(|d| 1.0 / d.max(1e-30))
|
||||||
|
.collect();
|
||||||
|
let vturb = vec![0.0; nd];
|
||||||
|
let mut pgs = vec![0.0; nd];
|
||||||
|
|
||||||
|
let lucy_config = LucyConfig {
|
||||||
|
itlucy: 1, // 单次 Lambda 迭代只做一步 Lucy
|
||||||
|
iaclt: 10,
|
||||||
|
iacldt: 1,
|
||||||
|
ihecor: 1,
|
||||||
|
lte: config.lte,
|
||||||
|
lchc: config.lchc,
|
||||||
|
ielcor: config.ielcor,
|
||||||
|
iter,
|
||||||
|
ntrl: 0,
|
||||||
|
iluctr: vec![0; MTRANS],
|
||||||
|
};
|
||||||
|
|
||||||
|
let lucy_model = LucyModelParams {
|
||||||
|
nd,
|
||||||
|
nfreq,
|
||||||
|
ntrans: config.ntrans,
|
||||||
|
teff,
|
||||||
|
grav,
|
||||||
|
prd0,
|
||||||
|
dm: ¶ms.model.modpar.dm[..nd],
|
||||||
|
temp: ¶ms.model.modpar.temp[..nd],
|
||||||
|
elec: ¶ms.model.modpar.elec[..nd],
|
||||||
|
dens: ¶ms.model.modpar.dens[..nd],
|
||||||
|
dens1: &dens1,
|
||||||
|
wmm: &wmm_arr,
|
||||||
|
deldm: &deldm,
|
||||||
|
vturb: &vturb,
|
||||||
|
pradt: &pradt,
|
||||||
|
pgs: &mut pgs,
|
||||||
|
freq: &freq[..nfreq],
|
||||||
|
w: &weights[..nfreq],
|
||||||
|
fh: &fh,
|
||||||
|
hextrd: &hextrd,
|
||||||
|
lac2t: false,
|
||||||
|
};
|
||||||
|
|
||||||
|
let lucy_output = lucy_pure(&lucy_config, &lucy_model, &opacfl_data, &rad1_data);
|
||||||
|
|
||||||
|
// ==============================================================
|
||||||
|
// Step 5: 更新模型状态
|
||||||
|
// ==============================================================
|
||||||
|
for id in 0..nd {
|
||||||
|
let t_new = lucy_output.temp[id].max(3000.0).min(200000.0);
|
||||||
|
params.model.modpar.temp[id] = t_new;
|
||||||
|
params.model.modpar.elec[id] = lucy_output.elec[id];
|
||||||
|
// Density from Lucy may be wrong at surface (nearly fully ionized gas gives rho~0)
|
||||||
|
// Keep original density; will be updated properly when SOLVE is implemented
|
||||||
|
if lucy_output.dens[id] > 1e-25 {
|
||||||
|
params.model.modpar.dens[id] = lucy_output.dens[id];
|
||||||
|
} params.model.modpar.sqt1[id] = t_new.sqrt();
|
||||||
|
params.model.modpar.hkt1[id] = HK / t_new;
|
||||||
|
params.model.modpar.tk1[id] = 1.0 / t_new;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 存储辐射场到 TotRad (供后续 SOLVE 使用)
|
||||||
|
for ij in 0..nfreq {
|
||||||
|
for id in 0..nd {
|
||||||
|
params.model.totrad.rad[ij][id] = rad1_data[ij].rad1[id];
|
||||||
|
params.model.totrad.fak[ij][id] = rad1_data[ij].fak1[id];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 诊断输出
|
// 诊断输出
|
||||||
if config.iprind == 2 {
|
if config.iprind == 2 {
|
||||||
// output(writer, &OutputParams { ... });
|
if let Some(w) = writer.as_mut() {
|
||||||
debug_log!("RESOLV: OUTPUT called (iprind=2)");
|
let _ = w.write_raw(&format!(
|
||||||
|
" Lambda iter {}: max dH/H = {:.4e}, T_surf = {:.0}, T_bottom = {:.0}\n",
|
||||||
|
ilam, lucy_output.dhhmx1,
|
||||||
|
params.model.modpar.temp[0], params.model.modpar.temp[nd - 1],
|
||||||
|
));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
debug_log!("RESOLV: Lambda iter {} done, dhhmx={:.4e}", ilam, lucy_output.dhhmx1);
|
||||||
|
|
||||||
// 加速收敛
|
// 加速收敛
|
||||||
if config.iacpp > 0 {
|
if config.iacpp > 0 {
|
||||||
// accelp(&mut AccelpParams { ... });
|
|
||||||
debug_log!("RESOLV: ACCELP called (iacpp={})", config.iacpp);
|
debug_log!("RESOLV: ACCELP called (iacpp={})", config.iacpp);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Lucy 迭代
|
|
||||||
// lucy_pure(&LucyParams { ... });
|
|
||||||
debug_log!("RESOLV: LUCY called");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------
|
// -----------------------------------------------------------
|
||||||
@ -401,9 +693,14 @@ pub fn resolv<W: std::io::Write>(
|
|||||||
debug_log!("RESOLV: ROSSTD(0) called");
|
debug_log!("RESOLV: ROSSTD(0) called");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 输出模型
|
// 输出模型 — 对应 Fortran CALL OUTPUT (line 84)
|
||||||
// output(writer, &OutputParams { ... });
|
if let Some(w7) = params.writer7.as_mut() {
|
||||||
debug_log!("RESOLV: OUTPUT called");
|
let output_params = OutputParams {
|
||||||
|
config: params.tlusty_config,
|
||||||
|
model: params.model,
|
||||||
|
};
|
||||||
|
let _ = output(w7, &output_params, None, None);
|
||||||
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------
|
// -----------------------------------------------------------
|
||||||
// Part 6: 压力评估
|
// Part 6: 压力评估
|
||||||
@ -539,10 +836,15 @@ pub fn resolv<W: std::io::Write>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------
|
// -----------------------------------------------------------
|
||||||
// Part 13: 输出压缩模型到 fort.7
|
// Part 13: 输出压缩模型到 fort.7 — 对应 Fortran CALL OUTPUT (line 159)
|
||||||
// -----------------------------------------------------------
|
// -----------------------------------------------------------
|
||||||
// output(writer, &OutputParams { ... });
|
if let Some(w7) = params.writer7.as_mut() {
|
||||||
debug_log!("RESOLV: OUTPUT called (model to fort.7)");
|
let output_params = OutputParams {
|
||||||
|
config: params.tlusty_config,
|
||||||
|
model: params.model,
|
||||||
|
};
|
||||||
|
let _ = output(w7, &output_params, None, None);
|
||||||
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------
|
// -----------------------------------------------------------
|
||||||
// Part 14: 最终输出
|
// Part 14: 最终输出
|
||||||
@ -576,8 +878,8 @@ pub fn resolv<W: std::io::Write>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// 最终输出处理。
|
/// 最终输出处理。
|
||||||
fn final_output<W: std::io::Write>(
|
fn final_output<W: std::io::Write, W7: std::io::Write>(
|
||||||
params: &mut ResolvParams,
|
params: &mut ResolvParams<W7>,
|
||||||
_writer: Option<&mut FortranWriter<W>>,
|
_writer: Option<&mut FortranWriter<W>>,
|
||||||
) -> ResolvOutput {
|
) -> ResolvOutput {
|
||||||
let config = ¶ms.config;
|
let config = ¶ms.config;
|
||||||
@ -636,7 +938,7 @@ fn final_output<W: std::io::Write>(
|
|||||||
/// 纯计算版本的 RESOLV(无 I/O 操作)。
|
/// 纯计算版本的 RESOLV(无 I/O 操作)。
|
||||||
///
|
///
|
||||||
/// 用于测试和嵌入式使用。
|
/// 用于测试和嵌入式使用。
|
||||||
pub fn resolv_pure(params: &mut ResolvParams) -> ResolvOutput {
|
pub fn resolv_pure<W7: std::io::Write>(params: &mut ResolvParams<W7>) -> ResolvOutput {
|
||||||
resolv(params, None::<&mut FortranWriter<std::io::Empty>>)
|
resolv(params, None::<&mut FortranWriter<std::io::Empty>>)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -667,31 +969,29 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_resolv_pure_basic() {
|
fn test_resolv_pure_basic() {
|
||||||
// 创建默认配置
|
// 创建默认配置 - 使用小网格避免 OOM
|
||||||
let config = ResolvConfig {
|
let config = ResolvConfig {
|
||||||
iter: 1,
|
iter: 1,
|
||||||
init: 1,
|
init: 1,
|
||||||
lfin: false,
|
lfin: false,
|
||||||
nd: 10,
|
nd: 5,
|
||||||
nfreq: 100,
|
nfreq: 10,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
|
|
||||||
// 创建最小化的状态
|
// 创建最小化的状态
|
||||||
let mut tlusty_config = TlustyConfig::default();
|
let mut tlusty_config = TlustyConfig::default();
|
||||||
|
tlusty_config.inppar.teff = 10000.0;
|
||||||
|
tlusty_config.inppar.grav = 1e4;
|
||||||
let mut atomic = AtomicData::default();
|
let mut atomic = AtomicData::default();
|
||||||
let mut model = ModelState::new();
|
let mut model = create_minimal_model(5);
|
||||||
|
|
||||||
// 初始化模型温度
|
|
||||||
for i in 0..10 {
|
|
||||||
model.modpar.temp[i] = 10000.0 - i as f64 * 500.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
let mut params = ResolvParams {
|
let mut params = ResolvParams {
|
||||||
config,
|
config,
|
||||||
tlusty_config: &mut tlusty_config,
|
tlusty_config: &mut tlusty_config,
|
||||||
atomic: &mut atomic,
|
atomic: &mut atomic,
|
||||||
model: &mut model,
|
model: &mut model,
|
||||||
|
writer7: None,
|
||||||
};
|
};
|
||||||
|
|
||||||
// 执行 RESOLV
|
// 执行 RESOLV
|
||||||
@ -701,6 +1001,19 @@ mod tests {
|
|||||||
assert_eq!(result.iter, 1);
|
assert_eq!(result.iter, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// 辅助函数:创建具有最小有效物理数据的 ModelState
|
||||||
|
fn create_minimal_model(nd: usize) -> ModelState {
|
||||||
|
let mut model = ModelState::new();
|
||||||
|
for i in 0..nd {
|
||||||
|
let t = 10000.0 - i as f64 * 500.0;
|
||||||
|
model.modpar.temp[i] = t;
|
||||||
|
model.modpar.elec[i] = 1e12;
|
||||||
|
model.modpar.dens[i] = 1e-12;
|
||||||
|
model.modpar.dm[i] = (i + 1) as f64 * 1e-6;
|
||||||
|
}
|
||||||
|
model
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_resolv_final_iteration() {
|
fn test_resolv_final_iteration() {
|
||||||
// 测试最终迭代
|
// 测试最终迭代
|
||||||
@ -708,20 +1021,22 @@ mod tests {
|
|||||||
iter: 5,
|
iter: 5,
|
||||||
init: 0,
|
init: 0,
|
||||||
lfin: true,
|
lfin: true,
|
||||||
nd: 10,
|
nd: 5,
|
||||||
nfreq: 100,
|
nfreq: 10,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut tlusty_config = TlustyConfig::default();
|
let mut tlusty_config = TlustyConfig::default();
|
||||||
|
tlusty_config.inppar.teff = 10000.0;
|
||||||
let mut atomic = AtomicData::default();
|
let mut atomic = AtomicData::default();
|
||||||
let mut model = ModelState::new();
|
let mut model = create_minimal_model(5);
|
||||||
|
|
||||||
let mut params = ResolvParams {
|
let mut params = ResolvParams {
|
||||||
config,
|
config,
|
||||||
tlusty_config: &mut tlusty_config,
|
tlusty_config: &mut tlusty_config,
|
||||||
atomic: &mut atomic,
|
atomic: &mut atomic,
|
||||||
model: &mut model,
|
model: &mut model,
|
||||||
|
writer7: None,
|
||||||
};
|
};
|
||||||
|
|
||||||
let result = resolv_pure(&mut params);
|
let result = resolv_pure(&mut params);
|
||||||
@ -738,20 +1053,22 @@ mod tests {
|
|||||||
init: 1,
|
init: 1,
|
||||||
lfin: false,
|
lfin: false,
|
||||||
lte: true,
|
lte: true,
|
||||||
nd: 10,
|
nd: 5,
|
||||||
nfreq: 100,
|
nfreq: 10,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut tlusty_config = TlustyConfig::default();
|
let mut tlusty_config = TlustyConfig::default();
|
||||||
|
tlusty_config.inppar.teff = 10000.0;
|
||||||
let mut atomic = AtomicData::default();
|
let mut atomic = AtomicData::default();
|
||||||
let mut model = ModelState::new();
|
let mut model = create_minimal_model(5);
|
||||||
|
|
||||||
let mut params = ResolvParams {
|
let mut params = ResolvParams {
|
||||||
config,
|
config,
|
||||||
tlusty_config: &mut tlusty_config,
|
tlusty_config: &mut tlusty_config,
|
||||||
atomic: &mut atomic,
|
atomic: &mut atomic,
|
||||||
model: &mut model,
|
model: &mut model,
|
||||||
|
writer7: None,
|
||||||
};
|
};
|
||||||
|
|
||||||
let result = resolv_pure(&mut params);
|
let result = resolv_pure(&mut params);
|
||||||
@ -769,20 +1086,22 @@ mod tests {
|
|||||||
iconre: 5,
|
iconre: 5,
|
||||||
iconrs: 1,
|
iconrs: 1,
|
||||||
ipconf: 1,
|
ipconf: 1,
|
||||||
nd: 10,
|
nd: 5,
|
||||||
nfreq: 100,
|
nfreq: 10,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut tlusty_config = TlustyConfig::default();
|
let mut tlusty_config = TlustyConfig::default();
|
||||||
|
tlusty_config.inppar.teff = 10000.0;
|
||||||
let mut atomic = AtomicData::default();
|
let mut atomic = AtomicData::default();
|
||||||
let mut model = ModelState::new();
|
let mut model = create_minimal_model(5);
|
||||||
|
|
||||||
let mut params = ResolvParams {
|
let mut params = ResolvParams {
|
||||||
config,
|
config,
|
||||||
tlusty_config: &mut tlusty_config,
|
tlusty_config: &mut tlusty_config,
|
||||||
atomic: &mut atomic,
|
atomic: &mut atomic,
|
||||||
model: &mut model,
|
model: &mut model,
|
||||||
|
writer7: None,
|
||||||
};
|
};
|
||||||
|
|
||||||
let result = resolv_pure(&mut params);
|
let result = resolv_pure(&mut params);
|
||||||
|
|||||||
@ -52,6 +52,7 @@
|
|||||||
|
|
||||||
use std::io;
|
use std::io;
|
||||||
use std::time::Instant;
|
use std::time::Instant;
|
||||||
|
use std::fs::File;
|
||||||
|
|
||||||
use super::io::{
|
use super::io::{
|
||||||
FortranReader, FortranWriter,
|
FortranReader, FortranWriter,
|
||||||
@ -260,6 +261,10 @@ pub fn run_tlusty<R: io::BufRead, W: io::Write>(
|
|||||||
// 临时文件(对应 OPEN(UNIT=91,92,93))
|
// 临时文件(对应 OPEN(UNIT=91,92,93))
|
||||||
let mut _scratch = ScratchFiles::default();
|
let mut _scratch = ScratchFiles::default();
|
||||||
|
|
||||||
|
// fort.7 输出文件(Fortran OUTPUT 写入 UNIT=7)
|
||||||
|
let fort7_file = File::create("fort.7").expect("Cannot create fort.7");
|
||||||
|
let mut fort7_writer = FortranWriter::new(fort7_file);
|
||||||
|
|
||||||
// 从配置中获取 NITER
|
// 从配置中获取 NITER
|
||||||
state.niter = if config.runkey.niter > 0 { config.runkey.niter } else { 100 };
|
state.niter = if config.runkey.niter > 0 { config.runkey.niter } else { 100 };
|
||||||
|
|
||||||
@ -307,6 +312,10 @@ pub fn run_tlusty<R: io::BufRead, W: io::Write>(
|
|||||||
let nd = state.nd;
|
let nd = state.nd;
|
||||||
let mut work_arrays = TlustyWorkArrays::new(nn, nd);
|
let mut work_arrays = TlustyWorkArrays::new(nn, nd);
|
||||||
|
|
||||||
|
// 打开 fort.7 输出文件(对应 Fortran OPEN(UNIT=7,...) 在 OUTPUT 中使用)
|
||||||
|
let fort7_file = File::create("fort.7").expect("Cannot create fort.7");
|
||||||
|
let mut fort7_writer = FortranWriter::new(fort7_file);
|
||||||
|
|
||||||
// ========================================
|
// ========================================
|
||||||
// 主迭代循环
|
// 主迭代循环
|
||||||
// 对应 Fortran:
|
// 对应 Fortran:
|
||||||
@ -374,6 +383,7 @@ pub fn run_tlusty<R: io::BufRead, W: io::Write>(
|
|||||||
tlusty_config: config,
|
tlusty_config: config,
|
||||||
atomic: &mut atomic,
|
atomic: &mut atomic,
|
||||||
model: &mut model,
|
model: &mut model,
|
||||||
|
writer7: Some(&mut fort7_writer),
|
||||||
};
|
};
|
||||||
resolv(&mut resolv_params, Some(output_writer));
|
resolv(&mut resolv_params, Some(output_writer));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -231,7 +231,7 @@ pub fn lte_meanopt(params: &LteOpacityParams, grid: &LteFrequencyGrid) -> LteOpa
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// 计算给定频率点的吸收和散射系数 (per cm³)。
|
/// 计算给定频率点的吸收和散射系数 (per cm³)。
|
||||||
fn compute_opacity_at_frequency(
|
pub fn compute_opacity_at_frequency(
|
||||||
fr: f64,
|
fr: f64,
|
||||||
t: f64,
|
t: f64,
|
||||||
ne: f64,
|
ne: f64,
|
||||||
|
|||||||
@ -31,6 +31,7 @@ pub use crate::tlusty::math::opacity::{cia_h2h, cia_h2h2, cia_h2he, cia_hhe};
|
|||||||
pub use lte_opacity::{
|
pub use lte_opacity::{
|
||||||
LteOpacityParams, LteOpacityOutput, LteFrequencyGrid,
|
LteOpacityParams, LteOpacityOutput, LteFrequencyGrid,
|
||||||
lte_meanopt, generate_lte_frequency_grid, quick_lte_rosseland,
|
lte_meanopt, generate_lte_frequency_grid, quick_lte_rosseland,
|
||||||
|
compute_opacity_at_frequency,
|
||||||
};
|
};
|
||||||
pub use lte_opacity::{
|
pub use lte_opacity::{
|
||||||
LteOpacityParams as LteOpacityParamsOld, LteOpacityOutput as LteOpacityOutputOld,
|
LteOpacityParams as LteOpacityParamsOld, LteOpacityOutput as LteOpacityOutputOld,
|
||||||
|
|||||||
@ -470,14 +470,14 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_corrwm_basic() {
|
fn test_corrwm_basic() {
|
||||||
let (mut basnum, trapar, mut frqall, mut freaux, phoexp) = create_test_state();
|
let (mut basnum, trapar, mut frqall, mut freaux, mut phoexp) = create_test_state();
|
||||||
|
|
||||||
let mut params = CorrwmParams {
|
let mut params = CorrwmParams {
|
||||||
basnum: &mut basnum,
|
basnum: &mut basnum,
|
||||||
trapar: &trapar,
|
trapar: &trapar,
|
||||||
frqall: &mut frqall,
|
frqall: &mut frqall,
|
||||||
freaux: &mut freaux,
|
freaux: &mut freaux,
|
||||||
phoexp: &phoexp,
|
phoexp: &mut phoexp,
|
||||||
};
|
};
|
||||||
|
|
||||||
corrwm(&mut params);
|
corrwm(&mut params);
|
||||||
@ -496,14 +496,14 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_corrwm_lskip_radiation_pressure() {
|
fn test_corrwm_lskip_radiation_pressure() {
|
||||||
let (mut basnum, trapar, mut frqall, mut freaux, phoexp) = create_test_state();
|
let (mut basnum, trapar, mut frqall, mut freaux, mut phoexp) = create_test_state();
|
||||||
|
|
||||||
let mut params = CorrwmParams {
|
let mut params = CorrwmParams {
|
||||||
basnum: &mut basnum,
|
basnum: &mut basnum,
|
||||||
trapar: &trapar,
|
trapar: &trapar,
|
||||||
frqall: &mut frqall,
|
frqall: &mut frqall,
|
||||||
freaux: &mut freaux,
|
freaux: &mut freaux,
|
||||||
phoexp: &phoexp,
|
phoexp: &mut phoexp,
|
||||||
};
|
};
|
||||||
|
|
||||||
corrwm(&mut params);
|
corrwm(&mut params);
|
||||||
@ -534,14 +534,14 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_corrwm_w0e_bnue_wc() {
|
fn test_corrwm_w0e_bnue_wc() {
|
||||||
let (mut basnum, trapar, mut frqall, mut freaux, phoexp) = create_test_state();
|
let (mut basnum, trapar, mut frqall, mut freaux, mut phoexp) = create_test_state();
|
||||||
|
|
||||||
let mut params = CorrwmParams {
|
let mut params = CorrwmParams {
|
||||||
basnum: &mut basnum,
|
basnum: &mut basnum,
|
||||||
trapar: &trapar,
|
trapar: &trapar,
|
||||||
frqall: &mut frqall,
|
frqall: &mut frqall,
|
||||||
freaux: &mut freaux,
|
freaux: &mut freaux,
|
||||||
phoexp: &phoexp,
|
phoexp: &mut phoexp,
|
||||||
};
|
};
|
||||||
|
|
||||||
corrwm(&mut params);
|
corrwm(&mut params);
|
||||||
@ -565,7 +565,7 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_corrwm_rybicki_mode() {
|
fn test_corrwm_rybicki_mode() {
|
||||||
let (mut basnum, trapar, mut frqall, mut freaux, phoexp) = create_test_state();
|
let (mut basnum, trapar, mut frqall, mut freaux, mut phoexp) = create_test_state();
|
||||||
|
|
||||||
// 启用 Rybicki 模式
|
// 启用 Rybicki 模式
|
||||||
basnum.ifryb = 1;
|
basnum.ifryb = 1;
|
||||||
@ -575,7 +575,7 @@ mod tests {
|
|||||||
trapar: &trapar,
|
trapar: &trapar,
|
||||||
frqall: &mut frqall,
|
frqall: &mut frqall,
|
||||||
freaux: &mut freaux,
|
freaux: &mut freaux,
|
||||||
phoexp: &phoexp,
|
phoexp: &mut phoexp,
|
||||||
};
|
};
|
||||||
|
|
||||||
corrwm(&mut params);
|
corrwm(&mut params);
|
||||||
@ -591,7 +591,7 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_corrwm_skip_all_radiation_pressure() {
|
fn test_corrwm_skip_all_radiation_pressure() {
|
||||||
let (mut basnum, trapar, mut frqall, mut freaux, phoexp) = create_test_state();
|
let (mut basnum, trapar, mut frqall, mut freaux, mut phoexp) = create_test_state();
|
||||||
|
|
||||||
// 跳过所有辐射压力
|
// 跳过所有辐射压力
|
||||||
basnum.ifprad = 0;
|
basnum.ifprad = 0;
|
||||||
@ -601,7 +601,7 @@ mod tests {
|
|||||||
trapar: &trapar,
|
trapar: &trapar,
|
||||||
frqall: &mut frqall,
|
frqall: &mut frqall,
|
||||||
freaux: &mut freaux,
|
freaux: &mut freaux,
|
||||||
phoexp: &phoexp,
|
phoexp: &mut phoexp,
|
||||||
};
|
};
|
||||||
|
|
||||||
corrwm(&mut params);
|
corrwm(&mut params);
|
||||||
@ -619,14 +619,14 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_corrwm_io() {
|
fn test_corrwm_io() {
|
||||||
let (mut basnum, trapar, mut frqall, mut freaux, phoexp) = create_test_state();
|
let (mut basnum, trapar, mut frqall, mut freaux, mut phoexp) = create_test_state();
|
||||||
|
|
||||||
let mut params = CorrwmParams {
|
let mut params = CorrwmParams {
|
||||||
basnum: &mut basnum,
|
basnum: &mut basnum,
|
||||||
trapar: &trapar,
|
trapar: &trapar,
|
||||||
frqall: &mut frqall,
|
frqall: &mut frqall,
|
||||||
freaux: &mut freaux,
|
freaux: &mut freaux,
|
||||||
phoexp: &phoexp,
|
phoexp: &mut phoexp,
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut writer = FortranWriter::to_memory();
|
let mut writer = FortranWriter::to_memory();
|
||||||
|
|||||||
@ -167,8 +167,8 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_quasim_disabled() {
|
fn test_quasim_disabled() {
|
||||||
let (model, atomic, basnum, freq) = create_test_data();
|
let (mut model, atomic, basnum, freq) = create_test_data();
|
||||||
let result = quasim(0, &model, &atomic, &basnum, &freq);
|
let result = quasim(0, &mut model, &atomic, &basnum, &freq);
|
||||||
// 当禁用时,所有值应为 0
|
// 当禁用时,所有值应为 0
|
||||||
for &val in &result.sgd {
|
for &val in &result.sgd {
|
||||||
assert_relative_eq!(val, 0.0, epsilon = 1e-30);
|
assert_relative_eq!(val, 0.0, epsilon = 1e-30);
|
||||||
@ -180,7 +180,7 @@ mod tests {
|
|||||||
let (mut model, atomic, basnum, mut freq) = create_test_data();
|
let (mut model, atomic, basnum, mut freq) = create_test_data();
|
||||||
model.quasun.iquasi = 1;
|
model.quasun.iquasi = 1;
|
||||||
freq[0] = 1e15; // 波长 < 911 Å
|
freq[0] = 1e15; // 波长 < 911 Å
|
||||||
let result = quasim(0, &model, &atomic, &basnum, &freq);
|
let result = quasim(0, &mut model, &atomic, &basnum, &freq);
|
||||||
for &val in &result.sgd {
|
for &val in &result.sgd {
|
||||||
assert_relative_eq!(val, 0.0, epsilon = 1e-30);
|
assert_relative_eq!(val, 0.0, epsilon = 1e-30);
|
||||||
}
|
}
|
||||||
@ -207,7 +207,7 @@ mod tests {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let result = quasim(0, &model, &atomic, &basnum, &freq);
|
let result = quasim(0, &mut model, &atomic, &basnum, &freq);
|
||||||
// 应该返回非零值
|
// 应该返回非零值
|
||||||
assert!(result.sgd.iter().any(|&v| v > 0.0));
|
assert!(result.sgd.iter().any(|&v| v > 0.0));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -119,7 +119,8 @@ pub struct Accel2Output {
|
|||||||
/// 当 `need_resolv` 为 true 时,调用者需要执行 RESOLV 重新计算
|
/// 当 `need_resolv` 为 true 时,调用者需要执行 RESOLV 重新计算
|
||||||
pub fn accel2_pure(params: &mut Accel2Params) -> Accel2Output {
|
pub fn accel2_pure(params: &mut Accel2Params) -> Accel2Output {
|
||||||
// 标记 RESOLV 依赖(Fortran 在加速后调用 RESOLV)
|
// 标记 RESOLV 依赖(Fortran 在加速后调用 RESOLV)
|
||||||
let _ = resolv_pure;
|
// 标记依赖(确保编译器知道 accel2 依赖 resolv_pure)
|
||||||
|
let _ = "accel2 depends on resolv_pure";
|
||||||
|
|
||||||
let config = &mut params.config;
|
let config = &mut params.config;
|
||||||
let iter = config.iter;
|
let iter = config.iter;
|
||||||
|
|||||||
@ -393,7 +393,8 @@ pub fn lucy_pure(
|
|||||||
let mut xx1 = 0.0;
|
let mut xx1 = 0.0;
|
||||||
|
|
||||||
// 表面点
|
// 表面点
|
||||||
let tp3 = model.temp[0].powi(3);
|
// Fortran: TP3 = TEMP1(ID)**3, where TEMP1 = 1/T
|
||||||
|
let tp3 = model.temp[0].powi(-3);
|
||||||
xx = state.eddf[0] / state.eddh * state.delh[0];
|
xx = state.eddf[0] / state.eddh * state.delh[0];
|
||||||
xx1 = xx;
|
xx1 = xx;
|
||||||
state.dt1[0] = state.heat[0] / 16.0 / SIG4P * tp3 / state.absp[0];
|
state.dt1[0] = state.heat[0] / 16.0 / SIG4P * tp3 / state.absp[0];
|
||||||
@ -402,7 +403,8 @@ pub fn lucy_pure(
|
|||||||
|
|
||||||
// 内部点
|
// 内部点
|
||||||
for id in 1..nd {
|
for id in 1..nd {
|
||||||
let tp3 = model.temp[id].powi(3);
|
// Fortran: TP3 = TEMP1(ID)**3, where TEMP1 = 1/T
|
||||||
|
let tp3 = model.temp[id].powi(-3);
|
||||||
xx += model.deldm[id - 1]
|
xx += model.deldm[id - 1]
|
||||||
* (state.absh[id - 1] * model.dens1[id - 1] * state.delh[id - 1]
|
* (state.absh[id - 1] * model.dens1[id - 1] * state.delh[id - 1]
|
||||||
+ state.absh[id] * model.dens1[id] * state.delh[id]);
|
+ state.absh[id] * model.dens1[id] * state.delh[id]);
|
||||||
|
|||||||
@ -312,6 +312,7 @@ pub fn saha_factor(s: f64, t: f64, g1: f64, g2: f64, enion: f64) -> f64 {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use crate::tlusty::state::constants::MLEVEL;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_saha_factor() {
|
fn test_saha_factor() {
|
||||||
|
|||||||
@ -394,7 +394,7 @@ mod tests {
|
|||||||
params.kij[i] = 5 - i;
|
params.kij[i] = 5 - i;
|
||||||
}
|
}
|
||||||
|
|
||||||
let result = comset(¶ms);
|
let result = comset(¶ms, None);
|
||||||
|
|
||||||
// 当 ICOMPT = 0 时,只计算 SIGEC
|
// 当 ICOMPT = 0 时,只计算 SIGEC
|
||||||
// 检查 SIGEC 有限
|
// 检查 SIGEC 有限
|
||||||
@ -406,7 +406,7 @@ mod tests {
|
|||||||
#[test]
|
#[test]
|
||||||
fn test_comset_basic() {
|
fn test_comset_basic() {
|
||||||
let params = create_test_params();
|
let params = create_test_params();
|
||||||
let result = comset(¶ms);
|
let result = comset(¶ms, None);
|
||||||
|
|
||||||
// 检查 IJORIG 映射 (只检查前 nfreq 个元素)
|
// 检查 IJORIG 映射 (只检查前 nfreq 个元素)
|
||||||
for i in 0..params.nfreq {
|
for i in 0..params.nfreq {
|
||||||
@ -441,7 +441,7 @@ mod tests {
|
|||||||
let mut params = create_test_params();
|
let mut params = create_test_params();
|
||||||
params.ichcoo = 1; // 高阶模式
|
params.ichcoo = 1; // 高阶模式
|
||||||
|
|
||||||
let result = comset(¶ms);
|
let result = comset(¶ms, None);
|
||||||
|
|
||||||
// 检查结果有限
|
// 检查结果有限
|
||||||
for i in 0..params.nfreq {
|
for i in 0..params.nfreq {
|
||||||
@ -455,7 +455,7 @@ mod tests {
|
|||||||
let mut params = create_test_params();
|
let mut params = create_test_params();
|
||||||
params.knish = 1; // 完整 Klein-Nishina
|
params.knish = 1; // 完整 Klein-Nishina
|
||||||
|
|
||||||
let result = comset(¶ms);
|
let result = comset(¶ms, None);
|
||||||
|
|
||||||
// 检查 SIGEC 有限且为正
|
// 检查 SIGEC 有限且为正
|
||||||
for i in 0..params.nfreq {
|
for i in 0..params.nfreq {
|
||||||
@ -477,7 +477,7 @@ mod tests {
|
|||||||
// 高频 (xf > 1000)
|
// 高频 (xf > 1000)
|
||||||
params.freq[2] = 1e24; // xf ≈ 8e3
|
params.freq[2] = 1e24; // xf ≈ 8e3
|
||||||
|
|
||||||
let result = comset(¶ms);
|
let result = comset(¶ms, None);
|
||||||
|
|
||||||
// 所有 SIGEC 应为正且有限
|
// 所有 SIGEC 应为正且有限
|
||||||
for i in 0..3 {
|
for i in 0..3 {
|
||||||
|
|||||||
@ -1,25 +1,25 @@
|
|||||||
0 1 0.02 0.02 FORMAL SOLUTION
|
0 1 0.02 0.02 FORMAL SOLUTION
|
||||||
1 2 0.03 0.01 LINEARIZATION
|
1 2 0.03 0.01 LINEARIZATION
|
||||||
1 1 0.04 0.01 FORMAL SOLUTION
|
1 1 0.04 0.01 FORMAL SOLUTION
|
||||||
2 2 0.05 0.01 LINEARIZATION
|
2 2 0.04 0.01 LINEARIZATION
|
||||||
2 1 0.06 0.01 FORMAL SOLUTION
|
2 1 0.05 0.01 FORMAL SOLUTION
|
||||||
3 2 0.06 0.01 LINEARIZATION
|
3 2 0.06 0.01 LINEARIZATION
|
||||||
3 1 0.07 0.01 FORMAL SOLUTION
|
3 1 0.06 0.01 FORMAL SOLUTION
|
||||||
4 2 0.08 0.01 LINEARIZATION
|
4 2 0.07 0.01 LINEARIZATION
|
||||||
4 1 0.09 0.01 FORMAL SOLUTION
|
4 1 0.08 0.01 FORMAL SOLUTION
|
||||||
5 2 0.09 0.00 LINEARIZATION
|
5 2 0.08 0.00 LINEARIZATION
|
||||||
5 1 0.10 0.01 FORMAL SOLUTION
|
5 1 0.09 0.01 FORMAL SOLUTION
|
||||||
6 2 0.10 0.00 LINEARIZATION
|
6 2 0.09 0.00 LINEARIZATION
|
||||||
|
6 1 0.10 0.01 FORMAL SOLUTION
|
||||||
6 1 0.11 0.01 FORMAL SOLUTION
|
6 1 0.11 0.01 FORMAL SOLUTION
|
||||||
6 1 0.12 0.01 FORMAL SOLUTION
|
7 2 0.11 0.01 LINEARIZATION
|
||||||
7 2 0.13 0.01 LINEARIZATION
|
7 1 0.12 0.01 FORMAL SOLUTION
|
||||||
7 1 0.13 0.01 FORMAL SOLUTION
|
8 2 0.13 0.00 LINEARIZATION
|
||||||
8 2 0.14 0.00 LINEARIZATION
|
8 1 0.13 0.01 FORMAL SOLUTION
|
||||||
8 1 0.15 0.01 FORMAL SOLUTION
|
9 2 0.14 0.00 LINEARIZATION
|
||||||
9 2 0.15 0.00 LINEARIZATION
|
9 1 0.15 0.01 FORMAL SOLUTION
|
||||||
9 1 0.16 0.01 FORMAL SOLUTION
|
10 2 0.15 0.00 LINEARIZATION
|
||||||
10 2 0.16 0.00 LINEARIZATION
|
10 1 0.16 0.01 FORMAL SOLUTION
|
||||||
10 1 0.17 0.01 FORMAL SOLUTION
|
10 1 0.17 0.01 FORMAL SOLUTION
|
||||||
10 1 0.18 0.01 FORMAL SOLUTION
|
11 2 0.17 0.01 LINEARIZATION
|
||||||
11 2 0.19 0.01 LINEARIZATION
|
11 1 0.18 0.01 FORMAL SOLUTION
|
||||||
11 1 0.19 0.01 FORMAL SOLUTION
|
|
||||||
|
|||||||
@ -1,83 +1,643 @@
|
|||||||
70 42
|
70 42
|
||||||
2.500000E-7 3.292531E-7 4.380690E-7 5.874755E-7 7.698313E-7 1.019268E-6
|
2.916833E-07 3.974198E-07 5.432735E-07 7.446705E-07 1.035096E-06 1.435886E-06
|
||||||
1.360769E-6 1.831273E-6 2.477380E-6 3.364642E-6 4.582761E-6 6.255261E-6
|
1.989227E-06 2.751567E-06 3.803114E-06 5.253515E-06 7.254209E-06 1.001386E-05
|
||||||
8.551628E-6 1.170461E-5 1.603373E-5 2.197775E-5 3.013911E-5 4.134498E-5
|
1.382033E-05 1.907059E-05 2.631204E-05 3.629939E-05 5.007299E-05 6.906647E-05
|
||||||
5.673120E-5 7.785740E-5 1.068653E-4 1.466959E-4 2.013884E-4 2.743048E76
|
9.525454E-05 1.313556E-04 1.811084E-04 2.496481E-04 3.440134E-04 4.738263E-04
|
||||||
1.595737E278 3.732589E234 2.304553E235 3.846178E218 1.478045E221 3.345038E220
|
6.521856E-04 8.968293E-04 1.231619E-03 1.688418E-03 2.309478E-03 3.150486E-03
|
||||||
7.119637E221 4.880049E221 6.088648E221 4.818729E221 4.953434E221 4.831207E221
|
4.284528E-03 5.807234E-03 7.843453E-03 1.055585E-02 1.415591E-02 1.891760E-02
|
||||||
4.916524E221 4.904936E221 4.917136E221 4.910763E221 4.911866E221 4.910741E221
|
2.519424E-02 3.343817E-02 4.422339E-02 5.827060E-02 7.647520E-02 9.994054E-02
|
||||||
4.911214E221 4.911105E221 4.911204E221 4.911168E221 4.911179E221 4.911170E221
|
1.300220E-01 1.683911E-01 2.171286E-01 2.788481E-01 3.568445E-01 4.552483E-01
|
||||||
4.911173E221 4.911172E221 4.911173E221 4.911173E221 4.911173E221 4.911173E221
|
5.791987E-01 7.352033E-01 9.325333E-01 1.187425E+00 1.530590E+00 2.013182E+00
|
||||||
4.911173E221 4.911173E221 4.911173E221 4.911173E221 4.911173E221 4.911173E221
|
2.707833E+00 3.714245E+00 5.174676E+00 7.292350E+00 1.035222E+01 1.474422E+01
|
||||||
4.911173E221 4.911173E221 4.911173E221 4.911173E221 4.911173E221 4.911173E221
|
2.098967E+01 2.977151E+01 4.197714E+01 5.875907E+01 8.166259E+01 1.128477E+02
|
||||||
4.911173E221 4.911173E221 4.911173E221 4.911173E221
|
1.554952E+02 2.144320E+02 2.969972E+02 2.979588E+02
|
||||||
2.8391825E4 2.9517147E20 -4.9391928E-4 1.3029663E11 9.1016801E18 4.4919920E20 2.3534971E21 6.0645354E21 1.1459875E22 1.8375355E22 2.6693571E22 3.6339371E22 1.1377100E18 1.2744072E16 1.2615923E20 5.8230204E19 6.0425179E20 2.2344669E20 4.1261346E20 1.4936713E20 1.3928514E21 2.3854653E21 7.9527599E20 4.7971161E20 5.9014483E20 2.0322073E20 1.8548440E21 1.2911309E11 9.0809408E18 4.4874400E20 2.3521552E21 6.0623223E21 1.1456971E22 1.8371933E22 2.6689765E22 3.6335277E22 4.7261014E22 5.9436596E22 7.2842124E22 8.7464239E22 1.0329375E23 1.1377100E18
|
2.630623E+04 3.764090E+08 7.303884E-16 4.724829E-03 2.101596E-04
|
||||||
2.8391827E4 2.9501888E20 -4.9366394E-4 1.3022951E11 9.0969789E18 4.4896707E20 2.3522806E21 6.0614007E21 1.1453952E22 1.8365856E22 2.6679772E22 3.6320585E22 1.1371224E18 1.2737494E16 1.2609403E20 5.8200108E19 6.0393948E20 2.2333120E20 4.1240018E20 1.4928992E20 1.3921315E21 2.3842322E21 7.9486490E20 4.7946364E20 5.8983977E20 2.0311568E20 1.8538851E21 1.2904657E11 9.0762503E18 4.4851210E20 2.3509395E21 6.0591887E21 1.1451049E22 1.8362436E22 2.6675968E22 3.6316494E22 4.7236582E22 5.9405870E22 7.2804468E22 8.7419024E22 1.0324035E23 1.1371224E18
|
2.055412E-04 2.729826E-04 3.726817E-04 4.987229E-04 6.494618E-04
|
||||||
2.8391829E4 2.9481086E20 -4.9331585E-4 1.3013799E11 9.0905701E18 4.4865062E20 2.3506224E21 6.0571273E21 1.1445876E22 1.8352907E22 2.6660961E22 3.6294977E22 1.1363213E18 1.2728527E16 1.2600515E20 5.8159081E19 6.0351374E20 2.2317376E20 4.1210943E20 1.4918466E20 1.3911499E21 2.3825513E21 7.9430449E20 4.7912560E20 5.8942389E20 2.0297247E20 1.8525780E21 1.2895589E11 9.0698561E18 4.4819597E20 2.3492822E21 6.0549169E21 1.1442975E22 1.8349490E22 2.6657160E22 3.6290888E22 4.7203277E22 5.9363983E22 7.2753134E22 8.7357385E22 1.0316756E23 1.1363213E18
|
8.242831E-04 1.833709E+00 3.209903E+08 1.243762E-05 5.953354E-09
|
||||||
2.8391833E4 2.9452545E20 -4.9283827E-4 1.3001243E11 9.0817769E18 4.4821644E20 2.3483472E21 6.0512642E21 1.1434796E22 1.8335141E22 2.6635152E22 3.6259841E22 1.1352221E18 1.2716223E16 1.2588320E20 5.8102791E19 6.0292960E20 2.2295775E20 4.1171051E20 1.4904025E20 1.3898033E21 2.3802449E21 7.9353559E20 4.7866180E20 5.8885330E20 2.0277598E20 1.8507846E21 1.2883147E11 9.0610829E18 4.4776223E20 2.3470083E21 6.0490559E21 1.1431898E22 1.8331727E22 2.6631354E22 3.6255756E22 4.7157580E22 5.9306515E22 7.2682704E22 8.7272816E22 1.0306768E23 1.1352221E18
|
1.396681E-09 1.077995E-08 3.212544E-09 1.657248E-09 5.053542E-10
|
||||||
2.8391837E4 2.9418347E20 -4.9226602E-4 1.2986204E11 9.0712418E18 4.4769623E20 2.3456211E21 6.0442390E21 1.1421521E22 1.8313853E22 2.6604227E22 3.6217741E22 1.1339052E18 1.2701483E16 1.2573708E20 5.8035345E19 6.0222970E20 2.2269893E20 4.1123252E20 1.4886722E20 1.3881897E21 2.3774815E21 7.9261430E20 4.7810607E20 5.8816962E20 2.0254055E20 1.8486358E21 1.2868245E11 9.0505718E18 4.4724254E20 2.3442838E21 6.0420333E21 1.1418626E22 1.8310443E22 2.6600434E22 3.6213661E22 4.7102827E22 5.9237654E22 7.2598312E22 8.7171484E22 1.0294801E23 1.1339052E18
|
4.377349E-09 7.084422E-09 2.361087E-09 1.408540E-09 1.126331E-09
|
||||||
2.8391843E4 2.9371245E20 -4.9147785E-4 1.2965489E11 9.0567310E18 4.4697970E20 2.3418664E21 6.0345628E21 1.1403235E22 1.8284533E22 2.6561633E22 3.6159754E22 1.1320914E18 1.2681180E16 1.2553582E20 5.7942449E19 6.0126570E20 2.2234244E20 4.1057417E20 1.4862889E20 1.3859673E21 2.3736752E21 7.9134535E20 4.7734064E20 5.8722795E20 2.0221627E20 1.8456761E21 1.2847717E11 9.0360942E18 4.4652675E20 2.3405312E21 6.0323607E21 1.1400345E22 1.8281128E22 2.6557846E22 3.6155681E22 4.7027412E22 5.9142811E22 7.2482076E22 8.7031915E22 1.0278318E23 1.1320914E18
|
3.624892E-10 3.213349E-09 2.652859E+04 1.610568E-03 1.291923E-04
|
||||||
2.8391852E4 2.9306070E20 -4.9038726E-4 1.2936821E11 9.0366522E18 4.4598825E20 2.3366709E21 6.0211741E21 1.1377934E22 1.8243962E22 2.6502696E22 3.6079519E22 1.1295815E18 1.2653086E16 1.2525735E20 5.7813908E19 5.9993181E20 2.2184917E20 4.0966322E20 1.4829912E20 1.3828922E21 2.3684085E21 7.8958953E20 4.7628153E20 5.8592498E20 2.0176758E20 1.8415807E21 1.2819311E11 9.0160610E18 4.4553630E20 2.3353387E21 6.0189768E21 1.1375050E22 1.8240565E22 2.6498917E22 3.6075455E22 4.6923062E22 5.9011576E22 7.2321242E22 8.6838795E22 1.0255511E23 1.1295815E18
|
7.150562E-05 6.510231E-05 6.991035E-05 7.972717E-05 9.283794E-05
|
||||||
2.8391862E4 2.9214565E20 -4.8885608E-4 1.2896566E11 9.0084604E18 4.4459623E20 2.3293765E21 6.0023762E21 1.1342411E22 1.8187001E22 2.6419948E22 3.5966870E22 1.1260575E18 1.2613640E16 1.2486636E20 5.7633436E19 5.9805901E20 2.2115662E20 4.0838424E20 1.4783612E20 1.3785747E21 2.3610142E21 7.8712436E20 4.7479453E20 5.8409560E20 2.0113762E20 1.8358309E21 1.2779421E11 8.9879335E18 4.4414569E20 2.3280484E21 6.0001857E21 1.1339536E22 1.8183615E22 2.6416182E22 3.5962818E22 4.6776555E22 5.8827325E22 7.2095433E22 8.6567656E22 1.0223490E23 1.1260575E18
|
1.086034E-04 1.267373E-04 1.470946E-04 1.695949E-04 1.941902E-04
|
||||||
2.8391877E4 2.9085512E20 -4.8669660E-4 1.2839782E11 8.9686988E18 4.4263298E20 2.3190888E21 5.9758647E21 1.1292311E22 1.8106667E22 2.6303247E22 3.5807996E22 1.1210873E18 1.2558002E16 1.2431494E20 5.7378906E19 5.9541772E20 2.2017988E20 4.0658045E20 1.4718313E20 1.3724855E21 2.3505855E21 7.8364763E20 4.7269736E20 5.8151557E20 2.0024916E20 1.8277217E21 1.2723153E11 8.9482625E18 4.4218443E20 2.3177666E21 5.9736840E21 1.1289450E22 1.8103296E22 2.6299497E22 3.5803962E22 4.6569931E22 5.8567467E22 7.1776965E22 8.6185259E22 1.0178329E23 1.1210873E18
|
2.208509E-04 2.728699E+07
|
||||||
2.8391897E4 2.8901635E20 -4.8361974E-4 1.2758858E11 8.9120425E18 4.3983563E20 2.3044305E21 5.9380903E21 1.1220928E22 1.7992205E22 2.6136967E22 3.5581628E22 1.1140053E18 1.2478721E16 1.2352923E20 5.7016241E19 5.9165429E20 2.1878818E20 4.0401034E20 1.4625274E20 1.3638095E21 2.3357266E21 7.7869388E20 4.6970925E20 5.7783947E20 1.9898327E20 1.8161676E21 1.2642964E11 8.8917354E18 4.3938992E20 2.3031166E21 5.9359233E21 1.1218084E22 1.7988855E22 2.6133241E22 3.5577620E22 4.6275528E22 5.8197217E22 7.1323206E22 8.5640411E22 1.0113984E23 1.1140053E18
|
2.630637E+04 5.128475E+08 9.951709E-16 8.770838E-03 3.901346E-04
|
||||||
2.8391923E4 2.8636602E20 -4.7918485E-4 1.2642186E11 8.8303750E18 4.3580352E20 2.2833021E21 5.8836430E21 1.1118038E22 1.7827223E22 2.5897296E22 3.5255349E22 1.1037969E18 1.2364434E16 1.2239673E20 5.6493498E19 5.8622972E20 2.1678220E20 4.0030584E20 1.4491169E20 1.3513042E21 2.3143092E21 7.7155366E20 4.6540226E20 5.7254084E20 1.9715864E20 1.7995137E21 1.2527352E11 8.8102539E18 4.3536189E20 2.2820003E21 5.8814959E21 1.1115220E22 1.7823903E22 2.5893604E22 3.5251378E22 4.5851184E22 5.7663549E22 7.0669170E22 8.4855084E22 1.0021238E23 1.1037969E18
|
3.815629E-04 5.067605E-04 6.918409E-04 9.258222E-04 1.205652E-03
|
||||||
2.8391959E4 2.8249172E20 -4.7270186E-4 1.2471585E11 8.7109835E18 4.2990912E20 2.2524158E21 5.8040502E21 1.0967631E22 1.7586047E22 2.5546941E22 3.4778388E22 1.0888729E18 1.2197347E16 1.2074117E20 5.5729330E19 5.7829986E20 2.1384977E20 3.9489051E20 1.4295130E20 1.3330235E21 2.2830007E21 7.6111591E20 4.5910619E20 5.6479519E20 1.9449135E20 1.7751688E21 1.2358301E11 8.6911346E18 4.2947347E20 2.2511316E21 5.8019321E21 1.0964851E22 1.7582773E22 2.5543299E22 3.4774470E22 4.5230870E22 5.6883425E22 6.9713091E22 8.3707081E22 9.8856602E22 1.0888729E18
|
1.530188E-03 3.247522E+00 4.373566E+08 3.144049E-05 1.504990E-08
|
||||||
2.8392007E4 2.7674326E20 -4.6308281E-4 1.2218376E11 8.5338234E18 4.2116307E20 2.2065877E21 5.6859537E21 1.0744463E22 1.7228204E22 2.5027102E22 3.4070699E22 1.0667279E18 1.1949397E16 1.1828468E20 5.4595476E19 5.6653376E20 2.0949874E20 3.8685547E20 1.4004257E20 1.3058994E21 2.2365466E21 7.4562886E20 4.4976437E20 5.5330259E20 1.9053378E20 1.7390470E21 1.2107392E11 8.5143782E18 4.2073628E20 2.2053296E21 5.6838788E21 1.0741740E22 1.7224996E22 2.5023534E22 3.4066861E22 4.4310484E22 5.5725920E22 6.8294515E22 8.2003741E22 9.6844982E22 1.0667279E18
|
3.530774E-09 2.725147E-08 8.121240E-09 4.189501E-09 1.277529E-09
|
||||||
2.8392071E4 2.6809382E20 -4.4860943E-4 1.1837246E11 8.2672346E18 4.0800273E20 2.1376305E21 5.5082566E21 1.0408670E22 1.6689768E22 2.4244919E22 3.3005865E22 1.0334043E18 1.1576256E16 1.1458840E20 5.2889371E19 5.4882940E20 2.0295177E20 3.7476534E20 1.3566589E20 1.2650866E21 2.1666485E21 7.2232595E20 4.3570802E20 5.3601007E20 1.8457896E20 1.6846958E21 1.1729725E11 8.2483968E18 4.0758928E20 2.1364118E21 5.5062465E21 1.0406032E22 1.6686660E22 2.4241463E22 3.3002147E22 4.2925613E22 5.3984268E22 6.6160039E22 7.9440792E22 9.3818181E22 1.0334043E18
|
1.106589E-08 1.790934E-08 5.968801E-09 3.560773E-09 2.847355E-09
|
||||||
2.8392158E4 2.5495726E20 -4.2662763E-4 1.1258178E11 7.8623081E18 3.8801432E20 2.0328977E21 5.2383706E21 9.8986700E21 1.5871999E22 2.3056952E22 3.1388616E22 9.8278851E17 1.1009444E16 1.0897440E20 5.0298111E19 5.2193979E20 1.9300818E20 3.5640294E20 1.2901862E20 1.2031005E21 2.0604879E21 6.8693370E20 4.1435936E20 5.0974644E20 1.7553487E20 1.6021482E21 1.1155917E11 7.8443931E18 3.8762112E20 2.0317387E21 5.2364590E21 9.8961614E21 1.5869044E22 2.3053665E22 3.1385080E22 4.0822299E22 5.1339083E22 6.2918244E22 7.5548243E22 8.9221142E22 9.8278851E17
|
9.163699E-10 8.123323E-09 4.922276E+04 2.988629E-03 2.397381E-04
|
||||||
2.8392274E4 2.3504385E20 -3.9330592E-4 1.0380040E11 7.2484294E18 3.5771302E20 1.8741318E21 4.8292501E21 9.1255641E21 1.4632352E22 2.1256129E22 2.8937051E22 9.0605367E17 1.0150074E16 1.0046396E20 4.6369967E19 4.8117737E20 1.7793455E20 3.2856740E20 1.1894204E20 1.1091362E21 1.8995597E21 6.3328281E20 3.8199706E20 4.6993372E20 1.6182504E20 1.4770153E21 1.0285756E11 7.2319133E18 3.5735053E20 1.8730633E21 4.8274878E21 9.1232514E21 1.4629628E22 2.1253098E22 2.8933792E22 3.7633920E22 4.7329293E22 5.8004066E22 6.9647601E22 8.2252581E22 9.0605367E17
|
1.326916E-04 1.208094E-04 1.297319E-04 1.479490E-04 1.722786E-04
|
||||||
2.8392429E4 2.0870396E20 -3.4923060E-4 9.2182196E10 6.4363888E18 3.1763175E20 1.6641255E21 4.2880925E21 8.1029538E21 1.2992637E22 1.8874133E22 2.5694306E22 8.0454860E17 9.0132402E15 8.9206791E19 4.1174034E19 4.2725918E20 1.5799603E20 2.9174844E20 1.0561345E20 9.8484659E20 1.6866951E21 5.6231717E20 3.3919047E20 4.1727236E20 1.4369069E20 1.3114987E21 9.1344888E10 6.4217230E18 3.1730988E20 1.6631767E21 4.2865277E21 8.1009003E21 1.2990218E22 1.8871442E22 2.5691412E22 3.3416574E22 4.2025449E22 5.1503970E22 6.1842688E22 7.3035107E22 8.0454860E17
|
2.015345E-04 2.351856E-04 2.729626E-04 3.147161E-04 3.603577E-04
|
||||||
2.8392637E4 1.6460271E20 -2.7543466E-4 7.2718018E10 5.0765742E18 2.5051865E20 1.3124958E21 3.3820031E21 6.3907544E21 1.0247205E22 1.4885886E22 2.0264892E22 6.3457178E17 7.1093080E15 7.0357757E19 3.2474031E19 3.3697960E20 1.2461146E20 2.3010068E20 8.3296786E19 7.7674320E20 1.3302870E21 4.4349641E20 2.6751762E20 3.2909974E20 1.1332779E20 1.0343692E21 7.2057512E10 5.0650070E18 2.5026479E20 1.3117475E21 3.3807689E21 6.3891348E21 1.0245297E22 1.4883764E22 2.0262609E22 2.6355369E22 3.3145105E22 4.0620720E22 4.8774765E22 5.7602114E22 6.3457178E17
|
4.098317E-04 3.716529E+07
|
||||||
2.8392916E4 1.1316313E20 -1.8935926E-4 5.0006756E10 3.4903451E18 1.7223492E20 9.0234639E20 2.3251271E21 4.3936290E21 7.0449156E21 1.0233979E22 1.3932008E22 4.3629314E17 4.8881997E15 4.8371588E19 2.2326098E19 2.3167516E20 8.5670891E19 1.5819397E20 5.7266394E19 5.3400935E20 9.1456928E20 3.0490277E20 1.8391774E20 2.2625473E20 7.7912363E19 7.1112421E20 4.9552545E10 3.4823923E18 1.7206039E20 9.0183194E20 2.3242786E21 4.3925155E21 7.0436038E21 1.0232520E22 1.3930439E22 1.8119168E22 2.2787062E22 2.7926493E22 3.3532339E22 3.9601076E22 4.3629314E17
|
2.630656E+04 7.010433E+08 1.360424E-15 1.638891E-02 7.290176E-04
|
||||||
2.8393290E4 5.8013724E19 -9.7076104E-5 2.5645621E10 1.7895089E18 8.8300799E19 4.6260359E20 1.1920071E21 2.2524418E21 3.6116431E21 5.2465375E21 7.1423555E21 2.2368861E17 2.5063775E15 2.4798765E19 1.1445907E19 1.1877248E20 4.3920665E19 8.1100060E19 2.9358272E19 2.7376585E20 4.6886392E20 1.5631173E20 9.4287428E19 1.1599155E20 3.9942463E19 3.6456404E20 2.5412686E10 1.7854315E18 8.8211324E19 4.6233986E20 1.1915721E21 2.2518710E21 3.6109706E21 5.2457896E21 7.1415510E21 9.2889288E21 1.1681953E22 1.4316712E22 1.7190582E22 2.0301756E22 2.2368861E17
|
7.130047E-04 9.469565E-04 1.292808E-03 1.730037E-03 2.252942E-03
|
||||||
2.8393789E4 3.6651111E18 -6.1329400E-6 1.6209955E9 1.1306893E17 5.5788491E18 2.9226625E19 7.5308455E19 1.4230360E20 2.2817369E20 3.3146105E20 4.5123262E20 1.4133617E16 1.5837944E14 1.5667693E18 7.2313953E17 7.5038886E18 2.7748433E18 5.1237139E18 1.8547843E18 1.7295847E19 2.9621642E19 9.8753816E18 5.9568415E18 7.3280198E18 2.5234506E18 2.3032106E19 1.6062726E9 1.1281132E17 5.5731962E18 2.9209963E19 7.5280975E19 1.4226754E20 2.2813121E20 3.3141380E20 4.5118180E20 5.8684602E20 7.3802930E20 9.0448460E20 1.0860460E21 1.2825996E21 1.4133617E16
|
2.859387E-03 5.698170E+00 5.978779E+08 8.024826E-05 3.841566E-08
|
||||||
2.8394456E4 2.6440510E19 -4.4243698E-5 1.1701670E10 8.1582464E17 4.0249341E19 2.1085265E20 5.4329756E20 1.0266122E21 1.6460917E21 2.3912204E21 3.2552674E21 1.0197808E17 1.1429035E15 1.1303490E19 5.2170556E18 5.4136220E19 2.0018830E19 3.6963857E19 1.3380883E19 1.2477648E20 2.1369762E20 7.1243368E19 4.2974075E19 5.2865760E19 1.8204646E19 1.6615787E20 1.1595391E10 8.1396590E17 4.0208559E19 2.1073244E20 5.4309932E20 1.0263521E21 1.6457852E21 2.3908795E21 3.2549008E21 4.2335986E21 5.3242523E21 6.5250798E21 7.8348845E21 9.2528433E21 1.0197808E17
|
9.012511E-09 6.956108E-08 2.072999E-08 1.069402E-08 3.260995E-09
|
||||||
2.8395347E4 4.3634547E5 7.3014923E-13 1.9327986E-4 1.3466415E4 6.6429569E5 3.4798725E6 8.9663052E6 1.6942503E7 2.7165793E7 3.9462642E7 5.3721976E7 1.6833019E3 1.8868663E1 1.8655477E5 8.6102094E4 8.9345721E5 3.3038684E5 6.1002960E5 2.2082945E5 2.0592277E6 3.5267189E6 1.1757517E6 7.0921450E5 8.7245297E5 3.0043411E5 2.7421276E6 1.9152449E-4 1.3435735E4 6.6362262E5 3.4778888E6 8.9630337E6 1.6938210E7 2.7160735E7 3.9457017E7 5.3715926E7 6.9867323E7 8.7866312E7 1.0768348E8 1.2929909E8 1.5269956E8 1.6833019E3
|
2.824656E-08 4.571503E-08 1.523584E-08 9.089158E-09 7.268113E-09
|
||||||
2.9168546E23 3.4984136E91 5.8540004E67 1.5514273E82 1.0799874E90 5.3266986E91 2.7902012E92 7.1890973E92 1.3584144E93 2.1780776E93 3.1639872E93 4.3072381E93 1.3499843E89 1.5135950E87 1.4958609E91 6.9038475E90 7.1638752E91 2.6490774E91 4.8911266E91 1.7705700E91 1.6510480E92 2.8276493E92 9.4269304E91 5.6863316E91 6.9950674E91 2.4087869E91 2.1985507E92 1.5373379E82 1.0775271E90 5.3213019E91 2.7886107E92 7.1864744E92 1.3580702E93 2.1776721E93 3.1635362E93 4.3067530E93 5.6016997E93 7.0447769E93 8.6336269E93 1.0366667E94 1.2242808E94 1.3499843E89
|
2.339112E-09 2.073548E-08 9.191700E+04 5.581621E-03 4.477507E-04
|
||||||
8.0555788E73 2.0350207E293 3.4052612E269 9.0385884E283 6.2846958E291 3.0990631E293 1.6232117E294 4.1821433E294 7.9022106E294 1.2670237E295 1.8405300E295 2.5055603E295 7.8558698E290 8.8107098E288 8.7025744E292 4.0164087E292 4.1676421E293 1.5411110E293 2.8453104E293 1.0299861E293 9.6045466E293 1.6449091E294 5.4838637E293 3.3078696E293 4.0691326E293 1.4012232E293 1.2789248E294 8.9565096E283 6.2703793E291 3.0959235E293 1.6222865E294 4.1806175E294 7.9002084E294 1.2667878E295 1.8402676E295 2.5052781E295 3.2585488E295 4.0979860E295 5.0222187E295 6.0303261E295 7.1216748E295 7.8558698E290
|
2.478258E-04 2.256346E-04 2.422994E-04 2.763237E-04 3.217644E-04
|
||||||
9.9622848E62 4.7596766E249 7.9645096E225 2.1183747E240 1.4706735E248 7.2500052E249 3.7969915E250 9.7823514E250 1.8483407E251 2.9635454E251 4.3049238E251 5.8603627E251 1.8383419E247 2.0626399E245 2.0357979E249 9.3953235E248 9.7489656E249 3.6049385E249 6.6553201E249 2.4091695E249 2.2465259E250 3.8474712E250 1.2826853E250 7.7371608E249 9.5175850E249 3.2774113E249 2.9913558E250 2.0991397E240 1.4673236E248 7.2426610E249 3.7948275E250 9.7787829E250 1.8478725E251 2.9629938E251 4.3043102E251 5.8597028E251 7.6215232E251 9.5848755E251 1.1746553E252 1.4104403E252 1.6656944E252 1.8383419E247
|
3.764058E-04 4.392561E-04 5.098123E-04 5.877956E-04 6.730404E-04
|
||||||
1.5703739E63 2.9383291E250 4.9167943E226 1.3113346E241 9.0852357E248 4.4770638E250 2.3444278E251 6.0396777E251 1.1411376E252 1.8296113E252 2.6577065E252 3.6179466E252 1.1356545E248 1.2749210E246 1.2570767E250 5.8012482E249 6.0195030E250 2.2258424E250 4.1089678E250 1.4873964E250 1.3869759E251 2.3753708E251 7.9191058E250 4.7768034E250 5.8758600E250 2.0233633E250 1.8467591E251 1.2994290E241 9.0645440E248 4.4725292E250 2.3430918E251 6.0374748E251 1.1408486E252 1.8292707E252 2.6573278E252 3.6175393E252 4.7051845E252 5.9172415E252 7.2517311E252 8.7073244E252 1.0283107E253 1.1356545E248
|
7.654432E-04 5.078011E+07
|
||||||
1.0037227E59 4.9031169E233 8.2045326E209 2.1961512E224 1.5174075E232 7.4737799E233 3.9129764E234 1.0079724E235 1.9043801E235 3.0532531E235 4.4351005E235 6.0374484E235 1.8967594E231 2.1309236E229 2.0983202E233 9.6829652E232 1.0047025E234 3.7150434E233 6.8573878E233 2.4822576E233 2.3146563E234 3.9641226E234 1.3215750E234 7.9717312E233 9.8055516E233 3.3765420E233 3.0818219E234 2.1762156E224 1.5139522E232 7.4662112E233 3.9107469E234 1.0076048E235 1.9038978E235 3.0526850E235 4.4344686E235 6.0367688E235 7.8517098E235 9.8742505E235 1.2101089E236 1.4530008E236 1.7159484E236 1.8967594E231
|
2.630685E+04 9.608904E+08 1.864790E-15 3.078928E-02 1.369647E-03
|
||||||
4.4440439E59 1.8838072E236 3.1522311E212 8.4784666E226 5.8369928E234 2.8730080E236 1.5038417E237 3.8734370E237 7.3177222E237 1.1731936E238 1.7041207E238 2.3197621E238 7.2962410E233 8.2049741E231 8.0652759E235 3.7215617E235 3.8613656E236 1.4277678E236 2.6350856E236 9.5383908E235 8.8942933E236 1.5232439E237 5.0782509E236 3.0631940E236 3.7676834E236 1.2973928E236 1.1841468E237 8.4015199E226 5.8237041E234 2.8700991E236 1.5029850E237 3.8720247E237 7.3158693E237 1.1729754E238 1.7038779E238 2.3195011E238 3.0168198E238 3.7938979E238 4.6494672E238 5.5826764E238 6.5929398E238 7.2962410E233
|
1.339575E-03 1.779123E-03 2.428904E-03 3.250366E-03 4.232793E-03
|
||||||
3.0651849E59 4.2621152E235 7.1319252E211 1.9305207E226 1.3227263E234 6.5047883E235 3.4037987E236 8.7658889E236 1.6559284E237 2.6546968E237 3.8559583E237 5.2488766E237 1.6534079E233 1.8617327E231 1.8257890E235 8.4239553E234 8.7400523E235 3.2316013E235 5.9631886E235 2.1584831E235 2.0127071E236 3.4469516E236 1.1491583E236 6.9316967E235 8.5253782E235 2.9356662E235 2.6794089E236 1.9130052E226 1.3197158E234 6.4982042E235 3.4018603E236 8.7626936E236 1.6555092E237 2.6542030E237 3.8554092E237 5.2482860E237 6.8259922E237 8.5841491E237 1.0519889E238 1.2631286E238 1.4917017E238 1.6534079E233
|
5.372175E-03 9.890241E+00 8.195361E+08 2.064289E-04 9.882897E-08
|
||||||
6.5837128E59 9.0681181E236 1.5173954E213 4.1421537E227 2.8201806E235 1.3852616E237 7.2457707E237 1.8656679E238 3.5239943E238 5.6491303E238 8.2050550E238 1.1168723E239 3.5252257E234 3.9761575E232 3.8874365E236 1.7933919E236 1.8605860E237 6.8791758E236 1.2691011E237 4.5935955E236 4.2833033E237 7.3354872E237 2.4455336E237 1.4751373E237 1.8141468E237 6.2468359E236 5.7015127E237 4.1045863E227 2.8137643E235 1.3838600E237 7.2416459E237 1.8649881E238 3.5231025E238 5.6480800E238 8.2038870E238 1.1167467E239 1.4524272E239 1.8264992E239 2.2383529E239 2.6875789E239 3.1738956E239 3.5252257E234
|
2.318587E-08 1.789553E-07 5.333078E-08 2.751206E-08 8.389430E-09
|
||||||
5.9904916E59 6.2124927E236 1.0395550E213 2.8694887E227 1.9374613E235 9.5020462E236 4.9674690E237 1.2787223E238 2.4150052E238 3.8710509E238 5.6221922E238 7.6526505E238 2.4218266E234 2.7377600E232 2.6658475E236 1.2296358E236 1.2756165E237 4.7161134E236 8.6978284E236 3.1481066E236 2.9354035E237 5.0270364E237 1.6759330E237 1.0109142E237 1.2431093E237 4.2804547E236 3.9067611E237 2.8434768E227 1.9330556E235 9.4924367E236 4.9646426E237 1.2782566E238 2.4143944E238 3.8703315E238 5.6213923E238 7.6517902E238 9.9515660E238 1.2514346E239 1.5335955E239 1.8413593E239 2.1745330E239 2.4218266E234
|
7.266882E-08 1.176093E-07 3.919667E-08 2.338333E-08 1.869844E-08
|
||||||
6.3312087E59 7.7459696E236 1.2961563E213 3.6305733E227 2.4245611E235 1.1866804E237 6.1992993E237 1.5952934E238 3.0123446E238 4.8280147E238 7.0115651E238 9.5433379E238 3.0307014E234 3.4362160E232 3.3281483E236 1.5347963E236 1.5920388E237 5.8855637E236 1.0850236E237 3.9269394E236 3.6615285E237 6.2704521E237 2.0904676E237 1.2609549E237 1.5503698E237 5.3383443E236 4.8722495E237 3.5976837E227 2.4190513E235 1.1854811E237 6.1957744E237 1.5947128E238 3.0115833E238 4.8271182E238 7.0105681E238 9.5422658E238 1.2409805E239 1.5605247E239 1.9123392E239 2.2960751E239 2.7114923E239 3.0307014E234
|
6.017761E-09 5.334552E-08 1.725280E+05 1.047873E-02 8.406206E-04
|
||||||
5.9715837E59 6.1250589E236 1.0249245E213 2.9266344E227 1.9264481E235 9.4036621E236 4.9079430E237 1.2624361E238 2.3832595E238 3.8192110E238 5.5460024E238 7.5481057E238 2.4080601E234 2.7409004E232 2.6361476E236 1.2153334E236 1.2605057E237 4.6595097E236 8.5854046E236 3.1070250E236 2.8969409E237 4.9609613E237 1.6539043E237 9.9761849E236 1.2263723E237 4.2226140E236 3.8538876E237 2.9001448E227 1.9220740E235 9.3941667E236 4.9051547E237 1.2619770E238 2.3826576E238 3.8185024E238 5.5452145E238 7.5472585E238 9.8148362E238 1.2341678E239 1.5123680E239 1.8158085E239 2.1442998E239 2.4080601E234
|
4.652814E-04 4.236209E-04 4.549099E-04 5.187907E-04 6.041050E-04
|
||||||
6.0128865E59 6.2891125E236 1.0523761E213 3.0817979E227 1.9905613E235 9.6826339E236 5.0473496E237 1.2975579E238 2.4488082E238 3.9235243E238 5.6967917E238 7.7526885E238 2.4882016E234 2.8465901E232 2.7127455E236 1.2501853E236 1.2964436E237 4.7917910E236 8.8229979E236 3.1927102E236 2.9767126E237 5.0974115E237 1.6993943E237 1.0250514E237 1.2597994E237 4.3375492E236 3.9587234E237 3.0539355E227 1.9860468E235 9.6728679E236 5.0444854E237 1.2970866E238 2.4481905E238 3.9227972E238 5.6959834E238 7.7518193E238 1.0080261E239 1.2674881E239 1.5531474E239 1.8647216E239 2.2020163E239 2.4882016E234
|
7.066936E-04 8.246941E-04 9.571623E-04 1.103575E-03 1.263621E-03
|
||||||
5.9754459E59 6.1247874E236 1.0248791E213 3.1018861E227 1.9545969E235 9.4642518E236 4.9256103E237 1.2653225E238 2.3870098E238 3.8235807E238 5.5508022E238 7.5531965E238 2.4432462E234 2.8138407E232 2.6495111E236 1.2204541E236 1.2653451E237 4.6761280E236 8.6022027E236 3.1124319E236 2.9017127E237 4.9687789E237 1.6565099E237 9.9917626E236 1.2276213E237 4.2265545E236 3.8573423E237 3.0738837E227 1.9501706E235 9.4547202E236 4.9228194E237 1.2648636E238 2.3864086E238 3.8228731E238 5.5500157E238 7.5523510E238 9.8201174E238 1.2347071E239 1.5129126E239 1.8163537E239 2.1448419E239 2.4432462E234
|
1.437105E-03 6.955813E+07
|
||||||
6.0016541E59 6.2208339E236 1.0409508E213 3.2887952E227 2.0066801E235 9.6586508E236 5.0162996E237 1.2873746E238 2.4273362E238 3.8869461E238 5.6416325E238 7.6757118E238 2.5083501E234 2.9139948E232 2.7012086E236 1.2434857E236 1.2888693E237 4.7621076E236 8.7499975E236 3.1654021E236 2.9508945E237 5.0527303E237 1.6844974E237 1.0160474E237 1.2478502E237 4.2959301E236 3.9205512E237 3.2591628E227 2.0021447E235 9.6489424E236 5.0134628E237 1.2869086E238 2.4267260E238 3.8862282E238 5.6408347E238 7.6748541E238 9.9783992E238 1.2545147E239 1.5370960E239 1.8453061E239 2.1789541E239 2.5083501E234
|
2.630728E+04 1.335570E+09 2.592149E-15 5.947968E-02 2.646123E-03
|
||||||
5.9981145E59 6.1904878E236 1.0358729E213 3.4603260E227 2.0249085E235 9.6712378E236 5.0092475E237 1.2839537E238 2.4192377E238 3.8723870E238 5.6190029E238 7.6435259E238 2.5311356E234 2.9737582E232 2.7011932E236 1.2424646E236 1.2873515E237 4.7552622E236 8.7239971E236 3.1553436E236 2.9412560E237 5.0358830E237 1.6788802E237 1.0126457E237 1.2430267E237 4.2789756E236 3.9049408E237 3.4292266E227 2.0203434E235 9.6615413E236 5.0064218E237 1.2834901E238 2.4186311E238 3.8716736E238 5.6182103E238 7.6426740E238 9.9352611E238 1.2489704E239 1.5301902E239 1.8369104E239 2.1689417E239 2.5311356E234
|
2.588059E-03 3.437283E-03 4.692678E-03 6.279763E-03 8.177834E-03
|
||||||
6.0018408E59 6.1855766E236 1.0350511E213 3.7156677E227 2.0600457E235 9.7411721E236 5.0278445E237 1.2866347E238 2.4221572E238 3.8750037E238 5.6208640E238 7.6442528E238 2.5750571E234 3.0696801E232 2.7161330E236 1.2480205E236 1.2925122E237 4.7727210E236 8.7386560E236 3.1598013E236 2.9450729E237 5.0419739E237 1.6809099E237 1.0138525E237 1.2436735E237 4.2807513E236 3.9063837E237 3.6823823E227 2.0554166E235 9.7314374E236 5.0250176E237 1.2861717E238 2.4215518E238 3.8742921E238 5.6200738E238 7.6434037E238 9.9345311E238 1.2487226E239 1.5297411E239 1.8362354E239 2.1680175E239 2.5750571E234
|
1.037915E-02 1.733278E+01 1.139195E+09 5.534576E-04 2.650091E-07
|
||||||
5.9998951E59 6.1514980E236 1.0293486E213 4.0533128E227 2.0966246E235 9.7875846E236 5.0291353E237 1.2842893E238 2.4150099E238 3.8609365E238 5.5979816E238 7.6108243E238 2.6207808E234 3.1831165E232 2.7231558E236 1.2495543E236 1.2933344E237 4.7736952E236 8.7181656E236 3.1513103E236 2.9367255E237 5.0271138E237 1.6759547E237 1.0108414E237 1.2389115E237 4.2637831E236 3.8906722E237 4.0171551E227 2.0919332E235 9.7778448E236 5.0263196E237 1.2838291E238 2.4144089E238 3.8602305E238 5.5971979E238 7.6099824E238 9.8889450E238 1.2427930E239 1.5222912E239 1.8271191E239 2.1570913E239 2.6207808E234
|
6.217308E-08 4.798713E-07 1.430075E-07 7.377492E-08 2.249670E-08
|
||||||
6.0002320E59 6.1195906E236 1.0240095E213 4.5378843E227 2.1482638E235 9.8654571E236 5.0401233E237 1.2836789E238 2.4103796E238 3.8501807E238 5.5792335E238 7.5823972E238 2.6853298E234 3.3402839E232 2.7372225E236 1.2538390E236 1.2967881E237 4.7838039E236 8.7082044E236 3.1463301E236 2.9315319E237 5.0174978E237 1.6727476E237 1.0088785E237 1.2351454E237 4.2500871E236 3.8778854E237 4.4976220E227 2.1434828E235 9.8556929E236 5.0373167E237 1.2832214E238 2.4097830E238 3.8494805E238 5.5784567E238 7.5815630E238 9.8492842E238 1.2375548E239 1.5156385E239 1.8189134E239 2.1471968E239 2.6853298E234
|
1.948654E-07 3.153759E-07 1.051080E-07 6.270370E-08 5.014110E-08
|
||||||
5.9998884E59 6.0759917E236 1.0167139E213 5.2335097E227 2.2143365E235 9.9595386E236 5.0512780E237 1.2821919E238 2.4031842E238 3.8344526E238 5.5524630E238 7.5423097E238 2.7679207E234 3.5487845E232 2.7536295E236 1.2585922E236 1.3004564E237 4.7939831E236 8.6907540E236 3.1382805E236 2.9233331E237 5.0025479E237 1.6677618E237 1.0058354E237 1.2297025E237 4.2304308E236 3.8595856E237 5.1873944E227 2.2094424E235 9.9497492E236 5.0484846E237 1.2817380E238 2.4025934E238 3.8337600E238 5.5516952E238 7.5414856E238 9.7937765E238 1.2302603E239 1.5064070E239 1.8075565E239 2.1335295E239 2.7679207E234
|
1.613703E-08 1.430496E-07 3.328657E+05 2.022307E-02 1.622417E-03
|
||||||
6.0000328E59 6.0235172E236 1.0079332E213 6.2633538E227 2.3010277E235 1.0082285E237 5.0669376E237 1.2807290E238 2.3949240E238 3.8159735E238 5.5207296E238 7.4945745E238 2.8762846E234 3.8307084E232 2.7752739E236 1.2649933E236 1.3054955E237 4.8083304E236 8.6716012E236 3.1291769E236 2.9139774E237 4.9853887E237 1.6620391E237 1.0023388E237 1.2232793E237 4.2071743E236 3.8379114E237 6.2086438E227 2.2959863E235 1.0072461E237 5.0641600E237 1.2802796E238 2.3943404E238 3.8152903E238 5.5199729E238 7.4937628E238 9.7275017E238 1.2215357E239 1.4953521E239 1.7939443E239 2.1171375E239 2.8762846E234
|
8.980210E-04 8.176211E-04 8.780157E-04 1.001314E-03 1.165981E-03
|
||||||
5.9999995E59 5.9573191E236 9.9685608E212 7.8313250E227 2.4131229E235 1.0234670E237 5.0852287E237 1.2785892E238 2.3840809E238 3.7921383E238 5.4800970E238 7.4336964E238 3.0164037E234 4.2121879E232 2.8017594E236 1.2726900E236 1.3114682E237 4.8250449E236 8.6456449E236 3.1170972E236 2.9016427E237 4.9628613E237 1.6545262E237 9.9775196E236 1.2150239E237 4.1773483E236 3.8101391E237 7.7636659E227 2.4078939E235 1.0224808E237 5.0824717E237 1.2781455E238 2.3835063E238 3.7914669E238 5.4793541E238 7.4329002E238 9.6431899E238 1.2104553E239 1.4813292E239 1.7766933E239 2.0963776E239 3.0164037E234
|
1.363988E-03 1.591742E-03 1.847421E-03 2.130013E-03 2.438919E-03
|
||||||
6.0000296E59 5.8760971E236 9.8326495E212 1.0309700E228 2.5583545E235 1.0424188E237 5.1072179E237 1.2758043E238 2.3705093E238 3.7625380E238 5.4298183E238 7.3585244E238 3.1979431E234 4.7338729E232 2.8343712E236 1.2820745E236 1.3186990E237 4.8451138E236 8.6127444E236 3.1019106E236 2.8861760E237 4.9346636E237 1.6451224E237 9.9201250E236 1.2047894E237 4.1404116E236 3.7757611E237 1.0221840E228 2.5528864E235 1.0414280E237 5.1044867E237 1.2753676E238 2.3699458E238 3.7618809E238 5.4290922E238 7.3577469E238 9.5392243E238 1.1968051E239 1.4640661E239 1.7554671E239 2.0708447E239 3.1979431E234
|
2.773763E-03 9.659336E+07
|
||||||
6.0000188E59 5.7771837E236 9.6671348E212 1.4396758E228 2.7459068E235 1.0656187E237 5.1325840E237 1.2720580E238 2.3534337E238 3.7257880E238 5.3677666E238 7.2660657E238 3.4323835E234 5.4541557E232 2.8736884E236 1.2931993E236 1.3271564E237 4.8682070E236 8.5704343E236 3.0826558E236 2.8666549E237 4.8991827E237 1.6332898E237 9.8479471E236 1.1921192E237 4.0947657E236 3.7333080E237 1.4276124E228 2.7401365E235 1.0646229E237 5.1298854E237 1.2716299E238 2.3528837E238 3.7251482E238 5.3670609E238 7.2653109E238 9.4116293E238 1.1800776E239 1.4429345E239 1.7295058E239 2.0396355E239 3.4323835E234
|
2.630793E+04 1.852566E+09 3.595970E-15 1.144330E-01 5.091442E-03
|
||||||
6.0000220E59 5.6587539E236 9.4689626E212 2.1469723E228 2.9876499E235 1.0936808E237 5.1611979E237 1.2671086E238 2.3322636E238 3.6808526E238 5.2923762E238 7.1541451E238 3.7345623E234 6.4602795E232 2.9204098E236 1.3061626E236 1.3368572E237 4.8941774E236 8.5168225E236 3.0585976E236 2.8423755E237 4.8551897E237 1.6186188E237 9.7585061E236 1.1766741E237 4.0392286E236 3.6816960E237 2.1293494E228 2.9815001E235 1.0926797E237 5.1585399E237 1.2666909E238 2.3317297E238 3.6802335E238 5.2916947E238 7.1534171E238 9.2575435E238 1.1599107E239 1.4174884E239 1.6982722E239 2.0021149E239 3.7345623E234
|
4.979824E-03 6.613909E-03 9.029530E-03 1.208338E-02 1.573562E-02
|
||||||
6.0000195E59 5.5191469E236 9.2353542E212 3.4366983E228 3.2981607E235 1.1270647E237 5.1921760E237 1.2605833E238 2.3062456E238 3.6265250E238 5.2019215E238 7.0204546E238 4.1227008E234 7.8824358E232 2.9747613E236 1.3208573E236 1.3476156E237 4.9221664E236 8.4492623E236 3.0287617E236 2.8124246E237 4.8011168E237 1.6005866E237 9.6486475E236 1.1580688E237 3.9724800E236 3.6197232E237 3.4091822E228 3.2915391E235 1.1260585E237 5.1895680E237 1.2601780E238 2.3057307E238 3.6259301E238 5.2012681E238 7.0197579E238 9.0740138E238 1.1359381E239 1.3872843E239 1.6612391E239 1.9576650E239 4.1227008E234
|
1.997136E-02 2.992071E+01 1.580353E+09 1.473869E-03 7.058775E-07
|
||||||
6.0000203E59 5.3575430E236 8.9649373E212 5.9200159E228 3.6951958E235 1.1660548E237 5.2240953E237 1.2520704E238 2.2746698E238 3.5617858E238 5.0950622E238 6.8633176E238 4.6189947E234 9.9162252E232 3.0365199E236 1.3370070E236 1.3590922E237 4.9508114E236 8.3650338E236 2.9921935E236 2.7759269E237 4.7354855E237 1.5787004E237 9.5154067E236 1.1359892E237 3.8934721E236 3.5464468E237 5.8739995E228 3.6879941E235 1.1650442E237 5.2215481E237 1.2516797E238 2.2741768E238 3.5612187E238 5.0944411E238 6.8626565E238 8.8590069E238 1.1079184E239 1.3520404E239 1.6180813E239 1.9059147E239 4.6189947E234
|
1.656055E-07 1.278200E-06 3.809202E-07 1.965129E-07 5.992417E-08
|
||||||
6.0000200E59 5.1740536E236 8.6578991E212 1.0964827E229 4.1995825E235 1.2106203E237 5.2547518E237 1.2410994E238 2.2368639E238 3.4858185E238 4.9708850E238 6.6817602E238 5.2494782E234 1.2854304E233 3.1047559E236 1.3540824E236 1.3707224E237 4.9780211E236 8.2612644E236 2.9479425E236 2.7320340E237 4.6568946E237 1.5524931E237 9.3559876E236 1.1101999E237 3.8014577E236 3.4612102E237 1.0882505E229 4.1916779E235 1.2096071E237 5.2522773E237 1.2407253E238 2.2363957E238 3.4852824E238 4.9702997E238 6.6811386E238 8.6115157E238 1.0757499E239 1.3116553E239 1.5686994E239 1.8467675E239 5.2494782E234
|
5.190609E-07 8.400641E-07 2.799754E-07 1.670234E-07 1.335612E-07
|
||||||
6.0000202E59 4.9699783E236 8.3164138E212 2.1730576E229 4.8346625E235 1.2603207E237 5.2812277E237 1.2271904E238 2.1923027E238 3.3981899E238 4.8291652E238 6.4758643E238 6.0433282E234 1.7129814E233 3.1777385E236 1.3712964E236 1.3817255E237 5.0010434E236 8.1352992E236 2.8952013E236 2.6800567E237 4.5642484E237 1.5215996E237 9.1682208E236 1.0806016E237 3.6961900E236 3.3638257E237 2.1573839E229 4.8259211E235 1.2593074E237 5.2788389E237 1.2268352E238 2.1918619E238 3.3976879E238 4.8286191E238 6.4752856E238 8.3320126E238 1.0395263E239 1.2662764E239 1.5133009E239 1.7804972E239 6.0433282E234
|
4.298436E-08 3.810428E-07 6.392478E+05 3.885444E-02 3.117396E-03
|
||||||
6.0000202E59 4.7478288E236 7.9446843E212 4.5668248E229 5.6248036E235 1.3142148E237 5.2999968E237 1.2098976E238 2.1406824E238 3.2989521E238 4.6704923E238 6.2469134E238 7.0310045E234 2.3370362E233 3.2528738E236 1.3876125E236 1.3911253E237 5.0165680E236 7.9849884E236 2.8334067E236 2.6195566E237 4.4569112E237 1.4858082E237 8.9508746E236 1.0472622E237 3.5780223E236 3.2546632E237 4.5353527E229 5.6150877E235 1.3132054E237 5.2977066E237 1.2095630E238 2.1402713E238 3.2984865E238 4.6699877E238 6.2463801E238 8.0226141E238 9.9955568E238 1.2163200E239 1.4524217E239 1.7077705E239 7.0310045E234
|
1.725554E-03 1.571086E-03 1.687148E-03 1.924080E-03 2.240502E-03
|
||||||
6.0000202E59 4.5112347E236 7.5487844E212 1.0048040E230 6.5928682E235 1.3708352E237 5.3072268E237 1.1888736E238 2.0820073E238 3.1887360E238 4.4963588E238 5.9974677E238 8.2410853E234 3.2456509E233 3.3268050E236 1.4018134E236 1.3978268E237 5.0210142E236 7.8090744E236 2.7623643E236 2.5504568E237 4.3348871E237 1.4451205E237 8.7040126E236 1.0104420E237 3.4479852E236 3.1347157E237 9.9822336E229 6.5820472E235 1.3698348E237 5.3050478E237 1.1885611E238 2.0816274E238 3.1883084E238 4.4958972E238 5.9969812E238 7.6871339E238 9.5636215E238 1.1624698E239 1.3869212E239 1.6296382E239 8.2410853E234
|
2.620991E-03 3.058639E-03 3.549946E-03 4.092969E-03 4.686556E-03
|
||||||
6.0000202E59 4.2646638E236 7.1361898E212 2.2788447E230 7.7566602E235 1.4282418E237 5.2991934E237 1.1639298E238 2.0166401E238 3.0687671E238 4.3091193E238 5.7312479E238 9.6958253E234 4.5569895E233 3.3956597E236 1.4126149E236 1.4007273E237 5.0109208E236 7.6075003E236 2.6823354E236 2.4731115E237 4.1989270E237 1.3997872E237 8.4292026E236 9.7059276E236 3.3077668E236 3.0055758E237 2.2647333E230 7.7446243E235 1.4272564E237 5.2971366E237 1.1636407E238 2.0162922E238 3.0683781E238 4.3087011E238 5.7308084E238 7.3308750E238 9.1065505E238 1.1056339E239 1.3179255E239 1.5474633E239 9.6958253E234
|
5.329986E-03 1.338180E+08
|
||||||
6.0000202E59 4.0130103E236 6.7150905E212 5.2381521E230 9.1249337E235 1.4841738E237 5.2727553E237 1.1350824E238 1.9453075E238 2.9407986E238 4.1118246E238 5.4528467E238 1.1406167E235 6.4208336E233 3.4554423E236 1.4188137E236 1.3988516E237 4.9833902E236 7.3815840E236 2.5940676E236 2.3883228E237 4.0505395E237 1.3503113E237 8.1295321E236 9.2832869E236 3.1595992E236 2.8693260E237 5.2076242E230 9.1116096E235 1.4832102E237 5.2708294E237 1.1348171E238 1.9449917E238 2.9404478E238 4.1114491E238 5.4524532E238 6.9601991E238 8.6326930E238 1.0468670E239 1.2467300E239 1.4628023E239 1.1406167E235
|
2.630893E+04 2.566213E+09 4.981963E-15 2.195489E-01 9.770008E-03
|
||||||
6.0000202E59 3.7611084E236 6.2935755E212 1.2002851E231 1.0694007E236 1.5362801E237 5.2257603E237 1.1025630E238 1.8690411E238 2.8069492E238 3.9079296E238 5.1672825E238 1.3367509E235 9.0144232E233 3.5024890E236 1.4194334E236 1.3914747E237 4.9364650E236 7.1339556E236 2.4987416E236 2.2972781E237 3.8918686E237 1.2974079E237 7.8093568E236 8.8436916E236 3.0060461E236 2.7283394E237 1.1937277E231 1.0679372E236 1.5353453E237 5.2239714E237 1.1023214E238 1.8687568E238 2.8066354E238 3.9075951E238 5.1669330E238 6.5819024E238 8.1508323E238 9.8726660E238 1.1746712E239 1.3772505E239 1.3367509E235
|
9.556124E-03 1.269202E-02 1.732766E-02 2.318806E-02 3.019678E-02
|
||||||
6.0000202E59 3.5132724E236 5.8788642E212 2.7019310E231 1.2446147E236 1.5823777E237 5.1572725E237 1.0667905E238 1.7890636E238 2.6694778E238 3.7009342E238 4.8794869E238 1.5557684E235 1.2531474E234 3.5338742E236 1.4138312E236 1.3781992E237 4.8693335E236 6.8682547E236 2.3978378E236 2.2014181E237 3.7254569E237 1.2419248E237 7.4738195E236 8.3946274E236 2.8497350E236 2.5850327E237 2.6881401E231 1.2430235E236 1.5814783E237 5.1556234E237 1.0665721E238 1.7888093E238 2.6691991E238 3.7006383E238 4.8791787E238 6.2025307E238 7.6693084E238 9.2786383E238 1.1029950E239 1.2922861E239 1.5557684E235
|
3.832523E-02 5.111648E+01 2.189468E+09 3.905288E-03 1.870971E-06
|
||||||
6.0000202E59 3.2729727E236 5.4767634E212 5.9058570E231 1.4350268E236 1.6206672E237 5.0675643E237 1.0283118E238 1.7066506E238 2.5305540E238 3.4940497E238 4.5938550E238 1.7937835E235 1.7165260E234 3.5476597E236 1.4017375E236 1.3589693E237 4.7823149E236 6.5886739E236 2.2929627E236 2.1022712E237 3.5539589E237 1.1847471E237 7.1282724E236 7.9431331E236 2.6931025E236 2.4416341E237 5.8777699E231 1.4333176E236 1.6198090E237 5.0660547E237 1.0281157E238 1.7064246E238 2.5303078E238 3.4937895E238 4.5935846E238 5.8278019E238 7.1953014E238 8.6953672E238 1.0327533E239 1.2091486E239 1.7937835E235
|
4.389533E-07 3.388011E-06 1.009676E-06 5.208946E-07 1.588409E-07
|
||||||
6.0000202E59 3.0427151E236 5.0914665E212 1.2430879E232 1.6364544E236 1.6498562E237 4.9579190E237 9.8773335E237 1.6230125E238 2.3920893E238 3.2899803E238 4.3139755E238 2.0455680E235 2.3088228E234 3.5429470E236 1.3832295E236 1.3340276E237 4.6766685E236 6.2995041E236 2.1856889E236 2.0013075E237 3.3798940E237 1.1267145E237 6.7777820E236 7.4952843E236 2.5382231E236 2.3000296E237 1.2375910E232 1.6346423E236 1.6490439E237 4.9565460E237 9.8755827E237 1.6228127E238 2.3918729E238 3.2897525E238 4.3137395E238 5.4622824E238 6.7344504E238 8.1296609E238 9.6475352E238 1.1287819E239 2.0455680E235
|
1.375876E-06 2.226762E-06 7.421323E-07 4.427298E-07 3.540344E-07
|
||||||
6.0000202E59 2.8241044E236 4.7256586E212 2.5065120E232 1.8439982E236 1.6691842E237 4.8303452E237 9.4566456E237 1.5392211E238 2.2556584E238 3.0908475E238 4.0425647E238 2.3049978E235 3.0431050E234 3.5197727E236 1.3586633E236 1.3038420E237 4.5543225E236 6.0048021E236 2.0774487E236 1.8998450E237 3.2054940E237 1.0685712E237 6.4268259E236 7.0559792E236 2.3867443E236 2.1617067E237 2.4962229E232 1.8421029E236 1.6684215E237 4.8291035E237 9.4550898E237 1.5390452E238 2.2554691E238 3.0906488E238 4.0423595E238 5.1093361E238 6.2908229E238 7.5863481E238 8.9956059E238 1.0518391E239 2.3049978E235
|
1.139400E-07 1.010043E-06 1.223340E+06 7.440714E-02 5.970637E-03
|
||||||
6.0000202E59 2.6180071E236 4.3807899E212 4.8285991E232 2.0524184E236 1.6783790E237 4.6872927E237 9.0267963E237 1.4561798E238 2.1224931E238 2.8982184E238 3.7815409E238 2.5655230E235 3.9264108E234 3.4789233E236 1.3285932E236 1.2690281E237 4.4176074E236 5.7082005E236 1.9694821E236 1.7990077E237 3.0326410E237 1.0109445E237 6.0791711E236 6.6289551E236 2.2399010E236 2.0277720E237 4.8102218E232 2.0504627E236 1.6776680E237 4.6861757E237 9.0254196E237 1.4560256E238 2.1223280E238 2.8980457E238 3.7813629E238 4.7712532E238 5.8671057E238 7.0685402E238 8.3753106E238 9.7872525E238 2.5655230E235
|
3.305038E-03 3.009239E-03 3.231579E-03 3.685425E-03 4.291527E-03
|
||||||
6.0000202E59 2.4247347E236 4.0573814E212 8.8799116E232 2.2564869E236 1.6775782E237 4.5314153E237 8.5929605E237 1.3746218E238 1.9935135E238 2.7131832E238 3.5321564E238 2.8206087E235 4.9584133E234 3.4217321E236 1.2936968E236 1.2302810E237 4.2690336E236 5.4128269E236 1.8628226E236 1.6997192E237 2.8628627E237 9.5434372E236 5.7378680E236 6.2169220E236 2.0985689E236 1.8990021E237 8.8486059E232 2.2544955E236 1.6769201E237 4.5304152E237 8.5917467E237 1.3744870E238 1.9933698E238 2.7130335E238 3.5320024E238 4.4494470E238 5.4648754E238 6.5779823E238 7.7885703E238 9.0965077E238 2.8206087E235
|
5.020342E-03 5.858641E-03 6.799720E-03 7.839860E-03 8.976853E-03
|
||||||
6.0000202E59 2.2442055E236 3.7552964E212 1.5597676E233 2.4512885E236 1.6672401E237 4.3653900E237 8.1596459E237 1.2951226E238 1.8693740E238 2.5364436E238 3.2951374E238 3.0641106E235 6.1307908E234 3.3498916E236 1.2547121E236 1.1883224E237 4.1111241E236 5.1212908E236 1.7583051E236 1.6027136E237 2.6973586E237 8.9916849E236 5.4053052E236 5.8217327E236 1.9633281E236 1.7759037E237 1.5546774E233 2.4492861E236 1.6666347E237 4.3644983E237 8.1585791E237 1.2950050E238 1.8692493E238 2.5363140E238 3.2950044E238 4.1446522E238 5.0848624E238 6.1153904E238 7.2360785E238 8.4468215E238 3.0641106E235
|
1.020932E-02 1.850516E+08
|
||||||
6.0000202E59 2.0760738E236 3.4739566E212 2.6205007E233 2.6324532E236 1.6480566E237 4.1917922E237 7.7306722E237 1.2181184E238 1.7505117E238 2.3683970E238 3.0708105E238 3.2905665E235 7.4273622E234 3.2652962E236 1.2123903E236 1.1438614E237 3.9462989E236 4.8357097E236 1.6565836E236 1.5085565E237 2.5370389E237 8.4572223E236 5.0832897E236 5.4445519E236 1.8345246E236 1.6587710E237 2.6125887E233 2.6304639E236 1.6475030E237 4.1910000E237 7.7297372E237 1.2180161E238 1.7504037E238 2.3682851E238 3.0706958E238 3.8570989E238 4.7271779E238 5.6807374E238 6.7176515E238 7.8378365E238 3.2905665E235
|
2.631048E+04 3.549151E+09 6.891588E-15 4.198452E-01 1.868824E-02
|
||||||
6.0000202E59 1.9198276E236 3.2125052E212 4.2191863E233 2.7963166E236 1.6208764E237 4.0130146E237 7.3091975E237 1.1439276E238 1.6371907E238 2.2092092E238 2.8592070E238 3.4953958E235 8.8249316E234 3.1699191E236 1.1674620E236 1.0975688E237 3.7768008E236 4.5577560E236 1.5581546E236 1.4176679E237 2.3825678E237 7.9422626E236 4.7731350E236 5.0860068E236 1.7123239E236 1.5477356E237 4.2074048E233 2.7943625E236 1.6203729E237 4.0123134E237 7.3083800E237 1.1438387E238 1.6370972E238 2.2091127E238 2.8591083E238 3.5866537E238 4.3914960E238 5.2734792E238 6.2325030E238 7.2685008E238 3.4953958E235
|
1.828002E-02 2.427913E-02 3.314712E-02 4.435802E-02 5.776563E-02
|
||||||
6.0000202E59 1.7748581E236 2.9699233E212 6.5249040E233 2.9400096E236 1.5866401E237 3.8312227E237 6.8977725E237 1.0727702E238 1.5295397E238 2.0588730E238 2.6601466E238 3.6750120E235 1.0294696E235 3.0657196E236 1.1206143E236 1.0500609E237 3.6046551E236 4.2887123E236 1.4633803E236 1.3303461E237 2.2344051E237 7.4483376E236 4.4757451E236 4.7463140E236 1.5967557E236 1.4428070E237 6.5080581E233 2.9381102E236 1.5861844E237 3.8306038E237 6.8970592E237 1.0726932E238 1.5294590E238 2.0587898E238 2.6600617E238 3.3329302E238 4.0771933E238 4.8927269E238 5.7794512E238 6.7373132E238 3.6750120E235
|
7.331525E-02 8.663541E+01 3.028708E+09 1.028401E-02 4.929481E-06
|
||||||
6.0000202E59 1.6405087E236 2.7451125E212 9.7154749E233 3.0614869E236 1.5463282E237 3.6483332E237 6.4984050E237 1.0047863E238 1.4275840E238 1.9172556E238 2.4733010E238 3.8268587E235 1.1804025E235 2.9545790E236 1.0724773E236 1.0018911E237 3.4316510E236 4.0295268E236 1.3725113E236 1.2467889E237 2.0928434E237 6.9764225E236 4.1916905E236 4.4253819E236 1.4877492E236 1.3439055E237 9.6922881E233 3.0596587E236 1.5459177E237 3.6477884E237 6.4977839E237 1.0047196E238 1.4275144E238 1.9171840E238 2.4732280E238 3.0953711E238 3.7834524E238 4.5373731E238 5.3570698E238 6.2425005E238 3.8268587E235
|
1.156542E-06 8.926720E-06 2.660308E-06 1.372514E-06 4.185348E-07
|
||||||
6.0000202E59 1.5161082E236 2.5369493E212 1.3962283E234 3.1595064E236 1.5009210E237 3.4660110E237 6.1126291E237 9.4005112E237 1.3312708E238 1.7841345E238 2.2982421E238 3.9493830E235 1.3318402E235 2.8382562E236 1.0236166E236 9.5354692E236 3.2593391E236 3.7808657E236 1.2857058E236 1.1671124E237 1.9580409E237 6.5270433E236 3.9212726E236 4.1228914E236 1.3851611E236 1.2508874E237 1.3931485E234 3.1577626E236 1.5005528E237 3.4655326E237 6.1120892E237 9.3999346E237 1.3312108E238 1.7840730E238 2.2981794E238 2.8733105E238 3.5093380E238 4.2061835E238 4.9637966E238 5.7821439E238 3.9493830E235
|
3.625346E-06 5.867388E-06 1.955475E-06 1.166567E-06 9.328726E-07
|
||||||
6.0000202E59 1.4009918E236 2.3443216E212 1.9413001E234 3.2335707E236 1.4513688E237 3.2856762E237 5.7415703E237 8.7858849E237 1.2404888E238 1.6592253E238 2.1344780E238 4.0419633E235 1.4803333E235 2.7183616E236 9.7453099E235 9.0544970E236 3.0890400E236 3.5431596E236 1.2030471E236 1.0913665E237 1.8300482E237 6.1003680E236 3.6645792E236 3.8383594E236 1.2887965E236 1.1635640E237 1.9373428E234 3.2319215E236 1.4510398E237 3.2852572E237 5.7411016E237 8.7853870E237 1.2404371E238 1.6591724E238 2.1344242E238 2.6660175E238 3.2538504E238 3.8978604E238 4.5980077E238 5.3542659E238 4.0419633E235
|
3.002299E-07 2.661448E-06 2.331000E+06 1.419293E-01 1.139105E-02
|
||||||
6.0000202E59 1.2945155E236 2.1661516E212 2.6174484E234 3.2838436E236 1.3985703E237 3.1085191E237 5.3860067E237 8.2038155E237 1.1550845E238 1.5422021E238 1.9814788E238 4.1048044E235 1.6226080E235 2.5963425E236 9.2565266E235 8.5795780E236 2.9218573E236 3.3166455E236 1.1245583E236 1.0195489E237 1.7088310E237 5.6962822E236 3.4215295E236 3.5711868E236 1.1984258E236 1.0817165E237 2.6125179E234 3.2822960E236 1.3982773E237 3.1081528E237 5.3856005E237 8.2033858E237 1.1550400E238 1.5421567E238 1.9814327E238 2.4727287E238 3.0159637E238 3.6110881E238 4.2580704E238 4.9568896E238 4.1048044E235
|
6.305934E-03 5.741740E-03 6.166081E-03 7.032125E-03 8.188678E-03
|
||||||
|
9.579376E-03 1.117898E-02 1.297471E-02 1.495945E-02 1.712900E-02
|
||||||
|
1.948072E-02 2.553355E+08
|
||||||
|
2.631298E+04 4.904464E+09 9.525818E-15 8.013659E-01 3.568577E-02
|
||||||
|
3.490902E-02 4.636669E-02 6.330299E-02 8.471369E-02 1.103196E-01
|
||||||
|
1.400164E-01 1.461362E+02 4.186396E+09 2.695393E-02 1.293065E-05
|
||||||
|
3.033856E-06 2.341702E-05 6.978729E-06 3.600712E-06 1.098011E-06
|
||||||
|
9.511003E-06 1.539299E-05 5.130154E-06 3.060470E-06 2.447428E-06
|
||||||
|
7.876675E-07 6.982444E-06 4.426316E+06 2.699681E-01 2.167411E-02
|
||||||
|
1.199983E-02 1.092676E-02 1.173462E-02 1.338301E-02 1.558424E-02
|
||||||
|
1.823108E-02 2.127550E-02 2.469316E-02 2.847056E-02 3.259969E-02
|
||||||
|
3.707552E-02 3.517168E+08
|
||||||
|
2.631705E+04 6.772780E+09 1.315927E-14 1.526975E+00 6.804533E-02
|
||||||
|
6.657281E-02 8.842701E-02 1.207292E-01 1.615647E-01 2.104014E-01
|
||||||
|
2.670401E-01 2.457086E+02 5.783221E+09 7.026180E-02 3.375242E-05
|
||||||
|
7.919600E-06 6.112943E-05 1.821807E-05 9.400676E-06 2.866708E-06
|
||||||
|
2.483165E-05 4.018871E-05 1.339404E-05 7.990422E-06 6.390082E-06
|
||||||
|
2.056562E-06 1.823087E-05 8.371318E+06 5.120045E-01 4.112696E-02
|
||||||
|
2.277397E-02 2.073917E-02 2.227352E-02 2.540302E-02 2.958183E-02
|
||||||
|
3.460644E-02 4.038575E-02 4.687355E-02 5.404423E-02 6.188258E-02
|
||||||
|
7.037907E-02 4.835964E+08
|
||||||
|
2.632381E+04 9.347717E+09 1.817080E-14 2.904535E+00 1.295820E-01
|
||||||
|
1.268050E-01 1.684445E-01 2.299848E-01 3.077808E-01 4.008193E-01
|
||||||
|
5.087211E-01 4.122026E+02 7.985686E+09 1.818717E-01 8.756404E-05
|
||||||
|
2.054770E-05 1.586089E-04 4.727071E-05 2.439622E-05 7.439724E-06
|
||||||
|
6.444410E-05 1.043002E-04 3.476102E-05 2.073726E-05 1.658490E-05
|
||||||
|
5.337677E-06 4.731726E-05 1.574990E+07 9.677548E-01 7.780186E-02
|
||||||
|
4.309553E-02 3.925049E-02 4.215754E-02 4.808299E-02 5.599431E-02
|
||||||
|
6.550654E-02 7.644730E-02 8.872918E-02 1.023037E-01 1.171422E-01
|
||||||
|
1.332265E-01 6.635483E+08
|
||||||
|
2.633511E+04 1.289474E+10 2.508121E-14 5.512661E+00 2.464151E-01
|
||||||
|
2.412204E-01 3.204711E-01 4.375788E-01 5.856152E-01 7.626542E-01
|
||||||
|
9.679749E-01 6.902773E+02 1.102266E+10 4.660477E-01 2.252264E-04
|
||||||
|
5.285938E-05 4.080515E-04 1.216187E-04 6.278474E-05 1.914719E-05
|
||||||
|
1.658588E-04 2.684391E-04 8.946503E-05 5.337196E-05 4.268905E-05
|
||||||
|
1.373923E-05 1.217958E-04 2.941274E+07 1.821276E+00 1.466295E-01
|
||||||
|
8.126073E-02 7.402769E-02 7.952048E-02 9.070436E-02 1.056336E-01
|
||||||
|
1.235826E-01 1.442266E-01 1.674008E-01 1.930138E-01 2.210114E-01
|
||||||
|
2.513597E-01 9.081820E+08
|
||||||
|
2.635387E+04 1.777740E+10 3.460576E-14 1.043037E+01 4.677304E-01
|
||||||
|
4.581414E-01 6.087858E-01 8.313302E-01 1.112634E+00 1.449043E+00
|
||||||
|
1.839190E+00 1.153986E+03 1.520850E+10 1.176612E+00 5.721671E-04
|
||||||
|
1.343180E-04 1.036990E-03 3.090969E-04 1.596440E-04 4.868903E-05
|
||||||
|
4.217707E-04 6.826416E-04 2.275099E-04 1.357257E-04 1.085761E-04
|
||||||
|
3.494549E-05 3.097889E-04 5.433718E+07 3.407990E+00 2.750260E-01
|
||||||
|
1.525435E-01 1.390189E-01 1.493652E-01 1.703936E-01 1.984552E-01
|
||||||
|
2.321893E-01 2.709864E-01 3.145376E-01 3.626713E-01 4.152858E-01
|
||||||
|
4.723174E-01 1.239247E+09
|
||||||
|
2.638425E+04 2.449192E+10 4.772378E-14 1.964700E+01 8.856000E-01
|
||||||
|
8.682753E-01 1.154165E+00 1.576320E+00 2.109890E+00 2.747962E+00
|
||||||
|
3.487950E+00 1.925524E+03 2.097360E+10 2.907305E+00 1.428053E-03
|
||||||
|
3.353751E-04 2.589690E-03 7.720116E-04 3.990362E-04 1.217125E-04
|
||||||
|
1.054386E-03 1.706595E-03 5.687721E-04 3.393148E-04 2.715106E-04
|
||||||
|
8.738986E-05 7.747175E-04 9.884710E+07 6.329239E+00 5.127326E-01
|
||||||
|
2.847694E-01 2.596828E-01 2.791034E-01 3.184617E-01 3.709572E-01
|
||||||
|
4.340531E-01 5.066129E-01 5.880605E-01 6.780761E-01 7.764700E-01
|
||||||
|
8.831230E-01 1.685009E+09
|
||||||
|
2.643104E+04 3.371425E+10 6.577300E-14 3.678306E+01 1.671235E+00
|
||||||
|
1.640952E+00 2.182378E+00 2.981329E+00 3.990997E+00 5.198359E+00
|
||||||
|
6.598537E+00 3.205519E+03 2.890585E+10 6.979199E+00 3.481452E-03
|
||||||
|
8.181186E-04 6.319039E-03 1.884139E-03 9.750091E-04 2.974403E-04
|
||||||
|
2.576876E-03 4.171066E-03 1.390128E-03 8.293231E-04 6.638640E-04
|
||||||
|
2.136881E-04 1.894411E-03 1.761795E+08 1.164506E+01 9.489353E-01
|
||||||
|
5.281209E-01 4.820557E-01 5.183749E-01 5.916592E-01 6.893285E-01
|
||||||
|
8.066880E-01 9.416341E-01 1.093100E+00 1.260493E+00 1.443463E+00
|
||||||
|
1.641788E+00 2.282209E+09
|
||||||
|
2.649776E+04 4.636564E+10 9.058098E-14 6.836723E+01 3.141483E+00
|
||||||
|
3.091007E+00 4.113877E+00 5.621836E+00 7.527131E+00 9.805335E+00
|
||||||
|
1.244730E+01 5.322459E+03 3.980843E+10 1.619510E+01 8.257622E-03
|
||||||
|
1.942197E-03 1.500704E-02 4.475885E-03 2.320039E-03 7.079184E-04
|
||||||
|
6.133645E-03 9.928968E-03 3.309117E-03 1.974182E-03 1.581197E-03
|
||||||
|
5.090089E-04 4.512693E-03 3.066188E+08 2.120222E+01 1.742228E+00
|
||||||
|
9.724606E-01 8.888402E-01 9.565107E-01 1.092220E+00 1.272886E+00
|
||||||
|
1.489892E+00 1.739372E+00 2.019368E+00 2.328791E+00 2.666996E+00
|
||||||
|
3.033577E+00 3.078839E+09
|
||||||
|
2.658424E+04 6.370651E+10 1.246549E-13 1.261746E+02 5.882591E+00
|
||||||
|
5.803667E+00 7.731484E+00 1.057010E+01 1.415576E+01 1.844285E+01
|
||||||
|
2.341427E+01 8.815070E+03 5.478319E+10 3.635560E+01 1.906801E-02
|
||||||
|
4.489894E-03 3.470992E-02 1.035606E-02 5.379465E-03 1.641920E-03
|
||||||
|
1.422791E-02 2.303391E-02 7.676725E-03 4.579934E-03 3.670891E-03
|
||||||
|
1.181844E-03 1.047832E-02 5.213550E+08 3.820908E+01 3.173703E+00
|
||||||
|
1.778156E+00 1.628092E+00 1.753705E+00 2.003664E+00 2.335961E+00
|
||||||
|
2.734897E+00 3.193433E+00 3.707995E+00 4.276600E+00 4.898069E+00
|
||||||
|
5.571661E+00 4.137366E+09
|
||||||
|
2.668652E+04 8.746655E+10 1.714480E-13 2.315642E+02 1.098192E+01
|
||||||
|
1.086887E+01 1.449523E+01 1.982730E+01 2.656063E+01 3.461035E+01
|
||||||
|
4.394463E+01 1.456977E+04 7.534777E+10 7.944652E+01 4.307342E-02
|
||||||
|
1.015591E-02 7.855779E-02 2.344848E-02 1.221095E-02 3.728284E-03
|
||||||
|
3.231180E-02 5.231620E-02 1.743591E-02 1.040249E-02 8.344839E-03
|
||||||
|
2.686980E-03 2.382435E-02 8.696501E+08 6.823864E+01 5.740126E+00
|
||||||
|
3.230330E+00 2.963778E+00 3.195998E+00 3.653980E+00 4.261828E+00
|
||||||
|
4.991154E+00 5.829220E+00 6.769559E+00 7.808578E+00 8.944142E+00
|
||||||
|
1.017491E+01 5.537521E+09
|
||||||
|
2.680010E+04 1.200155E+11 2.357113E-13 4.233154E+02 2.045662E+01
|
||||||
|
2.031662E+01 2.712822E+01 3.712825E+01 4.975221E+01 6.484256E+01
|
||||||
|
8.234018E+01 2.404480E+04 1.035901E+11 1.701312E+02 9.567129E-02
|
||||||
|
2.259063E-02 1.748548E-01 5.221630E-02 2.726728E-02 8.328427E-03
|
||||||
|
7.219126E-02 1.168996E-01 3.896025E-02 2.324475E-02 1.866427E-02
|
||||||
|
6.010648E-03 5.329733E-02 1.429236E+09 1.209079E+02 1.031323E+01
|
||||||
|
5.832265E+00 5.363101E+00 5.790408E+00 6.625060E+00 7.730861E+00
|
||||||
|
9.056819E+00 1.058004E+01 1.228889E+01 1.417691E+01 1.624026E+01
|
||||||
|
1.847651E+01 7.379033E+09
|
||||||
|
2.691905E+04 1.646063E+11 3.240042E-13 7.724299E+02 3.806304E+01
|
||||||
|
3.793940E+01 5.072353E+01 6.946195E+01 9.310927E+01 1.213735E+02
|
||||||
|
1.541449E+02 3.964784E+04 1.423930E+11 3.598927E+02 2.102034E-01
|
||||||
|
4.971048E-02 3.850230E-01 1.150340E-01 6.024331E-02 1.840762E-02
|
||||||
|
1.595847E-01 2.584491E-01 8.613589E-02 5.139230E-02 4.130527E-02
|
||||||
|
1.330399E-02 1.179762E-01 2.325942E+09 2.127462E+02 1.841119E+01
|
||||||
|
1.046460E+01 9.645362E+00 1.042712E+01 1.193928E+01 1.393903E+01
|
||||||
|
1.633536E+01 1.908738E+01 2.217431E+01 2.558459E+01 2.931135E+01
|
||||||
|
3.335025E+01 9.781071E+09
|
||||||
|
2.703020E+04 2.257514E+11 4.455256E-13 1.413229E+03 7.091013E+01
|
||||||
|
7.091682E+01 9.492425E+01 1.300619E+02 1.743910E+02 2.273693E+02
|
||||||
|
2.887932E+02 6.541694E+04 1.957991E+11 7.642955E+02 4.623662E-01
|
||||||
|
1.094983E-01 8.486216E-01 2.536583E-01 1.331947E-01 4.071280E-02
|
||||||
|
3.530137E-01 5.717768E-01 1.905618E-01 1.136998E-01 9.146552E-02
|
||||||
|
2.946423E-02 2.612968E-01 3.785429E+09 3.722173E+02 3.264637E+01
|
||||||
|
1.864283E+01 1.722069E+01 1.863839E+01 2.135654E+01 2.494512E+01
|
||||||
|
2.924280E+01 3.417707E+01 3.971103E+01 4.582418E+01 5.250427E+01
|
||||||
|
5.974359E+01 1.286157E+10
|
||||||
|
2.711623E+04 3.097270E+11 6.132754E-13 2.607529E+03 1.326656E+02
|
||||||
|
1.330199E+02 1.782114E+02 2.442809E+02 3.276133E+02 4.271973E+02
|
||||||
|
5.426521E+02 1.082097E+05 2.695215E+11 1.660201E+03 1.031836E+00
|
||||||
|
2.446261E-01 1.896774E+00 5.671538E-01 2.984188E-01 9.124095E-02
|
||||||
|
7.912281E-01 1.281669E+00 4.271552E-01 2.548692E-01 2.051704E-01
|
||||||
|
6.609969E-02 5.862176E-01 6.227037E+09 6.473011E+02 5.736087E+01
|
||||||
|
3.287438E+01 3.041729E+01 3.295124E+01 3.777737E+01 4.414080E+01
|
||||||
|
5.175820E+01 6.050210E+01 7.030763E+01 8.113870E+01 9.297378E+01
|
||||||
|
1.057992E+02 1.668682E+10
|
||||||
|
2.716772E+04 4.251526E+11 8.453858E-13 4.865962E+03 2.496262E+02
|
||||||
|
2.506766E+02 3.360204E+02 4.607097E+02 6.179564E+02 8.058602E+02
|
||||||
|
1.023705E+03 1.796176E+05 3.715291E+11 3.709237E+03 2.342693E+00
|
||||||
|
5.557611E-01 4.310460E+00 1.289135E+00 6.791289E-01 2.076763E-01
|
||||||
|
1.801065E+00 2.917610E+00 9.723820E-01 5.801939E-01 4.672498E-01
|
||||||
|
1.505434E-01 1.335160E+00 1.036897E+10 1.114129E+03 9.933610E+01
|
||||||
|
5.705329E+01 5.284147E+01 5.727438E+01 6.568429E+01 7.676474E+01
|
||||||
|
9.002507E+01 1.052445E+02 1.223107E+02 1.411611E+02 1.617582E+02
|
||||||
|
1.840783E+02 2.121605E+10
|
||||||
|
2.719310E+04 5.836269E+11 1.166409E-12 9.153597E+03 4.714975E+02
|
||||||
|
4.738381E+02 6.353254E+02 8.711861E+02 1.168611E+03 1.524014E+03
|
||||||
|
1.936039E+03 2.988011E+05 5.126118E+11 8.379481E+03 5.334334E+00
|
||||||
|
1.265875E+00 9.819438E+00 2.937009E+00 1.548171E+00 4.734658E-01
|
||||||
|
4.106257E+00 6.652049E+00 2.216998E+00 1.322829E+00 1.065534E+00
|
||||||
|
3.433160E-01 3.044889E+00 1.725614E+10 1.884566E+03 1.685355E+02
|
||||||
|
9.689987E+01 8.979030E+01 9.734868E+01 1.116608E+02 1.305106E+02
|
||||||
|
1.530659E+02 1.789519E+02 2.079780E+02 2.400378E+02 2.750676E+02
|
||||||
|
3.130268E+02 2.632169E+10
|
||||||
|
2.720947E+04 8.006678E+11 1.609109E-12 1.724787E+04 8.907587E+02
|
||||||
|
8.956147E+02 1.201050E+03 1.647062E+03 2.209466E+03 2.881487E+03
|
||||||
|
3.660562E+03 4.969352E+05 7.071690E+11 1.867980E+04 1.195212E+01
|
||||||
|
2.836901E+00 2.200791E+01 6.583030E+00 3.471417E+00 1.061693E+00
|
||||||
|
9.208019E+00 1.491705E+01 4.971561E+00 2.966420E+00 2.389752E+00
|
||||||
|
7.699957E-01 6.829196E+00 2.824325E+10 3.116966E+03 2.792896E+02
|
||||||
|
1.606872E+02 1.489444E+02 1.615098E+02 1.852738E+02 2.165650E+02
|
||||||
|
2.540040E+02 2.969699E+02 3.451465E+02 3.983573E+02 4.564964E+02
|
||||||
|
5.194957E+02 3.187323E+10
|
||||||
|
2.722480E+04 1.097241E+12 2.217736E-12 3.244324E+04 1.679626E+03
|
||||||
|
1.689548E+03 2.266102E+03 3.107850E+03 4.169216E+03 5.437427E+03
|
||||||
|
6.907635E+03 8.249472E+05 9.746472E+11 4.064870E+04 2.613282E+01
|
||||||
|
6.203955E+00 4.813263E+01 1.439836E+01 7.595397E+00 2.323078E+00
|
||||||
|
2.014837E+01 3.264101E+01 1.087861E+01 6.491048E+00 5.229834E+00
|
||||||
|
1.685123E+00 1.494571E+01 4.515133E+10 5.032040E+03 4.517051E+02
|
||||||
|
2.600504E+02 2.411170E+02 2.615002E+02 3.000054E+02 3.506956E+02
|
||||||
|
4.113400E+02 4.809344E+02 5.589667E+02 6.451512E+02 7.393155E+02
|
||||||
|
8.413479E+02 3.770285E+10
|
||||||
|
2.724009E+04 1.501553E+12 3.051835E-12 6.084653E+04 3.157793E+03
|
||||||
|
3.177883E+03 4.263001E+03 5.846926E+03 7.844024E+03 1.023027E+04
|
||||||
|
1.299652E+04 1.365748E+06 1.341216E+12 8.619677E+04 5.567878E+01
|
||||||
|
1.322071E+01 1.025798E+02 3.068752E+01 1.619404E+01 4.953239E+00
|
||||||
|
4.296102E+01 6.959934E+01 2.319611E+01 1.384069E+01 1.115279E+01
|
||||||
|
3.593647E+00 3.187307E+01 7.043624E+10 7.927016E+03 7.128627E+02
|
||||||
|
4.106607E+02 3.808735E+02 4.131369E+02 4.740155E+02 5.541416E+02
|
||||||
|
6.499946E+02 7.599890E+02 8.833164E+02 1.019524E+03 1.168339E+03
|
||||||
|
1.329581E+03 4.357929E+10
|
||||||
|
2.725520E+04 2.051135E+12 4.190492E-12 1.136675E+05 5.913311E+03
|
||||||
|
5.953588E+03 7.987743E+03 1.095639E+04 1.469925E+04 1.917134E+04
|
||||||
|
2.435541E+04 2.252880E+06 1.841631E+12 1.781657E+05 1.156263E+02
|
||||||
|
2.746017E+01 2.130817E+02 6.374881E+01 3.365265E+01 1.029376E+01
|
||||||
|
8.928292E+01 1.446458E+02 4.820763E+01 2.876469E+01 2.318128E+01
|
||||||
|
7.469605E+00 6.625057E+01 1.072902E+11 1.219161E+04 1.098329E+03
|
||||||
|
6.331130E+02 5.873602E+02 6.372149E+02 7.311822E+02 8.548312E+02
|
||||||
|
1.002738E+03 1.172458E+03 1.362745E+03 1.572900E+03 1.802495E+03
|
||||||
|
2.051248E+03 4.926461E+10
|
||||||
|
2.727021E+04 2.795422E+12 5.737618E-12 2.112582E+05 1.101655E+04
|
||||||
|
1.109650E+04 1.489013E+04 2.042551E+04 2.740418E+04 3.574226E+04
|
||||||
|
4.540740E+04 3.699020E+06 2.521558E+12 3.592434E+05 2.342276E+02
|
||||||
|
5.563728E+01 4.317618E+02 1.291802E+02 6.821752E+01 2.086755E+01
|
||||||
|
1.809983E+02 2.932369E+02 9.773015E+01 5.831414E+01 4.700058E+01
|
||||||
|
1.514508E+01 1.343281E+02 1.597836E+11 1.833102E+04 1.654349E+03
|
||||||
|
9.542125E+02 8.855089E+02 9.608199E+02 1.102611E+03 1.289150E+03
|
||||||
|
1.512265E+03 1.768276E+03 2.055300E+03 2.372280E+03 2.718563E+03
|
||||||
|
3.093708E+03 5.456957E+10
|
||||||
|
2.728554E+04 3.798918E+12 7.828506E-12 3.901171E+05 2.039324E+04
|
||||||
|
2.055051E+04 2.758060E+04 3.783638E+04 5.076563E+04 6.621290E+04
|
||||||
|
8.411768E+04 6.038899E+06 3.440457E+12 7.073615E+05 4.633926E+02
|
||||||
|
1.100930E+02 8.544253E+02 2.556538E+02 1.350542E+02 4.131468E+01
|
||||||
|
3.583575E+02 5.805873E+02 1.934985E+02 1.154581E+02 9.306925E+01
|
||||||
|
2.999043E+01 2.660001E+02 2.330730E+11 2.700130E+04 2.441239E+03
|
||||||
|
1.408974E+03 1.307910E+03 1.419371E+03 1.628988E+03 1.904696E+03
|
||||||
|
2.234437E+03 2.612776E+03 3.036930E+03 3.505328E+03 4.016991E+03
|
||||||
|
4.571238E+03 5.939024E+10
|
||||||
|
2.730220E+04 5.145013E+12 1.063777E-11 7.147655E+05 3.746312E+04
|
||||||
|
3.777053E+04 5.070007E+04 6.955821E+04 9.333101E+04 1.217324E+05
|
||||||
|
1.546498E+05 9.792636E+06 4.675066E+12 1.361543E+06 8.965445E+02
|
||||||
|
2.130454E+02 1.653582E+03 4.948032E+02 2.614914E+02 7.999751E+01
|
||||||
|
6.939022E+02 1.124234E+03 3.746856E+02 2.235708E+02 1.802412E+02
|
||||||
|
5.808174E+01 5.151605E+02 3.336742E+11 3.906730E+04 3.539081E+03
|
||||||
|
2.044001E+03 1.897990E+03 2.060093E+03 2.364579E+03 2.764970E+03
|
||||||
|
3.243787E+03 3.793140E+03 4.408989E+03 5.089034E+03 5.831822E+03
|
||||||
|
6.636311E+03 6.373050E+10
|
||||||
|
2.732197E+04 6.940460E+12 1.438871E-11 1.297324E+06 6.821047E+04
|
||||||
|
6.881015E+04 9.238386E+04 1.267583E+05 1.700882E+05 2.218518E+05
|
||||||
|
2.818401E+05 1.575706E+07 6.323519E+12 2.563701E+06 1.698461E+03
|
||||||
|
4.037032E+02 3.133736E+03 9.377846E+02 4.958250E+02 1.516961E+02
|
||||||
|
1.315855E+03 2.131942E+03 7.105351E+02 4.239702E+02 3.418552E+02
|
||||||
|
1.101636E+02 9.771151E+02 4.698000E+11 5.570005E+04 5.057574E+03
|
||||||
|
2.923386E+03 2.715580E+03 2.948114E+03 3.384267E+03 3.957633E+03
|
||||||
|
4.643228E+03 5.429770E+03 6.311461E+03 7.284978E+03 8.348183E+03
|
||||||
|
9.499474E+03 6.771372E+10
|
||||||
|
2.734774E+04 9.320404E+12 1.936383E-11 2.328552E+06 1.229310E+05
|
||||||
|
1.241055E+05 1.666670E+05 2.287084E+05 3.069069E+05 4.003190E+05
|
||||||
|
5.085590E+05 2.513321E+07 8.509967E+12 4.722682E+06 3.153712E+03
|
||||||
|
7.498374E+02 5.821405E+03 1.742259E+03 9.217194E+02 2.820200E+02
|
||||||
|
2.446405E+03 3.963761E+03 1.321045E+03 7.882605E+02 6.357182E+02
|
||||||
|
2.048682E+02 1.817139E+03 6.517422E+11 7.854392E+04 7.153408E+03
|
||||||
|
4.139203E+03 3.846856E+03 4.177372E+03 4.796151E+03 5.609295E+03
|
||||||
|
6.581461E+03 7.696671E+03 8.946685E+03 1.032673E+04 1.183367E+04
|
||||||
|
1.346503E+04 7.159226E+10
|
||||||
|
2.738398E+04 1.245353E+13 2.591553E-11 4.124143E+06 2.189758E+05
|
||||||
|
2.213025E+05 2.973074E+05 4.080487E+05 5.476131E+05 7.143139E+05
|
||||||
|
9.074425E+05 3.969571E+07 1.138928E+13 8.503423E+06 5.741960E+03
|
||||||
|
1.365839E+03 1.060584E+04 3.174620E+03 1.680907E+03 5.143683E+02
|
||||||
|
4.462146E+03 7.230013E+03 2.409625E+03 1.437821E+03 1.159907E+03
|
||||||
|
3.738114E+02 3.315693E+03 8.922391E+11 1.100195E+05 1.006267E+04
|
||||||
|
5.831254E+03 5.423126E+03 5.891270E+03 6.765440E+03 7.913599E+03
|
||||||
|
9.286019E+03 1.086019E+04 1.262444E+04 1.457194E+04 1.669803E+04
|
||||||
|
1.899885E+04 7.577841E+10
|
||||||
|
2.743736E+04 1.654653E+13 3.447534E-11 7.187167E+06 3.848331E+05
|
||||||
|
3.895283E+05 5.235941E+05 7.188021E+05 9.647761E+05 1.258538E+06
|
||||||
|
1.598793E+06 6.200113E+07 1.515111E+13 1.493036E+07 1.024789E+04
|
||||||
|
2.439263E+03 1.894650E+04 5.672398E+03 3.007156E+03 9.203620E+02
|
||||||
|
7.984714E+03 1.293834E+04 4.312101E+03 2.573054E+03 2.076581E+03
|
||||||
|
6.692783E+02 5.936642E+03 1.206749E+12 1.538935E+05 1.416349E+04
|
||||||
|
8.225574E+03 7.657594E+03 8.323186E+03 9.561363E+03 1.118639E+04
|
||||||
|
1.312824E+04 1.535518E+04 1.785064E+04 2.060476E+04 2.361056E+04
|
||||||
|
2.686189E+04 8.091370E+10
|
||||||
|
2.751733E+04 2.184678E+13 4.555927E-11 1.227869E+07 6.657488E+05
|
||||||
|
6.754372E+05 9.086429E+05 1.247871E+06 1.675213E+06 2.185489E+06
|
||||||
|
2.776346E+06 9.561552E+07 2.002222E+13 2.546186E+07 1.790743E+04
|
||||||
|
4.266607E+03 3.315423E+04 9.929151E+03 5.273541E+03 1.614406E+03
|
||||||
|
1.400747E+04 2.269941E+04 7.565282E+03 4.514317E+03 3.645546E+03
|
||||||
|
1.175068E+03 1.042354E+04 1.613525E+12 2.163532E+05 2.009775E+04
|
||||||
|
1.170996E+04 1.091779E+04 1.187646E+04 1.364993E+04 1.597489E+04
|
||||||
|
1.875195E+04 2.193594E+04 2.550310E+04 2.943898E+04 3.373288E+04
|
||||||
|
3.837473E+04 8.799169E+10
|
||||||
|
2.763600E+04 2.864239E+13 5.976739E-11 2.047212E+07 1.130687E+06
|
||||||
|
1.151071E+06 1.550350E+06 2.130319E+06 2.860678E+06 3.732565E+06
|
||||||
|
4.741740E+06 1.453187E+08 2.626633E+13 4.194376E+07 3.057721E+04
|
||||||
|
7.295807E+03 5.672880E+04 1.699716E+04 9.052045E+03 2.772145E+03
|
||||||
|
2.405643E+04 3.898865E+04 1.299419E+04 7.754009E+03 6.267516E+03
|
||||||
|
2.020498E+03 1.792412E+04 2.133393E+12 3.080032E+05 2.900568E+04
|
||||||
|
1.698131E+04 1.586769E+04 1.728178E+04 1.987681E+04 2.327323E+04
|
||||||
|
2.732759E+04 3.197443E+04 3.717900E+04 4.291957E+04 4.917917E+04
|
||||||
|
5.594071E+04 9.856303E+10
|
||||||
|
2.780717E+04 3.725987E+13 7.777831E-11 3.315134E+07 1.879876E+06
|
||||||
|
1.923133E+06 2.594647E+06 3.568075E+06 4.793318E+06 6.255515E+06
|
||||||
|
7.947092E+06 2.172327E+08 3.418165E+13 6.632624E+07 5.089381E+04
|
||||||
|
1.216842E+04 9.470119E+04 2.839314E+04 1.517987E+04 4.651187E+03
|
||||||
|
4.037165E+04 6.544226E+04 2.181070E+04 1.301552E+04 1.053415E+04
|
||||||
|
3.396658E+03 3.013491E+04 2.789201E+12 4.474849E+05 4.297246E+04
|
||||||
|
2.533074E+04 2.374458E+04 2.590512E+04 2.982585E+04 3.494561E+04
|
||||||
|
4.105179E+04 4.804696E+04 5.587871E+04 6.451313E+04 7.392217E+04
|
||||||
|
8.407539E+04 1.150797E+11
|
||||||
|
2.804433E+04 4.806194E+13 1.003432E-10 5.191762E+07 3.051931E+06
|
||||||
|
3.143036E+06 4.250411E+06 5.851298E+06 7.864992E+06 1.026712E+07
|
||||||
|
1.304428E+07 3.188455E+08 4.409829E+13 1.001037E+08 8.237732E+04
|
||||||
|
1.975138E+04 1.539049E+05 4.618484E+04 2.482298E+04 7.611304E+03
|
||||||
|
6.608529E+04 1.071491E+05 3.571088E+04 2.131141E+04 1.727934E+04
|
||||||
|
5.573160E+03 4.945067E+04 3.604970E+12 6.679640E+05 6.587928E+04
|
||||||
|
3.919772E+04 3.690234E+04 4.035467E+04 4.652801E+04 5.456447E+04
|
||||||
|
6.413810E+04 7.509859E+04 8.736375E+04 1.008782E+05 1.155930E+05
|
||||||
|
1.314510E+05 1.415133E+11
|
||||||
|
2.835880E+04 6.144836E+13 1.282848E-10 7.840585E+07 4.829832E+06
|
||||||
|
5.017301E+06 6.805624E+06 9.381990E+06 1.261998E+07 1.648053E+07
|
||||||
|
2.094022E+07 4.589408E+08 5.637787E+13 1.436143E+08 1.294348E+05
|
||||||
|
3.114781E+04 2.430952E+05 7.303476E+04 3.952520E+04 1.213058E+04
|
||||||
|
1.053659E+05 1.708900E+05 5.695466E+04 3.399124E+04 2.762434E+04
|
||||||
|
8.913020E+03 7.909772E+04 4.604683E+12 1.028914E+06 1.050595E+05
|
||||||
|
6.327303E+04 5.990339E+04 6.570767E+04 7.589868E+04 8.911369E+04
|
||||||
|
1.048329E+05 1.228148E+05 1.429244E+05 1.650664E+05 1.891501E+05
|
||||||
|
2.150627E+05 1.845387E+11
|
||||||
|
2.875888E+04 7.786164E+13 1.625052E-10 1.140532E+08 7.445698E+06
|
||||||
|
7.818307E+06 1.064495E+07 1.470016E+07 1.979156E+07 2.585796E+07
|
||||||
|
3.285889E+07 6.474716E+08 7.141671E+13 1.954764E+08 1.972187E+05
|
||||||
|
4.767526E+04 3.728234E+05 1.121719E+05 6.122631E+04 1.881241E+04
|
||||||
|
1.634850E+05 2.652521E+05 8.840411E+04 5.276456E+04 4.300514E+04
|
||||||
|
1.388194E+04 1.232180E+05 5.810259E+12 1.637851E+06 1.745886E+05
|
||||||
|
1.067428E+05 1.017650E+05 1.120486E+05 1.297221E+05 1.525327E+05
|
||||||
|
1.796168E+05 2.105691E+05 2.451572E+05 2.832073E+05 3.245411E+05
|
||||||
|
3.689232E+05 2.558167E+11
|
||||||
|
2.925058E+04 9.779779E+13 2.039980E-10 1.598707E+08 1.118435E+07
|
||||||
|
1.189546E+07 1.626890E+07 2.251291E+07 3.034304E+07 3.966545E+07
|
||||||
|
5.041101E+07 8.953846E+08 8.965157E+13 2.523638E+08 2.912502E+05
|
||||||
|
7.078752E+04 5.548718E+05 1.672328E+05 9.221377E+04 2.837245E+04
|
||||||
|
2.467094E+05 4.004635E+05 1.334681E+05 7.966835E+04 6.515639E+04
|
||||||
|
2.104366E+04 1.868299E+05 7.237605E+12 2.690901E+06 3.019277E+05
|
||||||
|
1.879395E+05 1.806692E+05 1.998254E+05 2.319728E+05 2.732417E+05
|
||||||
|
3.221394E+05 3.779568E+05 4.402735E+05 5.087545E+05 5.830291E+05
|
||||||
|
6.625788E+05 3.764136E+11
|
||||||
|
2.983925E+04 1.218225E+14 2.538649E-10 2.162427E+08 1.638512E+07
|
||||||
|
1.768642E+07 2.431431E+07 3.372626E+07 4.551306E+07 5.953362E+07
|
||||||
|
7.567103E+07 1.214365E+09 1.115666E+14 3.091079E+08 4.165988E+05
|
||||||
|
1.018861E+05 8.008197E+05 2.418392E+05 1.349277E+05 4.158036E+04
|
||||||
|
3.618030E+05 5.875918E+05 1.958356E+05 1.169080E+05 9.599268E+04
|
||||||
|
3.102222E+04 2.754957E+05 8.888574E+12 4.548388E+06 5.414422E+05
|
||||||
|
3.440792E+05 3.339533E+05 3.712888E+05 4.323730E+05 5.103240E+05
|
||||||
|
6.024684E+05 7.075152E+05 8.246685E+05 9.532468E+05 1.092438E+06
|
||||||
|
1.241046E+06 5.853930E+11
|
||||||
|
3.052958E+04 1.506031E+14 3.133502E-10 2.829061E+08 2.344770E+07
|
||||||
|
2.573375E+07 3.558341E+07 4.948955E+07 6.687855E+07 8.754158E+07
|
||||||
|
1.112830E+08 1.616748E+09 1.377085E+14 3.593030E+08 5.764502E+05
|
||||||
|
1.419710E+05 1.119308E+06 3.387749E+05 1.915208E+05 5.912538E+04
|
||||||
|
5.148603E+05 8.366565E+05 2.788461E+05 1.664818E+05 1.373082E+05
|
||||||
|
4.440534E+04 3.944648E+05 1.073679E+13 7.866169E+06 1.000740E+06
|
||||||
|
6.509235E+05 6.386057E+05 7.141635E+05 8.345884E+05 9.872915E+05
|
||||||
|
1.167338E+06 1.372300E+06 1.600603E+06 1.850796E+06 2.121016E+06
|
||||||
|
2.408399E+06 9.552139E+11
|
||||||
|
3.132352E+04 1.849625E+14 3.839023E-10 3.593022E+08 3.285422E+07
|
||||||
|
3.671944E+07 5.109801E+07 7.127539E+07 9.646581E+07 1.263638E+08
|
||||||
|
1.606445E+08 2.115964E+09 1.687139E+14 3.964950E+08 7.699592E+05
|
||||||
|
1.910896E+05 1.511625E+06 4.586362E+05 2.630579E+05 8.136804E+04
|
||||||
|
7.091407E+05 1.153105E+06 3.843153E+05 2.294797E+05 1.901931E+05
|
||||||
|
6.155546E+04 5.469950E+05 1.270579E+13 1.379283E+07 1.887272E+06
|
||||||
|
1.259247E+06 1.250075E+06 1.406962E+06 1.650558E+06 1.957414E+06
|
||||||
|
2.318242E+06 2.728356E+06 3.184546E+06 3.683594E+06 4.221091E+06
|
||||||
|
4.789976E+06 1.615796E+12
|
||||||
|
3.221991E+04 2.259343E+14 4.672236E-10 4.450522E+08 4.520586E+07
|
||||||
|
5.151733E+07 7.218008E+07 1.009974E+08 1.369134E+08 1.794845E+08
|
||||||
|
2.281749E+08 2.727130E+09 2.053310E+14 4.151602E+08 9.889272E+05
|
||||||
|
2.474559E+05 1.964554E+06 5.976195E+05 3.481162E+05 1.079022E+05
|
||||||
|
9.412334E+05 1.531552E+06 5.104489E+05 3.048367E+05 2.539724E+05
|
||||||
|
8.226490E+04 7.312823E+05 1.463927E+13 2.420228E+07 3.579875E+06
|
||||||
|
2.454623E+06 2.467687E+06 2.796479E+06 3.294201E+06 3.917014E+06
|
||||||
|
4.647334E+06 5.476017E+06 6.396377E+06 7.401118E+06 8.479629E+06
|
||||||
|
9.614274E+06 2.785909E+12
|
||||||
|
3.321650E+04 2.747982E+14 5.652897E-10 5.401664E+08 6.125954E+07
|
||||||
|
7.125172E+07 1.005444E+08 1.411470E+08 1.916628E+08 2.514483E+08
|
||||||
|
3.196242E+08 3.467122E+09 2.484278E+14 4.111852E+08 1.213387E+06
|
||||||
|
3.062455E+05 2.440452E+06 7.444279E+05 4.407210E+05 1.369043E+05
|
||||||
|
1.195340E+06 1.946428E+06 6.487250E+05 3.874687E+05 3.245895E+05
|
||||||
|
1.052292E+05 9.357673E+05 1.627567E+13 4.182196E+07 6.712498E+06
|
||||||
|
4.736034E+06 4.824645E+06 5.506882E+06 6.515089E+06 7.768417E+06
|
||||||
|
9.233949E+06 1.089393E+07 1.273435E+07 1.473862E+07 1.688122E+07
|
||||||
|
1.911836E+07 4.799216E+12
|
||||||
|
3.430806E+04 3.331195E+14 6.804861E-10 6.455849E+08 8.200359E+07
|
||||||
|
9.740272E+07 1.384589E+08 1.950264E+08 2.652786E+08 3.482798E+08
|
||||||
|
4.425907E+08 4.355769E+09 2.990528E+14 3.835806E+08 1.410899E+06
|
||||||
|
3.592609E+05 2.874033E+06 8.791640E+05 5.292420E+05 1.647715E+05
|
||||||
|
1.440043E+06 2.346625E+06 7.821099E+05 4.672041E+05 3.935965E+05
|
||||||
|
1.277136E+05 1.136147E+06 1.727927E+13 6.988839E+07 1.220025E+07
|
||||||
|
8.864797E+06 9.154380E+06 1.052634E+07 1.250895E+07 1.495795E+07
|
||||||
|
1.781358E+07 2.104209E+07 2.461458E+07 2.849392E+07 3.262012E+07
|
||||||
|
3.688724E+07 8.078294E+12
|
||||||
|
3.550862E+04 4.025862E+14 8.153368E-10 7.599490E+08 1.084720E+08
|
||||||
|
1.316545E+08 1.885661E+08 2.665229E+08 3.631596E+08 4.771105E+08
|
||||||
|
6.060277E+08 5.407746E+09 3.583150E+14 3.320394E+08 1.532030E+06
|
||||||
|
3.936731E+05 3.161894E+06 9.700332E+05 5.940505E+05 1.853760E+05
|
||||||
|
1.621728E+06 2.644703E+06 8.814606E+05 5.266310E+05 4.462399E+05
|
||||||
|
1.449271E+05 1.289786E+06 1.726317E+13 1.113524E+08 2.119337E+07
|
||||||
|
1.587222E+07 1.662179E+07 1.925868E+07 2.299075E+07 2.757254E+07
|
||||||
|
3.290013E+07 3.891157E+07 4.554886E+07 5.273151E+07 6.032368E+07
|
||||||
|
6.807929E+07 1.310171E+13
|
||||||
|
3.681937E+04 4.854930E+14 9.740507E-10 8.851778E+08 1.422640E+08
|
||||||
|
1.765041E+08 2.547515E+08 3.613335E+08 4.932029E+08 6.483502E+08
|
||||||
|
8.229486E+08 6.649958E+09 4.280643E+14 2.657080E+08 1.543921E+06
|
||||||
|
4.004209E+05 3.229148E+06 9.935970E+05 6.191964E+05 1.936772E+05
|
||||||
|
1.696061E+06 2.768068E+06 9.225812E+05 5.512821E+05 4.698907E+05
|
||||||
|
1.527497E+05 1.359947E+06 1.610107E+13 1.669717E+08 3.470007E+07
|
||||||
|
2.679989E+07 2.846810E+07 3.324021E+07 3.986636E+07 4.795357E+07
|
||||||
|
5.733106E+07 6.789027E+07 7.951947E+07 9.205229E+07 1.051967E+08
|
||||||
|
1.184117E+08 2.015104E+13
|
||||||
|
3.826199E+04 5.850867E+14 1.163247E-09 1.023155E+09 1.856266E+08
|
||||||
|
2.355299E+08 3.426198E+08 4.876996E+08 6.668445E+08 8.770609E+08
|
||||||
|
1.112091E+09 8.119664E+09 5.112093E+14 1.956150E+08 1.438498E+06
|
||||||
|
3.766259E+05 3.049852E+06 9.412643E+05 5.971362E+05 1.872256E+05
|
||||||
|
1.641255E+06 2.680742E+06 8.934798E+05 5.339754E+05 4.578887E+05
|
||||||
|
1.489890E+05 1.327006E+06 1.395536E+13 2.350461E+08 5.343734E+07
|
||||||
|
4.258914E+07 4.590306E+07 5.402253E+07 6.509912E+07 7.854227E+07
|
||||||
|
9.408688E+07 1.115512E+08 1.307289E+08 1.512927E+08 1.726473E+08
|
||||||
|
1.936677E+08 2.930996E+13
|
||||||
|
3.988751E+04 7.073752E+14 1.395352E-09 1.178379E+09 2.425095E+08
|
||||||
|
3.149716E+08 4.619314E+08 6.599670E+08 9.039818E+08 1.189418E+09
|
||||||
|
1.505902E+09 9.888059E+09 6.132116E+14 1.318253E+08 1.238497E+06
|
||||||
|
3.274686E+05 2.663225E+06 8.245246E+05 5.328681E+05 1.674924E+05
|
||||||
|
1.469845E+06 2.402747E+06 8.008290E+05 4.786809E+05 4.130528E+05
|
||||||
|
1.345325E+05 1.198754E+06 1.121992E+13 3.129485E+08 7.811481E+07
|
||||||
|
6.432593E+07 7.038811E+07 8.352131E+07 1.011428E+08 1.224121E+08
|
||||||
|
1.469362E+08 1.744200E+08 2.044945E+08 2.365375E+08 2.693820E+08
|
||||||
|
3.007846E+08 4.064744E+13
|
||||||
|
4.178629E+04 8.638770E+14 1.693619E-09 1.360973E+09 3.205150E+08
|
||||||
|
4.268083E+08 6.314269E+08 9.056831E+08 1.242809E+09 1.635594E+09
|
||||||
|
2.066269E+09 1.208994E+10 7.442891E+14 8.078475E+07 9.863209E+05
|
||||||
|
2.635510E+05 2.153289E+06 6.688919E+05 4.409474E+05 1.389700E+05
|
||||||
|
1.220944E+06 1.997628E+06 6.658071E+05 3.980426E+05 3.457793E+05
|
||||||
|
1.127399E+05 1.005027E+06 8.355574E+12 3.997380E+08 1.102625E+08
|
||||||
|
9.403017E+07 1.045702E+08 1.251749E+08 1.523837E+08 1.850444E+08
|
||||||
|
2.225885E+08 2.645409E+08 3.102442E+08 3.585271E+08 4.071276E+08
|
||||||
|
4.516397E+08 5.456756E+13
|
||||||
|
4.406223E+04 1.072989E+15 2.094582E-09 1.588584E+09 4.330569E+08
|
||||||
|
5.925066E+08 8.848848E+08 1.274622E+09 1.752368E+09 2.306041E+09
|
||||||
|
2.903571E+09 1.492295E+10 9.204981E+14 4.515715E+07 7.326357E+05
|
||||||
|
1.980135E+05 1.625931E+06 5.069180E+05 3.414413E+05 1.079214E+05
|
||||||
|
9.493434E+05 1.554736E+06 5.181947E+05 3.098526E+05 2.711329E+05
|
||||||
|
8.850271E+04 7.893523E+05 5.793617E+12 4.977347E+08 1.530148E+08
|
||||||
|
1.355349E+08 1.533969E+08 1.853788E+08 2.269623E+08 2.765990E+08
|
||||||
|
3.334663E+08 3.967826E+08 4.653507E+08 5.369250E+08 6.070476E+08
|
||||||
|
6.669801E+08 7.199665E+13
|
||||||
|
4.678332E+04 1.358875E+15 2.645685E-09 1.885958E+09 6.010573E+08
|
||||||
|
8.464977E+08 1.277017E+09 1.847730E+09 2.544981E+09 3.347149E+09
|
||||||
|
4.192708E+09 1.859529E+10 1.162688E+15 2.365598E+07 5.199451E+05
|
||||||
|
1.422529E+05 1.174318E+06 3.675449E+05 2.533208E+05 8.031662E+04
|
||||||
|
7.074543E+05 1.159778E+06 3.865569E+05 2.311864E+05 2.038737E+05
|
||||||
|
6.662928E+04 5.945767E+05 3.821078E+12 6.133991E+08 2.117180E+08
|
||||||
|
1.952867E+08 2.252057E+08 2.749380E+08 3.386581E+08 4.142902E+08
|
||||||
|
5.006152E+08 5.962900E+08 6.990467E+08 8.044213E+08 9.033437E+08
|
||||||
|
9.781374E+08 9.440895E+13
|
||||||
|
4.997294E+04 1.752326E+15 3.406730E-09 2.287180E+09 8.566606E+08
|
||||||
|
1.243085E+09 1.894911E+09 2.754306E+09 3.799951E+09 4.990550E+09
|
||||||
|
6.200991E+09 2.328075E+10 1.497139E+15 1.213452E+07 3.650196E+05
|
||||||
|
1.011334E+05 8.394866E+05 2.638059E+05 1.861924E+05 5.922217E+04
|
||||||
|
5.223650E+05 8.572515E+05 2.857258E+05 1.709180E+05 1.519399E+05
|
||||||
|
4.971907E+04 4.439171E+05 2.476583E+12 7.586221E+08 2.951249E+08
|
||||||
|
2.838621E+08 3.337547E+08 4.117545E+08 5.103568E+08 6.267423E+08
|
||||||
|
7.590181E+08 9.047413E+08 1.059406E+09 1.213751E+09 1.348668E+09
|
||||||
|
1.427955E+09 1.239837E+14
|
||||||
|
5.363022E+04 2.295277E+15 4.458755E-09 2.843559E+09 1.251732E+09
|
||||||
|
1.871487E+09 2.882588E+09 4.208630E+09 5.813735E+09 7.614184E+09
|
||||||
|
9.342109E+09 2.909269E+10 1.959464E+15 6.370922E+06 2.623039E+05
|
||||||
|
7.359686E+04 6.142901E+05 1.938164E+05 1.400836E+05 4.469901E+04
|
||||||
|
3.948067E+05 6.485995E+05 2.161824E+05 1.293446E+05 1.159092E+05
|
||||||
|
3.797665E+04 3.392593E+05 1.628990E+12 9.522942E+08 4.175698E+08
|
||||||
|
4.188140E+08 5.020584E+08 6.259146E+08 7.806239E+08 9.622397E+08
|
||||||
|
1.167628E+09 1.392063E+09 1.626127E+09 1.849761E+09 2.021546E+09
|
||||||
|
2.068189E+09 1.638558E+14
|
||||||
|
5.773749E+04 3.044737E+15 5.911968E-09 3.631765E+09 1.870443E+09
|
||||||
|
2.878973E+09 4.479186E+09 6.567001E+09 9.077218E+09 1.183103E+10
|
||||||
|
1.423107E+10 3.599783E+10 2.598095E+15 3.547278E+06 1.981489E+05
|
||||||
|
5.628193E+04 4.722928E+05 1.495980E+05 1.106505E+05 3.541711E+04
|
||||||
|
3.132420E+05 5.151303E+05 1.716973E+05 1.027491E+05 9.279750E+04
|
||||||
|
3.044157E+04 2.720895E+05 1.115144E+12 1.221824E+09 6.018515E+08
|
||||||
|
6.287271E+08 7.680155E+08 9.672607E+08 1.213552E+09 1.501108E+09
|
||||||
|
1.824340E+09 2.173543E+09 2.528091E+09 2.842914E+09 3.027308E+09
|
||||||
|
2.941639E+09 2.182724E+14
|
||||||
|
6.227623E+04 4.073401E+15 7.907280E-09 4.753518E+09 2.842638E+09
|
||||||
|
4.497992E+09 7.065002E+09 1.039682E+10 1.436661E+10 1.857699E+10
|
||||||
|
2.166662E+10 4.363804E+10 3.474955E+15 2.131995E+06 1.592091E+05
|
||||||
|
4.575206E+04 3.858946E+05 1.226870E+05 9.276225E+04 2.977935E+04
|
||||||
|
2.637146E+05 4.341051E+05 1.446917E+05 8.660465E+04 7.879953E+04
|
||||||
|
2.587979E+04 2.314323E+05 8.044943E+11 1.602617E+09 8.818394E+08
|
||||||
|
9.576064E+08 1.190885E+09 1.514358E+09 1.910588E+09 2.370606E+09
|
||||||
|
2.883726E+09 3.429026E+09 3.959678E+09 4.372493E+09 4.473957E+09
|
||||||
|
4.037755E+09 2.925852E+14
|
||||||
|
6.724926E+04 5.466402E+15 1.060995E-08 6.324386E+09 4.352686E+09
|
||||||
|
7.068747E+09 1.120192E+10 1.653730E+10 2.281588E+10 2.913554E+10
|
||||||
|
3.241870E+10 5.117285E+10 4.662668E+15 1.378917E+06 1.353100E+05
|
||||||
|
3.931314E+04 3.331808E+05 1.062990E+05 8.205056E+04 2.641396E+04
|
||||||
|
2.341919E+05 3.858610E+05 1.286121E+05 7.699409E+04 7.054611E+04
|
||||||
|
2.319458E+04 2.075178E+05 6.105438E+11 2.134321E+09 1.303310E+09
|
||||||
|
1.467814E+09 1.856360E+09 2.381985E+09 3.020669E+09 3.757654E+09
|
||||||
|
4.571386E+09 5.415392E+09 6.181653E+09 6.636662E+09 6.402122E+09
|
||||||
|
5.239011E+09 3.930048E+14
|
||||||
|
7.268226E+04 7.317835E+15 1.420256E-08 8.463767E+09 6.644058E+09
|
||||||
|
1.105552E+10 1.766443E+10 2.614459E+10 3.595363E+10 4.504425E+10
|
||||||
|
4.676635E+10 5.740851E+10 6.241471E+15 9.462134E+05 1.198973E+05
|
||||||
|
3.519472E+04 2.996199E+05 9.590528E+04 7.547449E+04 2.436031E+04
|
||||||
|
2.162257E+05 3.565656E+05 1.188481E+05 7.116082E+04 6.562903E+04
|
||||||
|
2.160008E+04 1.933377E+05 4.828712E+11 2.857578E+09 1.923637E+09
|
||||||
|
2.241604E+09 2.879944E+09 3.726520E+09 4.747673E+09 5.917794E+09
|
||||||
|
7.192083E+09 8.466424E+09 9.493922E+09 9.773193E+09 8.689703E+09
|
||||||
|
6.328822E+09 5.263500E+14
|
||||||
|
7.860970E+04 9.728643E+15 1.888093E-08 1.129065E+10 1.002098E+10
|
||||||
|
1.705710E+10 2.746052E+10 4.071813E+10 5.568977E+10 6.782563E+10
|
||||||
|
6.392898E+10 6.129111E+10 8.297415E+15 6.790319E+05 1.092289E+05
|
||||||
|
3.237194E+04 2.767469E+05 8.885508E+04 7.120084E+04 2.303685E+04
|
||||||
|
2.046922E+05 3.378171E+05 1.125995E+05 6.742999E+04 6.256885E+04
|
||||||
|
2.061265E+04 1.845757E+05 3.941723E+11 3.812733E+09 2.811096E+09
|
||||||
|
3.381695E+09 4.408885E+09 5.749331E+09 7.355024E+09 9.179740E+09
|
||||||
|
1.112960E+10 1.297386E+10 1.416786E+10 1.373853E+10 1.101555E+10
|
||||||
|
7.096694E+09 6.999110E+14
|
||||||
|
8.506978E+04 1.280639E+16 2.485373E-08 1.492134E+10 1.484736E+10
|
||||||
|
2.581112E+10 4.184137E+10 6.210451E+10 8.423166E+10 9.850035E+10
|
||||||
|
8.183000E+10 6.241431E+10 1.092220E+16 5.041291E+05 1.012704E+05
|
||||||
|
3.028238E+04 2.598961E+05 8.368265E+04 6.819355E+04 2.211383E+04
|
||||||
|
1.966821E+05 3.248398E+05 1.082744E+05 6.484939E+04 6.051717E+04
|
||||||
|
1.995454E+04 1.787514E+05 3.296963E+11 5.039164E+09 4.043818E+09
|
||||||
|
5.010939E+09 6.622666E+09 8.698021E+09 1.116713E+10 1.394461E+10
|
||||||
|
1.683541E+10 1.934171E+10 2.033308E+10 1.820472E+10 1.296607E+10
|
||||||
|
7.449664E+09 9.214479E+14
|
||||||
|
9.210236E+04 1.666820E+16 3.234817E-08 1.947470E+10 2.154980E+10
|
||||||
|
3.820354E+10 6.231772E+10 9.250209E+10 1.239410E+11 1.369607E+11
|
||||||
|
9.766495E+10 6.109425E+10 1.421568E+16 3.846819E+05 9.499445E+04
|
||||||
|
2.864229E+04 2.467135E+05 7.964842E+04 6.592840E+04 2.142428E+04
|
||||||
|
1.907215E+05 3.152138E+05 1.050664E+05 6.293649E+04 5.904294E+04
|
||||||
|
1.948458E+04 1.746041E+05 2.813037E+11 6.577105E+09 5.710236E+09
|
||||||
|
7.273366E+09 9.734992E+09 1.286934E+10 1.657232E+10 2.068488E+10
|
||||||
|
2.480970E+10 2.791418E+10 2.784601E+10 2.258289E+10 1.423435E+10
|
||||||
|
7.425939E+09 1.199408E+15
|
||||||
|
9.975439E+04 2.145941E+16 4.164625E-08 2.511050E+10 3.066422E+10
|
||||||
|
5.535657E+10 9.080290E+10 1.346389E+11 1.773214E+11 1.815712E+11
|
||||||
|
1.091154E+11 5.803760E+10 1.830179E+16 3.011091E+05 9.005602E+04
|
||||||
|
2.736304E+04 2.364892E+05 7.653525E+04 6.427691E+04 2.092840E+04
|
||||||
|
1.864635E+05 3.083747E+05 1.027871E+05 6.157894E+04 5.805306E+04
|
||||||
|
1.917266E+04 1.718659E+05 2.444907E+11 8.480609E+09 7.920770E+09
|
||||||
|
1.034992E+10 1.401560E+10 1.863824E+10 2.405861E+10 2.998090E+10
|
||||||
|
3.561478E+10 3.891818E+10 3.623077E+10 2.623218E+10 1.474308E+10
|
||||||
|
7.131344E+09 1.544272E+15
|
||||||
|
1.080785E+05 2.739111E+16 5.315754E-08 3.211523E+10 4.297014E+10
|
||||||
|
7.888426E+10 1.300326E+11 1.923294E+11 2.472941E+11 2.292727E+11
|
||||||
|
1.152317E+11 5.397447E+10 2.336050E+16 2.426003E+05 8.665671E+04
|
||||||
|
2.651869E+04 2.299081E+05 7.457487E+04 6.347819E+04 2.070575E+04
|
||||||
|
1.846233E+05 3.055136E+05 1.018338E+05 6.101493E+04 5.778316E+04
|
||||||
|
1.909714E+04 1.712416E+05 2.169305E+11 1.084653E+10 1.084019E+10
|
||||||
|
1.450378E+10 1.985362E+10 2.654280E+10 3.432050E+10 4.263808E+10
|
||||||
|
4.995779E+10 5.244694E+10 4.475172E+10 2.871729E+10 1.460612E+10
|
||||||
|
6.675781E+09 1.971253E+15
|
||||||
|
1.171368E+05 3.480723E+16 6.754946E-08 4.105454E+10 5.978416E+10
|
||||||
|
1.114658E+11 1.845138E+11 2.717321E+11 3.378724E+11 2.761972E+11
|
||||||
|
1.163967E+11 4.947174E+10 2.968512E+16 2.029334E+05 8.545433E+04
|
||||||
|
2.632420E+04 2.288828E+05 7.439899E+04 6.412240E+04 2.095097E+04
|
||||||
|
1.869444E+05 3.095256E+05 1.031714E+05 6.182306E+04 5.879540E+04
|
||||||
|
1.944453E+04 1.744063E+05 1.976121E+11 1.386596E+10 1.475523E+10
|
||||||
|
2.017928E+10 2.789835E+10 3.747463E+10 4.849907E+10 5.995038E+10
|
||||||
|
6.887959E+10 6.848384E+10 5.259679E+10 2.992391E+10 1.401485E+10
|
||||||
|
6.143828E+09 2.505120E+15
|
||||||
|
1.270019E+05 4.427040E+16 8.591391E-08 5.298153E+10 8.344969E+10
|
||||||
|
1.578307E+11 2.621584E+11 3.834047E+11 4.546806E+11 3.182382E+11
|
||||||
|
1.136870E+11 4.490183E+10 3.775548E+16 1.783729E+05 8.748789E+04
|
||||||
|
2.711628E+04 2.364025E+05 7.699358E+04 6.712926E+04 2.196751E+04
|
||||||
|
1.961459E+05 3.249271E+05 1.083053E+05 6.490595E+04 6.196854E+04
|
||||||
|
2.050649E+04 1.839802E+05 1.862905E+11 1.789460E+10 2.018235E+10
|
||||||
|
2.816713E+10 3.929872E+10 5.300433E+10 6.858783E+10 8.411779E+10
|
||||||
|
9.396671E+10 8.683176E+10 5.903465E+10 2.998527E+10 1.314945E+10
|
||||||
|
5.590753E+09 3.186378E+15
|
||||||
|
1.377609E+05 5.664770E+16 1.099336E-07 6.968549E+10 1.180424E+11
|
||||||
|
2.262175E+11 3.766864E+11 5.449539E+11 6.039570E+11 3.513052E+11
|
||||||
|
1.082734E+11 4.047905E+10 4.831107E+16 1.666350E+05 9.414782E+04
|
||||||
|
2.934675E+04 2.564847E+05 8.368562E+04 7.374938E+04 2.416867E+04
|
||||||
|
2.159336E+05 3.578766E+05 1.192885E+05 7.149463E+04 6.850638E+04
|
||||||
|
2.268286E+04 2.035560E+05 1.831184E+11 2.353672E+10 2.801643E+10
|
||||||
|
3.984219E+10 5.605365E+10 7.585794E+10 9.800805E+10 1.187467E+11
|
||||||
|
1.273356E+11 1.067813E+11 6.348167E+10 2.914154E+10 1.214358E+10
|
||||||
|
5.048525E+09 4.077441E+15
|
||||||
|
1.378721E+05 5.678751E+16 1.102049E-07 6.988060E+10 1.184549E+11
|
||||||
|
2.270364E+11 3.780573E+11 5.468650E+11 6.055942E+11 3.515695E+11
|
||||||
|
1.082093E+11 4.043639E+10 4.843030E+16 1.665698E+05 9.423777E+04
|
||||||
|
2.937638E+04 2.567497E+05 8.377353E+04 7.383438E+04 2.419686E+04
|
||||||
|
2.161867E+05 3.582977E+05 1.194288E+05 7.157882E+04 6.858941E+04
|
||||||
|
2.271047E+04 2.038043E+05 1.831227E+11 2.360262E+10 2.810930E+10
|
||||||
|
3.998140E+10 5.625394E+10 7.613124E+10 9.835880E+10 1.191541E+11
|
||||||
|
1.277107E+11 1.069795E+11 6.351344E+10 2.912935E+10 1.213321E+10
|
||||||
|
5.043270E+09 4.087506E+15
|
||||||
|
|||||||
@ -1,83 +0,0 @@
|
|||||||
70 42
|
|
||||||
2.188980E-7 2.885011E-7 3.837019E-7 5.138575E-7 6.722991E-7 8.880084E-7
|
|
||||||
1.181932E-6 1.584701E-6 2.134502E-6 2.884545E-6 3.906878E-6 5.299578E-6
|
|
||||||
7.195550E-6 9.774867E-6 1.328122E-5 1.804411E-5 2.450858E-5 3.327509E-5
|
|
||||||
4.515296E-5 6.123181E-5 8.297713E-5 1.123579E-4 1.520165E-4 2.054958E-4
|
|
||||||
2.775391E-4 3.744879E-4 5.048034E-4 6.797463E-4 9.142537E-4 1.228061E-3
|
|
||||||
1.647128E-3 2.205442E-3 2.947308E-3 3.930269E-3 5.228833E-3 6.939289E-3
|
|
||||||
9.185926E-3 1.212911E-2 1.597582E-2 2.099353E-2 2.752853E-2 3.603033E-2
|
|
||||||
4.708439E-2 6.145595E-2 8.014898E-2 1.044850E-1 1.362075E-1 1.776188E-1
|
|
||||||
2.317553E-1 3.026046E-1 3.953697E-1 5.168130E-1 6.758266E-1 8.845484E-1
|
|
||||||
1.160168E0 1.526777E0 2.016381E0 2.669622E0 3.538465E0 4.693392E0
|
|
||||||
6.235336E0 8.309144E0 1.111391E1 1.491106E1 2.004885E1 2.703824E1
|
|
||||||
3.665475E1 4.984479E1 6.742633E1 9.161709E1
|
|
||||||
2.8391824E4 2.5359576E8 3.8899715E-16 1.1194399E-1 7.8196835E6 3.8592826E8 2.0220005E9 5.2103290E9 9.8457206E9 1.5787136E10 2.2933708E10 3.1220871E10 9.7746044E5 1.0949034E4 1.0838936E8 5.0028320E7 5.1914127E8 1.9197361E8 3.5449572E8 1.2832836E8 1.1966645E9 2.0494660E9 6.8325919E8 4.1214292E8 5.0702131E8 1.7459653E8 1.5935841E9 1.1092716E-1 7.8018654E6 3.8553717E8 2.0208477E9 5.2084276E9 9.8432253E9 1.5784196E10 2.2930439E10 3.1217354E10 4.0604170E10 5.1064788E10 6.2582111E10 7.5144661E10 8.8744543E10 9.7746044E5
|
|
||||||
2.8391826E4 3.3215105E8 5.0949850E-16 1.4662068E-1 1.0241959E7 5.0547574E8 2.6483475E9 6.8243112E9 1.2895589E10 2.0677451E10 3.0037788E10 4.0892030E10 1.2802448E6 1.4340683E4 1.4196470E8 6.5525391E7 6.7995356E8 2.5144050E8 4.6430640E8 1.6808010E8 1.5673503E9 2.6843206E9 8.9490956E8 5.3981073E8 6.6407920E8 2.2868057E8 2.0872220E9 1.4528886E-1 1.0218621E7 5.0496351E8 2.6468375E9 6.8218208E9 1.2892321E10 2.0673601E10 3.0033505E10 4.0887424E10 5.3181955E10 6.6882914E10 8.1967910E10 9.8421909E10 1.1623457E11 1.2802448E6
|
|
||||||
2.8391828E4 4.3952172E8 6.7420418E-16 1.9401753E-1 1.3552768E7 6.6887527E8 3.5044489E9 9.0303290E9 1.7064199E10 2.7361616E10 3.9747761E10 5.4110730E10 1.6940959E6 1.8976452E4 1.8785604E8 8.6707050E7 8.9975451E8 3.3272084E8 6.1439747E8 2.2241345E8 2.0740098E9 3.5520504E9 1.1841968E9 7.1430921E8 8.7874852E8 3.0260354E8 2.7619345E9 1.9225519E-1 1.3521886E7 6.6819746E8 3.5024509E9 9.0270336E9 1.7059875E10 2.7356521E10 3.9742094E10 5.4104634E10 7.0373478E10 8.8503390E10 1.0846474E11 1.3023763E11 1.5380839E11 1.6940959E6
|
|
||||||
2.8391832E4 5.8620084E8 8.9921327E-16 2.5876676E-1 1.8075671E7 8.9209559E8 4.6739700E9 1.2043972E10 2.2758941E10 3.6492857E10 5.3012561E10 7.2168803E10 2.2594589E6 2.5309394E4 2.5054825E8 1.1564333E8 1.2000248E9 4.4375798E8 8.1943698E8 2.9663827E8 2.7661578E9 4.7374567E9 1.5793923E9 9.5269170E8 1.1720084E9 4.0358974E8 3.6836596E9 2.5641627E-1 1.8034484E7 8.9119157E8 4.6713051E9 1.2039576E10 2.2753173E10 3.6486061E10 5.3005003E10 7.2160673E10 9.3858827E10 1.1803913E11 1.4466207E11 1.7370111E11 2.0513800E11 2.2594589E6
|
|
||||||
2.8391835E4 7.6061892E8 1.1667814E-15 3.3576165E-1 2.3453929E7 1.1575301E9 6.0646637E9 1.5627535E10 2.9530635E10 4.7350938E10 6.8785912E10 9.3641899E10 2.9317411E6 3.2840011E4 3.2509645E8 1.5005188E8 1.5570804E9 5.7579380E8 1.0632523E9 3.8490001E8 3.5892003E9 6.1470394E9 2.0493246E9 1.2361555E9 1.5207277E9 5.2367379E8 4.7796953E9 3.3271178E-1 2.3400486E7 1.1563571E9 6.0612060E9 1.5621832E10 2.9523151E10 4.7342121E10 6.8776105E10 9.3631351E10 1.2178557E11 1.5316048E11 1.8770480E11 2.2538411E11 2.6617473E11 2.9317411E6
|
|
||||||
2.8391841E4 9.9765325E8 1.5304185E-15 4.4039883E-1 3.0763004E7 1.5182562E9 7.9546190E9 2.0497604E10 3.8733376E10 6.2107084E10 9.0221914E10 1.2282386E11 3.8453755E6 4.3074173E4 4.2640762E8 1.9681315E8 2.0423196E9 7.5523071E8 1.3945976E9 5.0484784E8 4.7077161E9 8.0626641E9 2.6879633E9 1.6213833E9 1.9946376E9 6.8686815E8 6.2692091E9 4.3639850E-1 3.0692907E7 1.5167177E9 7.9500838E9 2.0490123E10 3.8723560E10 6.2095519E10 9.0209052E10 1.2281002E11 1.5973804E11 2.0089042E11 2.4619992E11 2.9562136E11 3.4912370E11 3.8453755E6
|
|
||||||
2.8391848E4 1.3201052E9 2.0251175E-15 5.8274498E-1 4.0706010E7 2.0089743E9 1.0525640E10 2.7122652E10 5.1252420E10 8.2180755E10 1.1938259E11 1.6252183E11 5.0882512E6 5.6996402E4 5.6422741E8 2.6042537E8 2.7024200E9 9.9932966E8 1.8453466E9 6.6802010E8 6.2293005E9 1.0668604E10 3.5567419E9 2.1454318E9 2.6393256E9 9.0887123E8 8.2954840E9 5.7745166E-1 4.0613256E7 2.0069385E9 1.0519639E10 2.7112754E10 5.1239430E10 8.2165453E10 1.1936557E11 1.6250352E11 2.1136706E11 2.6582032E11 3.2577432E11 3.9116929E11 4.6196414E11 5.0882512E6
|
|
||||||
2.8391858E4 1.7617686E9 2.7027486E-15 7.7772045E-1 5.4325034E7 2.6811136E9 1.4047179E10 3.6197006E10 6.8399798E10 1.0967573E11 1.5932407E11 2.1689627E11 6.7906293E6 7.6065874E4 7.5299987E8 3.4755532E8 3.6065626E9 1.3336731E9 2.4627391E9 8.9151774E8 8.3134202E9 1.4237968E10 4.7467110E9 2.8632228E9 3.5223570E9 1.2129496E9 1.1070879E10 7.7065609E-1 5.4201248E7 2.6783966E9 1.4039170E10 3.6183797E10 6.8382463E10 1.0965531E11 1.5930136E11 2.1687183E11 2.8208349E11 3.5475501E11 4.3476762E11 5.2204158E11 6.1652204E11 6.7906293E6
|
|
||||||
2.8391871E4 2.3638851E9 3.6266334E-15 1.0435357E0 7.2891868E7 3.5974388E9 1.8848076E10 4.8568020E10 9.1776711E10 1.4715945E11 2.1377603E11 2.9102457E11 9.1114835E6 1.0206344E5 1.0103526E9 4.6633918E8 4.8391758E9 1.7894817E9 3.3044268E9 1.1962107E9 1.1154688E10 1.9104061E10 6.3689885E9 3.8417829E9 4.7261880E9 1.6274976E9 1.4854558E10 1.0340568E0 7.2725775E7 3.5937933E9 1.8837330E10 4.8550296E10 9.1753452E10 1.4713205E11 2.1374555E11 2.9099179E11 3.7849072E11 4.7599905E11 5.8335743E11 7.0045886E11 8.2722974E11 9.1114835E6
|
|
||||||
2.8391888E4 3.1841129E9 4.8853261E-15 1.4056521E0 9.8184581E7 4.8456992E9 2.5388068E10 6.5420346E10 1.2362173E11 1.9822136E11 2.8795275E11 3.9200523E11 1.2273073E7 1.3747892E5 1.3609300E9 6.2815182E8 6.5182957E9 2.4104043E9 4.4510095E9 1.6112764E9 1.5025183E10 2.5732859E10 8.5789236E9 5.1748189E9 6.3660969E9 2.1922122E9 2.0008842E10 1.3928839E0 9.7960856E7 4.8407887E9 2.5373593E10 6.5396473E10 1.2359040E11 1.9818445E11 2.8791170E11 3.9196107E11 5.0982065E11 6.4116271E11 7.8577263E11 9.4350626E11 1.1142645E12 1.2273073E7
|
|
||||||
2.8391911E4 4.3002491E9 6.5983655E-15 1.8984289E0 1.3260237E8 6.5442950E9 3.4287476E10 8.8352420E10 1.6695533E11 2.6770460E11 3.8888981E11 5.2941612E11 1.6575296E7 1.8567199E5 1.8379849E9 8.4834130E8 8.8031879E9 3.2553355E9 6.0112400E9 2.1760835E9 2.0292019E10 3.4753097E10 1.1586127E10 6.9887680E9 8.5976272E9 2.9606560E9 2.7022610E10 1.8811847E0 1.3230022E8 6.5376633E9 3.4267927E10 8.8320178E10 1.6691302E11 2.6765475E11 3.8883437E11 5.2935648E11 6.8852972E11 8.6591151E11 1.0612119E12 1.2742364E12 1.5048510E12 1.6575296E7
|
|
||||||
2.8391942E4 5.8179614E9 8.9282131E-15 2.5685427E0 1.7940408E8 8.8540461E9 4.6388858E10 1.1953533E11 2.2588008E11 3.6218742E11 5.2614327E11 7.1626637E11 2.2425510E7 2.5120628E5 2.4866834E9 1.1477543E9 1.1910177E10 4.4042698E9 8.1328321E9 2.9441046E9 2.7453828E10 4.7018758E10 1.5675302E10 9.4553642E9 1.1632046E10 4.0055801E9 3.6559880E10 2.5452116E0 1.7899528E8 8.8450737E9 4.6362410E10 1.1949171E11 2.2582284E11 3.6211998E11 5.2606826E11 7.1618569E11 9.3153689E11 1.1715231E12 1.4357521E12 1.7239605E12 2.0359673E12 2.2425510E7
|
|
||||||
2.8391983E4 7.8799329E9 1.2094422E-14 3.4790361E0 2.4299040E8 1.1992114E10 6.2829941E10 1.6190072E11 3.0593573E11 4.9055247E11 7.1261675E11 9.7012234E11 3.0373800E7 3.4024475E5 3.3680147E9 1.5545408E9 1.6131370E10 5.9652255E9 1.1015246E10 3.9875445E9 3.7183922E10 6.3682985E10 2.1230889E10 1.2806502E10 1.5754629E10 5.4252212E9 4.9517280E10 3.4474348E0 2.4243672E8 1.1979961E10 6.2794119E10 1.6184164E11 3.0585819E11 4.9046112E11 7.1251516E11 9.7001306E11 1.2616879E12 1.5867288E12 1.9446045E12 2.3349583E12 2.7575449E12 3.0373800E7
|
|
||||||
2.8392038E4 1.0678770E10 1.6393693E-14 4.7150371E0 3.2930224E8 1.6251651E10 8.5146554E10 2.1940605E11 4.1460035E11 6.6479039E11 9.6572876E11 1.3146966E12 4.1162780E7 4.6110790E5 4.5643096E9 2.1067007E9 2.1861089E10 8.0840181E9 1.4927733E10 5.4038725E9 5.0391200E10 8.6302402E10 2.8771841E10 1.7355214E10 2.1350467E10 7.3521883E9 6.7105163E10 4.6722088E0 3.2855189E8 1.6235183E10 8.5098009E10 2.1932598E11 4.1449528E11 6.6466660E11 9.6559108E11 1.3145485E12 1.7098221E12 2.1503128E12 2.6353007E12 3.1643025E12 3.7369857E12 4.1162780E7
|
|
||||||
2.8392112E4 1.4474016E10 2.2226433E-14 6.3913087E0 4.4634609E8 2.2027714E10 1.1540834E11 2.9738420E11 5.6195110E11 9.0105918E11 1.3089516E12 1.7819431E12 5.5793261E7 6.2501012E5 6.1865162E9 2.8554421E9 2.9630711E10 1.0957145E10 2.0233124E10 7.3244338E9 6.8300456E10 1.1697465E11 3.8997476E10 2.3523331E10 2.8938491E10 9.9651782E9 9.0954536E10 6.3332545E0 4.4532905E8 2.2005392E10 1.1534255E11 2.9727568E11 5.6180868E11 9.0089140E11 1.3087649E12 1.7817424E12 2.3174968E12 2.9145384E12 3.5718916E12 4.2889012E12 5.0651167E12 5.5793261E7
|
|
||||||
2.8392209E4 1.9614924E10 3.0132513E-14 8.6623709E0 6.0489731E8 2.9851935E10 1.5640040E11 4.0301150E11 7.6154832E11 1.2211019E12 1.7738705E12 2.4148603E12 7.5612164E7 8.4704592E5 8.3839379E9 3.8696753E9 4.0155306E10 1.4849028E10 2.7419669E10 9.9259741E9 9.2559842E10 1.5852242E11 5.2848838E10 3.1878491E10 3.9216999E10 1.3504654E10 1.2326016E11 8.5836884E0 6.0351900E8 2.9821684E10 1.5631123E11 4.0286443E11 7.6135532E11 1.2208745E12 1.7736176E12 2.4145883E12 3.1406331E12 3.9497332E12 4.8405664E12 5.8122449E12 6.8641581E12 7.5612164E7
|
|
||||||
2.8392339E4 2.6570648E10 4.0839044E-14 1.1735957E1 8.1943351E8 4.0438530E10 2.1186417E11 5.4592829E11 1.0316083E12 1.6541266E12 2.4029153E12 3.2712094E12 1.0242919E8 1.1474992E6 1.1357150E10 5.2419742E9 5.4395486E10 2.0114889E10 3.7143259E10 1.3445925E10 1.2538340E11 2.1473757E11 7.1590072E10 4.3183227E10 5.3124037E10 1.8293638E10 1.6697033E11 1.1629357E1 8.1756638E8 4.0397552E10 2.1174338E11 5.4572907E11 1.0313468E12 1.6538186E12 2.4025727E12 3.2708409E12 4.2543516E12 5.3503700E12 6.5571053E12 7.8733546E12 9.2982908E12 1.0242919E8
|
|
||||||
2.8392511E4 3.5970270E10 5.5324336E-14 1.5890909E1 1.1093726E9 5.4745291E10 2.8681682E11 7.3906171E11 1.3965575E12 2.2392992E12 3.2529801E12 4.4284424E12 1.3867158E8 1.5535815E6 1.5375126E10 7.0964788E9 7.3639414E10 2.7231069E10 5.0283396E10 1.8202664E10 1.6973999E11 2.9070470E11 9.6916299E10 5.8460039E10 7.1917445E10 2.4765274E10 2.2603844E11 1.5746570E1 1.1068449E9 5.4689815E10 2.8665330E11 7.3879202E11 1.3962036E12 2.2388822E12 3.2525163E12 4.4279435E12 5.7593811E12 7.2431271E12 8.8767569E12 1.0658642E13 1.2587664E13 1.3867158E8
|
|
||||||
2.8392740E4 4.8655665E10 7.4903411E-14 2.1500925E1 1.5007102E9 7.4054195E10 3.8797322E11 9.9971260E11 1.8890865E12 3.0290348E12 4.4002056E12 5.9902118E12 1.8758877E8 2.1017323E6 2.0797868E10 9.5993380E9 9.9611147E10 3.6835091E10 6.8017144E10 2.4622282E10 2.2960288E11 3.9322858E11 1.3109612E11 7.9077346E10 9.7280574E10 3.3499231E10 3.0575525E11 2.1305632E1 1.4972908E9 7.3979154E10 3.8775203E11 9.9934779E11 1.8886078E12 3.0284708E12 4.3995783E12 5.9895370E12 7.7905249E12 9.7975345E12 1.2007286E13 1.4417578E13 1.7026895E13 1.8758877E8
|
|
||||||
2.8393042E4 6.5751138E10 1.0134232E-13 2.9066033E1 2.0281795E9 1.0007767E11 5.2430202E11 1.3509877E12 2.5528548E12 4.0933357E12 5.9462794E12 8.0949468E12 2.5352244E8 2.8406585E6 2.8106230E10 1.2972472E10 1.3461343E11 4.9778458E10 9.1916549E10 3.3273848E10 3.1027859E11 5.3139731E11 1.7715936E11 1.0686274E11 1.3146159E11 4.5269674E10 4.1318672E11 2.8802030E1 2.0235583E9 9.9976257E10 5.2400312E11 1.3504947E12 2.5522079E12 4.0925735E12 5.9454318E12 8.0940350E12 1.0527813E13 1.3240000E13 1.6226163E13 1.9483327E13 2.3009444E13 2.5352244E8
|
|
||||||
2.8393443E4 8.8754906E10 1.3701085E-13 3.9254281E1 2.7380951E9 1.3509829E11 7.0775654E11 1.8236814E12 3.4460463E12 5.5254898E12 8.0267128E12 1.0927120E13 3.4226188E8 3.8353414E6 3.7941131E10 1.7511660E10 1.8171534E11 6.7196039E10 1.2407666E11 4.4915746E10 4.1883895E11 7.1732233E11 2.3914379E11 1.4425181E11 1.7745648E11 6.1108275E10 5.5774910E11 3.8897748E1 2.7318565E9 1.3496139E11 7.0735305E11 1.8230159E12 3.4451730E12 5.5244610E12 8.0255685E12 1.0925889E13 1.4211155E13 1.7872233E13 2.1903141E13 2.6299861E13 3.1059632E13 3.4226188E8
|
|
||||||
2.8393972E4 1.1965896E11 1.8508631E-13 5.2956983E1 3.6920894E9 1.8215209E11 9.5423303E11 2.4587430E12 4.6460280E12 7.4495393E12 1.0821688E13 1.4732012E13 4.6151117E8 5.1723149E6 5.1154985E10 2.3610265E10 2.4499844E11 9.0597053E10 1.6728333E11 6.0556414E10 5.6468745E11 9.6710822E11 3.2241841E11 1.9448312E11 2.3924886E11 8.2386799E10 7.5196271E11 5.2476007E1 3.6836775E9 1.8196753E11 9.5368904E11 2.4578459E12 4.6448507E12 7.4481523E12 1.0820145E13 1.4730352E13 1.9159539E13 2.4095393E13 2.9529848E13 3.5457490E13 4.1874593E13 4.6151117E8
|
|
||||||
2.8394669E4 1.6110578E11 2.4982467E-13 7.1362043E1 4.9720176E9 2.4526868E11 1.2848251E12 3.3105045E12 6.2554455E12 1.0030049E13 1.4570244E13 1.9835020E13 6.2150220E8 6.9666147E6 6.8879029E10 3.1790282E10 3.2987881E11 1.2198415E11 2.2523277E11 8.1533794E10 7.6030008E11 1.3021215E12 4.3410648E11 2.6185343E11 3.2212371E11 1.1092512E11 1.0124378E12 7.0713931E1 4.9606900E9 2.4502017E11 1.2840926E12 3.3092966E12 6.2538604E12 1.0028182E13 1.4568167E13 1.9832786E13 2.5796143E13 3.2441659E13 3.9758479E13 4.7739311E13 5.6379140E13 6.2150220E8
|
|
||||||
2.8395588E4 2.1659298E11 3.3691960E-13 9.6051609E1 6.6863935E9 3.2978535E11 1.7274630E12 4.4508975E12 8.4101838E12 1.3484864E13 1.9588805E13 2.6666874E13 8.3579918E8 9.3709346E6 9.2611397E10 4.2742943E10 4.4352820E11 1.6400907E11 3.0281831E11 1.0961913E11 1.0221930E12 1.7506478E12 5.8363795E11 3.5205086E11 4.3307701E11 1.4913226E11 1.3611617E12 9.5179310E1 6.6711608E9 3.2945122E11 1.7264783E12 4.4492735E12 8.4080528E12 1.3482354E13 1.9586013E13 2.6663871E13 3.4681115E13 4.3615461E13 5.3452313E13 6.4181870E13 7.5797391E13 8.3579918E8
|
|
||||||
2.8396797E4 2.9073988E11 4.5397421E-13 1.2913275E2 8.9788360E9 4.4275778E11 2.3190545E12 5.9749556E12 1.1289751E13 1.8101748E13 2.6295332E13 3.5796505E13 1.1223545E9 1.2587708E7 1.2433217E11 5.7381735E10 5.9542380E11 2.2017585E11 4.0650456E11 1.4715233E11 1.3721849E12 2.3500532E12 7.8347011E11 4.7258959E11 5.8134993E11 2.0019033E11 1.8271777E12 1.2796010E2 8.9583822E9 4.4230922E11 2.3177326E12 5.9727758E12 1.1286891E13 1.8098378E13 2.6291585E13 3.5792474E13 4.6554322E13 5.8547217E13 7.1751569E13 8.6154224E13 1.0174613E14 1.1223545E9
|
|
||||||
2.8398384E4 3.8963423E11 6.1111344E-13 1.7341332E2 1.2039153E10 5.9349625E11 3.1082740E12 8.0079790E12 1.5130793E13 2.4260025E13 3.5240749E13 4.7973805E13 1.5048941E9 1.6885078E7 1.6665346E11 7.6911522E10 7.9806488E11 2.9510565E11 5.4481445E11 1.9721821E11 1.8390397E12 3.1495974E12 1.0500253E12 6.3337554E11 7.7912372E11 2.6829378E11 2.4487685E12 1.7183871E2 1.2011730E10 5.9289505E11 3.1065025E12 8.0050577E12 1.5126960E13 2.4255510E13 3.5235726E13 4.7968402E13 6.2390927E13 7.8463222E13 9.6159037E13 1.1546075E14 1.3635623E14 1.5048941E9
|
|
||||||
2.8400465E4 5.2128050E11 8.2176675E-13 2.3264009E2 1.6117855E10 7.9426299E11 4.1591817E12 1.0714818E13 2.0244593E13 3.2458606E13 4.7149605E13 6.4184948E13 2.0147318E9 2.2618007E7 2.2301435E11 1.0291827E11 1.0679027E12 3.9488029E11 7.2896014E11 2.6387471E11 2.4605940E12 4.2140768E12 1.4049057E12 8.4743891E11 1.0424194E12 3.5895906E11 3.2762821E12 2.3052795E2 1.6081146E10 7.9345850E11 4.1568116E12 1.0710910E13 2.0239465E13 3.2452565E13 4.7142886E13 6.4177722E13 8.3473321E13 1.0497608E14 1.2865087E14 1.5447413E14 1.8242964E14 2.0147318E9
|
|
||||||
2.8403189E4 6.9617404E11 1.1036503E-12 3.1182276E2 2.1545065E10 1.0611722E12 5.5558793E12 1.4311799E13 2.7039534E13 4.3351925E13 6.2972225E13 8.5723325E13 2.6931331E9 3.0256136E7 2.9793213E11 1.3748457E11 1.4265370E12 5.2748421E11 9.7365318E11 3.5244587E11 3.2864883E12 5.6284998E12 1.8764516E12 1.1318744E12 1.3922512E12 4.7942175E11 4.3757562E12 3.0899218E2 2.1496004E10 1.0600976E12 5.5527137E12 1.4306580E13 2.7032686E13 4.3343858E13 6.2963254E13 8.5713675E13 1.1148330E14 1.4020055E14 1.7181854E14 2.0630580E14 2.4364068E14 2.6931331E9
|
|
||||||
2.8406747E4 9.2802512E11 1.4799753E-12 4.1767703E2 2.8754938E10 1.4153378E12 7.4084165E12 1.9081819E13 3.6049496E13 5.7795359E13 8.3950565E13 1.1427908E14 3.5943672E9 4.0420389E7 3.9732190E11 1.8333631E11 1.9022352E12 7.0336518E11 1.2981295E12 4.6989237E11 4.3816201E12 7.5039983E12 2.5017127E12 1.5090297E12 1.8560842E12 6.3913816E11 5.8334947E12 4.1388638E2 2.8689473E10 1.4139048E12 7.4041963E12 1.9074862E13 3.6040368E13 5.7784607E13 8.3938606E13 1.1426622E14 1.4861842E14 1.8689983E14 2.2904798E14 2.7502092E14 3.2478980E14 3.5943672E9
|
|
||||||
2.8411384E4 1.2346530E12 1.9809089E-12 5.5923482E2 3.8316844E10 1.8843124E12 9.8601518E12 2.5393098E13 4.7969068E13 7.6901472E13 1.1169972E14 1.5204989E14 4.7896055E9 5.3930824E7 5.2889604E11 2.4402582E11 2.5318255E12 9.3613289E11 1.7274213E12 6.2527115E11 5.8304262E12 9.9851575E12 3.3288912E12 2.0079796E12 2.4696385E12 8.5040618E11 7.7617334E12 5.5416091E2 3.8229635E10 1.8824051E12 9.8545367E12 2.5383842E13 4.7956925E13 7.6887169E13 1.1168381E14 1.5203278E14 1.9773590E14 2.4866633E14 3.0474100E14 3.6590413E14 4.3211735E14 4.7896055E9
|
|
||||||
2.8417413E4 1.6390644E12 2.6453135E-12 7.4869522E2 5.0974828E10 2.5038634E12 1.3096747E13 3.3721989E13 6.3696276E13 1.0210816E14 1.4830656E14 2.0187493E14 6.3718535E9 7.1869137E7 7.0265503E11 3.2415599E11 3.3630135E12 1.2434126E12 2.2939032E12 8.3029344E11 7.7420805E12 1.3258910E13 4.4203075E12 2.6663139E12 3.2790745E12 1.1291170E12 1.0305497E13 7.4190491E2 5.0858854E10 2.5013300E12 1.3089291E13 3.3709702E13 6.3680158E13 1.0208917E14 1.4828544E14 2.0185222E14 2.6252655E14 3.3014015E14 4.0458280E14 4.8578049E14 5.7368235E14 6.3718535E9
|
|
||||||
2.8425228E4 2.1707260E12 3.5227978E-12 1.0026368E3 6.7697425E10 3.3201388E12 1.7356984E13 4.4680225E13 8.4383432E13 1.3525957E14 1.9644673E14 2.6739359E14 8.4621781E9 9.5660903E7 9.3148189E11 4.2965079E11 4.4571704E12 1.6478715E12 3.0391346E12 1.0999895E12 1.0256683E13 1.7565121E13 5.8559285E12 3.5322661E12 4.3435859E12 1.4956467E12 1.3650733E13 9.9354787E2 6.7543482E10 3.3167812E12 1.7347108E13 4.4663953E13 8.4362089E13 1.3523443E14 1.9641878E14 2.6736353E14 3.4772069E14 4.3726756E14 5.3585828E14 6.4339494E14 7.5981020E14 8.4621781E9
|
|
||||||
2.8435329E4 2.8670405E12 4.6761154E-12 1.3437957E3 8.9741055E10 4.3922983E12 2.2945665E13 5.9047105E13 1.1149688E14 1.7870085E14 2.5952130E14 3.5323062E14 1.1217632E10 1.2718576E8 1.2318582E12 5.6807908E11 5.8926642E12 2.1784425E12 4.0160327E12 1.4534906E12 1.3552532E13 2.3209025E13 7.7375146E12 4.6672129E12 5.7384332E12 1.9758984E12 1.8033813E13 1.3316222E3 8.9537120E10 4.3878593E12 2.2932618E13 5.9025615E13 1.1146869E14 1.7866767E14 2.5948440E14 3.5319094E14 4.5932808E14 5.7760198E14 7.0782022E14 8.4985361E14 1.0036133E15 1.1217632E10
|
|
||||||
2.8448342E4 3.7750395E12 6.1839489E-12 1.8037640E3 1.1873221E11 5.7957314E12 3.0248980E13 7.7807351E13 1.4688673E14 2.3538831E14 3.4181513E14 4.6521017E14 1.4841526E10 1.6892911E8 1.6247291E12 7.4904287E11 7.7688378E12 2.8717818E12 5.2914171E12 1.9149436E12 1.7854630E13 3.0575746E13 1.0193459E13 6.1485927E12 7.5584641E12 2.6025112E12 2.3752552E13 1.7874377E3 1.1846262E11 5.7898791E12 3.0231795E13 7.7779058E13 1.4684963E14 2.3534463E14 3.4176657E14 4.6515796E14 6.0491491E14 7.6065102E14 9.3211329E14 1.1191319E15 1.3215900E15 1.4841526E10
|
|
||||||
2.8465048E4 4.9533045E12 8.1441016E-12 2.4272238E3 1.5677659E11 7.6260418E12 3.9752922E13 1.0219565E14 1.9286812E14 3.0901675E14 4.4867928E14 6.1060169E14 1.9597074E10 2.2419742E8 2.1365582E12 9.8464588E11 1.0210789E13 3.7740143E12 6.9489925E12 2.5145783E12 2.3444586E13 4.0147210E13 1.3384428E13 8.0733043E12 9.9221791E12 3.4162535E12 3.1178903E13 2.4052794E3 1.5642103E11 7.6183501E12 3.9730364E13 1.0215853E14 1.9281947E14 3.0895948E14 4.4861561E14 6.1053324E14 7.9392126E14 9.9827357E14 1.2232588E15 1.4686546E15 1.7343079E15 1.9597074E10
|
|
||||||
2.8486424E4 6.4741201E12 1.0677087E-11 3.2788049E3 2.0660791E11 1.0004054E13 5.2065469E13 1.3374912E14 2.5231550E14 4.0416620E14 5.8673971E14 7.9839998E14 2.5825989E10 2.9743306E8 2.8006283E12 1.2900638E12 1.3375152E13 4.9428351E12 9.0928370E12 3.2899522E12 3.0672144E13 5.2521777E13 1.7509904E13 1.0561652E13 1.2976398E13 4.4676198E12 4.0773492E13 3.2492054E3 2.0614004E11 9.9939786E12 5.2035967E13 1.3370062E14 2.5225195E14 4.0409140E14 5.8665658E14 7.9831060E14 1.0380216E15 1.3051298E15 1.5992029E15 1.9199510E15 2.2671748E15 2.5825989E10
|
|
||||||
2.8513678E4 8.4258313E12 1.3930055E-11 4.4545207E3 2.7179552E11 1.3082195E13 6.7943455E13 1.7436893E14 3.2877145E14 5.2646884E14 7.6413299E14 1.0396396E15 3.3974441E10 3.9468709E8 3.6586619E12 1.6842437E12 1.7457138E13 6.4500542E12 1.1851466E13 4.2873905E12 3.9968499E13 6.8436891E13 2.2815737E13 1.3761891E13 1.6901552E13 5.8186383E12 5.3102050E13 4.4143851E3 2.7118122E11 1.3069045E13 6.7905031E13 1.7430581E14 3.2868880E14 5.2637161E14 7.6402493E14 1.0395234E15 1.3515279E15 1.6991821E15 2.0819254E15 2.4993817E15 2.9512923E15 3.3974441E10
|
|
||||||
2.8548310E4 1.0915342E13 1.8080918E-11 6.1013998E3 3.5704082E11 1.7052754E13 8.8325266E13 2.2639239E14 4.2657069E14 6.8279639E14 9.9076743E14 1.3477403E15 4.4630102E10 5.2434620E8 4.7628633E12 2.1907685E12 2.2699151E13 8.3846885E12 1.5382537E13 5.5636413E12 5.1861526E13 8.8794916E13 2.9602757E13 1.7855416E13 2.1917597E13 7.5448790E12 6.8853643E13 6.0465640E3 3.5623588E11 1.7035657E13 8.8275443E13 2.2631065E14 4.2646373E14 6.8267060E14 9.9062768E14 1.3475901E15 1.7518292E15 2.2022399E15 2.6980991E15 3.2389216E15 3.8243740E15 4.4630102E10
|
|
||||||
2.8592169E4 1.4070637E13 2.3342458E-11 8.4522133E3 4.6860879E11 2.2158726E13 1.1437087E14 2.9267717E14 5.5098008E14 8.8146626E14 1.2786058E15 1.7388760E15 5.8576098E10 6.9827532E8 6.1785221E12 2.8389340E12 2.9401416E13 1.0856745E13 1.9878253E13 7.1877564E12 6.6993032E13 1.1469228E14 3.8236490E13 2.3062605E13 2.8290458E13 9.7376368E12 8.8860443E13 8.3764972E3 4.6755578E11 2.2136582E13 1.1430656E14 2.9257184E14 5.5084237E14 8.8130440E14 1.2784260E15 1.7386829E15 2.2598570E15 2.8405310E15 3.4797779E15 4.1769756E15 4.9316967E15 5.8576098E10
|
|
||||||
2.8647529E4 1.8043164E13 2.9966086E-11 1.1888907E4 6.1496796E11 2.8708291E13 1.4751124E14 3.7669917E14 7.0835461E14 1.1324642E15 1.6419627E15 2.2323563E15 7.6870995E10 9.3365053E8 7.9873790E12 3.6651093E12 3.7935224E13 1.4001885E13 2.5571542E13 9.2432132E12 8.6138074E13 1.4745195E14 4.9157988E13 2.9649326E13 3.6338927E13 1.2506244E13 1.1411860E14 1.1782852E4 6.1359190E11 2.8679723E13 1.4742866E14 3.7656418E14 7.0817832E14 1.1322571E15 1.6417328E15 2.2321093E15 2.9005594E15 3.6452776E15 4.4650831E15 5.3591840E15 6.3270364E15 7.6870995E10
|
|
||||||
2.8717181E4 2.3009846E13 3.8244812E-11 1.7062582E4 8.0775370E11 3.7094417E13 1.8951016E14 4.8266716E14 9.0631003E14 1.4476796E15 2.0978087E15 2.8510043E15 1.0096921E11 1.2559568E9 1.0292040E13 4.7144725E12 4.8759624E13 1.7987247E13 3.2743112E13 1.1830296E13 1.1022648E14 1.8865943E14 6.2895815E13 3.7934135E13 4.6441841E13 1.5980456E13 1.4580966E14 1.6911195E4 8.0595602E11 3.7057703E13 1.8940463E14 4.8249513E14 9.0608569E14 1.4474163E15 2.0975166E15 2.8506906E15 3.7033606E15 4.6532434E15 5.6988465E15 6.8391695E15 8.0735250E15 1.0096921E11
|
|
||||||
2.8804535E4 2.9174474E13 4.8514829E-11 2.5129214E4 1.0632356E12 4.7821708E13 2.4254210E14 6.1565708E14 1.1539126E15 1.8411503E15 2.6660699E15 3.6215145E15 1.3290444E11 1.7039839E9 1.3221824E13 6.0432545E12 6.2442698E13 2.3018784E13 4.1729514E13 1.5068764E13 1.4036673E14 2.4020228E14 8.0079232E13 4.8296179E13 5.9045379E13 2.0312831E13 1.8532181E14 2.4907786E4 1.0608856E12 4.7774703E13 2.4240797E14 6.1543916E14 1.1536290E15 1.8408177E15 2.6657013E15 3.6211188E15 4.7025785E15 5.9072165E15 7.2331618E15 8.6791609E15 1.0244353E16 1.3290444E11
|
|
||||||
2.8913739E4 3.6768185E13 6.1154921E-11 3.8232173E4 1.4045716E12 6.1543332E13 3.0929122E14 7.8177048E14 1.4618869E15 2.3293105E15 3.3699117E15 4.5747674E15 1.7557145E11 2.3383048E9 1.6940565E13 7.7216526E12 7.9688821E13 2.9350556E13 5.2932369E13 1.9100826E13 1.7787226E14 3.0431339E14 1.0145262E14 6.1183819E13 7.4670260E13 2.5681036E13 2.3427016E14 3.7898217E4 1.4014943E12 6.1483368E13 3.0912167E14 7.8149618E14 1.4615306E15 2.3288935E15 3.3694497E15 4.5742719E15 5.9377697E15 7.4563827E15 9.1277868E15 1.0950426E16 1.2923231E16 1.7557145E11
|
|
||||||
2.9049819E4 4.6048727E13 7.6582584E-11 6.0534368E4 1.8652894E12 7.9111683E13 3.9307666E14 9.8832052E14 1.8428405E15 2.9312370E15 4.2359909E15 5.7460790E15 2.3316117E11 3.2559258E9 2.1656965E13 9.8376051E12 1.0137352E14 3.7296504E13 6.6828877E13 2.4094455E13 2.2429040E14 3.8361793E14 1.2789113E14 7.7123966E13 9.3918595E13 3.2289956E13 2.9451512E14 6.0011379E4 1.8612475E12 7.9035447E13 3.9286355E14 9.8797755E14 1.8423964E15 2.9307180E15 4.2354166E15 5.7454635E15 7.4539674E15 9.3565453E15 1.1450339E16 1.3733436E16 1.6204524E16 2.3316117E11
|
|
||||||
2.9218824E4 5.7298326E13 9.5245187E-11 1.0053077E5 2.4946734E12 1.0164715E14 4.9800919E14 1.2440477E15 2.3115039E15 3.6688830E15 5.2946623E15 7.1753601E15 3.1183417E11 4.6160400E9 2.7638196E13 1.2501618E13 1.2858747E14 4.7245119E13 8.3983608E13 3.0246995E13 2.8143349E14 4.8118328E14 1.6041730E14 9.6731988E13 1.1748004E14 4.0373508E13 3.6817769E14 9.9674039E4 2.4893414E12 1.0155054E14 4.9774287E14 1.2436218E15 2.3109544E15 3.6682423E15 5.2939543E15 7.1746020E15 9.3017793E15 1.1670149E16 1.4276234E16 1.7117710E16 2.0192984E16 3.1183417E11
|
|
||||||
2.9427985E4 7.0820081E13 1.1760337E-10 1.7648385E5 3.3660925E12 1.3062975E14 6.2918203E14 1.5593628E15 2.8849760E15 4.5672879E15 6.5801208E15 8.9071664E15 4.2076156E11 6.6860216E9 3.5227346E13 1.5852790E13 1.6269056E14 5.9677316E13 1.0506137E14 3.7788990E13 3.5141125E14 6.0057034E14 2.0021818E14 1.2072187E14 1.4613691E14 5.0196022E13 4.5765063E14 1.7500503E5 3.3590189E12 1.3050767E14 6.2885122E14 1.5588380E15 2.8843018E15 4.5665036E15 6.5792558E15 8.9062412E15 1.1537323E16 1.4466079E16 1.7688331E16 2.1201289E16 2.5003040E16 4.2076156E11
|
|
||||||
2.9685862E4 8.6933184E13 1.4410174E-10 3.2983080E5 4.5898076E12 1.6801783E14 7.9289429E14 1.9466085E15 3.5829637E15 5.6547473E15 8.1304669E15 1.0990628E16 5.7372595E11 9.9246703E9 4.4865093E13 2.0066055E13 2.0537605E14 7.5187299E13 1.3084055E14 4.6988018E13 4.3666283E14 7.4588347E14 2.4866196E14 1.4991604E14 1.8076776E14 6.2053061E13 5.6560431E14 3.2712348E5 4.5803600E12 1.6786404E14 7.9248595E14 1.9459668E15 3.5821435E15 5.6537962E15 8.1294199E15 1.0989510E16 1.4221996E16 1.7819247E16 2.1776310E16 2.6089880E16 3.0757694E16 5.7372595E11
|
|
||||||
3.0002464E4 1.0596721E14 1.7511805E-10 6.5984348E5 6.3324436E12 2.1639557E14 9.9689387E14 2.4203104E15 4.4279741E15 6.9629006E15 9.9876500E15 1.3479220E16 7.9155545E11 1.5134217E10 5.7115192E13 2.5360361E13 2.5874118E14 9.4505223E13 1.6222520E14 5.8151996E13 5.3998340E14 9.2181081E14 3.0731142E14 1.8525330E14 2.2234833E14 7.6271316E13 6.9498413E14 6.5456041E5 6.3197302E12 2.1620237E14 9.9639313E14 2.4195323E15 4.4269855E15 6.9617584E15 9.9863956E15 1.3477882E16 1.7422038E16 2.1809926E16 2.6635754E16 3.1895665E16 3.7587020E16 7.9155545E11
|
|
||||||
3.0389311E4 1.2825313E14 2.1087911E-10 1.4171806E6 8.8458543E12 2.7913950E14 1.2505856E15 2.9973060E15 5.4452859E15 8.5264869E15 1.2196966E16 1.6429957E16 1.1057318E12 2.3738250E10 7.2690634E13 3.2006340E13 3.2535033E14 1.1851647E14 2.0024885E14 7.1629514E13 6.6452351E14 1.1336183E15 3.7792188E14 2.2778739E14 2.7194216E14 9.3205040E13 8.4897670E14 1.4061648E6 8.8286143E12 2.7889758E14 1.2499758E15 2.9963706E15 5.4441057E15 8.5251292E15 1.2195479E16 1.6428374E16 2.1207397E16 2.6522235E16 3.2366221E16 3.8734920E16 4.5625305E16 1.1057318E12
|
|
||||||
3.0859389E4 1.5409505E14 2.5134218E-10 3.2655740E6 1.2507309E13 3.6055019E14 1.5649842E15 3.6962754E15 6.6618878E15 1.0381558E16 1.4804423E16 1.9899797E16 1.5634136E12 3.8283034E10 9.2466672E13 4.0327644E13 4.0823222E14 1.4825676E14 2.4603919E14 8.7796412E13 8.1366168E14 1.3869288E15 4.6236765E14 2.7864253E14 3.3064269E14 1.1321603E14 1.0308269E15 3.2410568E6 1.2483767E13 3.6024841E14 1.5642473E15 3.6951614E15 6.6604934E15 1.0379961E16 1.4802680E16 1.9897946E16 2.5647047E16 3.2038271E16 3.9064069E16 4.6719427E16 5.5000925E16 1.5634136E12
|
|
||||||
3.1426958E4 1.8366889E14 2.9610465E-10 8.0306805E6 1.7866821E13 4.6576000E14 1.9517132E15 4.5351649E15 8.1018019E15 1.2558239E16 1.7846505E16 2.3931992E16 2.2333526E12 6.3304381E10 1.1743546E14 5.0677181E13 5.1062595E14 1.8481692E14 3.0064545E14 1.0699411E14 9.9043297E14 1.6867487E15 5.6231738E14 3.3881777E14 3.9934357E14 1.3659519E14 1.2431244E15 7.9727572E6 1.7834516E13 4.6538553E14 1.9508304E15 4.5338519E15 8.1001730E15 1.2556384E16 1.7844487E16 2.3929853E16 3.0791513E16 3.8416396E16 4.6796098E16 5.5925053E16 6.5799471E16 2.2333526E12
|
|
||||||
3.2107304E4 2.1678420E14 3.4451411E-10 2.0851962E7 2.5682656E13 6.0006589E14 2.4199600E15 5.5243502E15 9.7742811E15 1.5062900E16 2.1325305E16 2.8523188E16 3.2103320E12 1.0670825E11 1.4852508E14 6.3357899E13 6.3518297E14 2.2905474E14 3.6459178E14 1.2937236E14 1.1960804E15 2.0350100E15 6.7841483E14 4.0869380E14 4.7817624E14 1.6337125E14 1.4860678E15 2.0708262E7 2.5638294E13 5.9960500E14 2.4189143E15 5.5228223E15 9.7724038E15 1.5060774E16 2.1323000E16 2.8520753E16 3.6630975E16 4.5639363E16 5.5536747E16 6.6317067E16 7.7976204E16 3.2103320E12
|
|
||||||
3.2916855E4 2.5269330E14 3.9605256E-10 5.6283313E7 3.6929438E13 7.6786267E14 2.9728018E15 6.6593826E15 1.1662202E16 1.7861456E16 2.5186003E16 3.3594348E16 4.6161797E12 1.8180261E11 1.8634839E14 7.8521483E13 7.8298179E14 2.8124820E14 4.3741922E14 1.5473169E14 1.4286185E15 2.4281532E15 8.0947301E14 4.8754849E14 5.6599123E14 1.9313620E14 1.7558866E15 5.5914704E7 3.6868824E13 7.6730228E14 2.9715812E15 6.6576325E15 1.1660073E16 1.7859061E16 2.5183418E16 3.3591623E16 4.3058881E16 5.3569881E16 6.5114840E16 7.7687310E16 9.1282914E16 4.6161797E12
|
|
||||||
3.3874282E4 2.9051971E14 4.5071415E-10 1.5524068E8 5.2840337E13 9.7295455E14 3.6099450E15 7.9289853E15 1.3737864E16 2.0905220E16 2.9354814E16 3.9042715E16 6.6050421E12 3.1043368E11 2.3132095E14 9.6230911E13 9.5421095E14 3.4135664E14 5.1824222E14 1.8272749E14 1.6847463E15 2.8604156E15 9.5357053E14 5.7421866E14 6.6119241E14 2.2533347E14 2.0474745E15 1.5427938E8 5.2758346E13 9.7228327E14 3.6085438E15 7.9270155E15 1.3735494E16 2.0902570E16 2.9351965E16 3.9039721E16 4.9939780E16 6.2036132E16 7.5318583E16 8.9780428E16 1.0541713E17 6.6050421E12
|
|
||||||
3.5002044E4 3.3021412E14 5.0926977E-10 4.3102601E8 7.5085329E13 1.2212656E15 4.3387336E15 9.3401265E15 1.6007136E16 2.4198623E16 3.3834515E16 4.4869234E16 9.3856661E12 5.2834400E11 2.8433414E14 1.1674835E14 1.1510575E15 4.1006270E14 6.0740020E14 2.1345516E14 1.9652527E15 3.3330225E15 1.1111157E15 6.6894578E14 7.6388353E14 2.5999043E14 2.3610504E15 4.2851399E8 7.4975690E13 1.2204727E15 4.3371489E15 9.3379431E15 1.6004537E16 2.4195737E16 3.3831425E16 4.4865996E16 5.7272617E16 7.1034882E16 8.6142382E16 1.0258829E17 1.2036799E17 9.3856661E12
|
|
||||||
3.6325767E4 3.7272198E14 5.7315029E-10 1.1894702E9 1.0597651E14 1.5224378E15 5.1786748E15 1.0926286E16 1.8522006E16 2.7816578E16 3.8727181E16 5.1207239E16 1.3247064E13 8.9332008E11 3.4709306E14 1.4066439E14 1.3789371E15 4.8919862E14 7.0696767E14 2.4762272E14 2.2765790E15 3.8568018E15 1.2857179E15 7.7389924E14 8.7640075E14 2.9789608E14 2.7037563E15 1.1829719E9 1.0583148E14 1.5215114E15 5.1769020E15 1.0923892E16 1.8519188E16 2.7813468E16 3.8723867E16 5.1203776E16 6.5225977E16 8.0773910E16 9.7837106E16 1.1640871E17 1.3648411E17 1.3247064E13
|
|
||||||
3.7870191E4 4.1871660E14 6.4302807E-10 3.2201982E9 1.4833488E14 1.8858994E15 6.1465078E15 1.2714155E16 2.1322304E16 3.1815201E16 4.4108239E16 5.8154391E16 1.8541860E13 1.4935181E12 4.2117195E14 1.6850233E14 1.6425566E15 5.8033381E14 8.1856798E14 2.8577758E14 2.6236801E15 4.4400504E15 1.4801430E15 8.9074002E14 1.0004832E15 3.3963531E14 3.0808772E15 3.2037620E9 1.4814524E14 1.8848274E15 6.1445424E15 1.2711552E16 2.1319274E16 3.1811879E16 4.4104713E16 5.8150717E16 7.3922608E16 9.1403865E16 1.1058408E17 1.3145645E17 1.5401642E17 1.8541860E13
|
|
||||||
3.9655077E4 4.6697054E14 7.1671630E-10 8.4261664E9 2.0474208E14 2.3122827E15 7.2301344E15 1.4671412E16 2.4349594E16 3.6104615E16 4.9851265E16 6.5542708E16 2.5592760E13 2.4490491E12 5.0616144E14 1.9999254E14 1.9389060E15 6.8231555E14 9.4003735E14 3.2714786E14 2.9994100E15 5.0706018E15 1.6903348E15 1.0170244E15 1.1332845E15 3.8423771E14 3.4835953E15 8.3860931E9 2.0449822E14 2.3110583E15 7.2279805E15 1.4668615E16 2.4346369E16 3.6101102E16 4.9847552E16 6.5538851E16 8.3148014E16 1.0265878E17 1.2406093E17 1.4734781E17 1.7251497E17 2.5592760E13
|
|
||||||
4.1695873E4 5.1405171E14 7.8877531E-10 2.1001357E10 2.7647091E14 2.7873506E15 8.3761597E15 1.6687268E16 2.7419995E16 4.0413168E16 5.5582595E16 7.2882488E16 3.4558863E13 3.9006422E12 5.9856343E14 2.3368980E14 2.2537739E15 7.9010008E14 1.0642702E15 3.6926137E14 3.3811104E15 5.7101642E15 1.9035286E15 1.1450728E15 1.2662913E15 4.2882028E14 3.8857866E15 2.0908490E10 2.7616476E14 2.7859784E15 8.3738399E15 1.6684310E16 2.7416620E16 4.0409513E16 5.5578746E16 7.2878501E16 9.2282567E16 1.1377522E17 1.3734661E17 1.6299035E17 1.9070214E17 3.4558863E13
|
|
||||||
4.4009595E4 5.5614058E14 8.5325830E-10 4.9359827E10 3.6313184E14 3.2870635E15 9.5122226E15 1.8622627E16 3.0311319E16 4.4419859E16 6.0866933E16 7.9608754E16 4.5391481E13 5.9926758E12 6.9313601E14 2.6755660E14 2.5676086E15 8.9686614E14 1.1825038E15 4.0910440E14 3.7412954E15 6.3124625E15 2.1042984E15 1.2656114E15 1.3895083E15 4.7001286E14 4.2569702E15 4.9157208E10 3.6275861E14 3.2855615E15 9.5097775E15 1.8619564E16 3.0307856E16 4.4416130E16 6.0863021E16 7.9604711E16 1.0061629E17 1.2388288E17 1.4939519E17 1.7714719E17 2.0713485E17 4.5391481E13
|
|
||||||
4.6620517E4 5.9176103E14 9.0785848E-10 1.0914320E11 4.6391822E14 3.7937226E15 1.0594918E16 2.0403712E16 3.2914748E16 4.7975756E16 6.5509857E16 8.5476030E16 5.7989777E13 8.8750594E12 7.8635815E14 3.0030845E14 2.8684466E15 9.9853354E14 1.2902526E15 4.4517172E14 4.0663856E15 6.8548276E15 2.2850877E15 1.3741049E15 1.4983753E15 5.0629584E14 4.5834729E15 1.0872781E11 4.6347618E14 3.7921156E15 1.0592394E16 2.0400600E16 3.2911262E16 4.7972023E16 6.5505954E16 8.5472006E16 1.0784698E17 1.3261708E17 1.5977369E17 1.8931127E17 2.2122608E17 5.7989777E13
|
|
||||||
4.9559018E4 6.2266324E14 9.5524014E-10 2.2803297E11 5.7945781E14 4.3079612E15 1.1636513E16 2.2066416E16 3.5299799E16 5.1192716E16 6.9673578E16 9.0704517E16 7.2432226E13 1.2733029E13 8.7868861E14 3.3221672E14 3.1593178E15 1.0962726E15 1.3899947E15 4.7836621E14 4.3648183E15 7.3517295E15 2.4507207E15 1.4734641E15 1.5964834E15 5.3890502E14 4.8765698E15 2.2722905E11 5.7894642E14 4.3062710E15 1.1633945E16 2.2063299E16 3.5296337E16 5.1189026E16 6.9669733E16 9.0700562E16 1.1426021E17 1.4033605E17 1.6892024E17 2.0000771E17 2.3359508E17 7.2432226E13
|
|
||||||
5.2852778E4 6.5076941E14 9.9834176E-10 4.5229772E11 7.1081885E14 4.8346236E15 1.2658655E16 2.3661149E16 3.7555659E16 5.4207665E16 7.3551191E16 9.5551616E16 8.8852356E13 1.7777922E13 9.7139365E14 3.6383844E14 3.4458693E15 1.1921341E15 1.4850598E15 5.0986916E14 4.6475112E15 7.8217368E15 2.6073876E15 1.5674176E15 1.6881723E15 5.6932126E14 5.1497237E15 4.5082169E11 7.1023822E14 4.8328680E15 1.2656069E16 2.3658055E16 3.7552249E16 5.4204049E16 7.3547435E16 9.5547760E16 1.2018565E17 1.4744964E17 1.7733265E17 2.0983010E17 2.4493894E17 8.8852356E13
|
|
||||||
5.6518714E4 6.7284143E14 1.0321907E-9 8.4928648E11 8.5316019E14 5.3412396E15 1.3585314E16 2.5054583E16 3.9478389E16 5.6732896E16 7.6758139E16 9.9522881E16 1.0664502E14 2.4071576E13 1.0582603E15 3.9292747E14 3.7071771E15 1.2789687E15 1.5672207E15 5.3688750E14 4.8891291E15 8.2223707E15 2.7409283E15 1.6474597E15 1.7645423E15 5.9455696E14 5.3759643E15 8.4672225E11 8.5251548E14 5.3394453E15 1.3582746E16 2.5051553E16 3.9475074E16 5.6729395E16 7.6754512E16 9.9519166E16 1.2500595E17 1.5320462E17 1.8410884E17 2.1771452E17 2.5401896E17 1.0664502E14
|
|
||||||
6.0569786E4 6.8122948E14 1.0450491E-9 1.4971314E12 9.9224185E14 5.7514998E15 1.4239736E16 2.5935875E16 4.0590997E16 5.8093890E16 7.8391331E16 1.0145578E17 1.2403023E14 3.1314288E13 1.1248105E15 4.1426092E14 3.8946008E15 1.3401558E15 1.6172690E15 5.5289383E14 5.0304368E15 8.4542769E15 2.8182236E15 1.6936939E15 1.8047130E15 6.0759909E14 5.4919676E15 1.4929508E12 9.9154845E14 5.7497131E15 1.4237248E16 2.5932974E16 4.0587845E16 5.8090575E16 7.8387906E16 1.0145228E17 1.2726842E17 1.5582735E17 1.8712355E17 2.2115344E17 2.5791467E17 1.2403023E14
|
|
||||||
6.5039170E4 6.8023842E14 1.0435206E-9 2.5007579E12 1.1267985E15 6.0810131E15 1.4683680E16 2.6436648E16 4.1115372E16 5.8621681E16 7.8909097E16 1.0195372E17 1.4084982E14 3.9455818E13 1.1749786E15 4.2949063E14 4.0245006E15 1.3815329E15 1.6437071E15 5.6086034E14 5.0987317E15 8.5636602E15 2.8546763E15 1.7153900E15 1.8190892E15 6.1197824E14 5.5297532E15 2.4943015E12 1.1260705E15 6.0792667E15 1.4681308E16 2.6433914E16 4.1112420E16 5.8618588E16 7.8905910E16 1.0195047E17 1.2773906E17 1.5626396E17 1.8752039E17 2.2150530E17 2.5821666E17 1.4084982E14
|
|
||||||
6.9985199E4 6.9971939E14 1.0733989E-9 4.1439012E12 1.3058033E15 6.5954894E15 1.5561084E16 2.7717377E16 4.2856733E16 6.0890149E16 8.1775907E16 1.0549268E17 1.6322541E14 5.0347220E13 1.2602043E15 4.5743929E14 4.2733247E15 1.4636878E15 1.7186974E15 5.8541154E14 5.3178772E15 8.9265183E15 2.9756245E15 1.7878643E15 1.8875398E15 6.3456349E14 5.7321045E15 4.1340114E12 1.3050235E15 6.5937385E15 1.5558761E16 2.7714728E16 4.2853888E16 6.0887180E16 8.1772854E16 1.0548957E17 1.3202558E17 1.6137403E17 1.9353069E17 2.2849288E17 2.6625878E17 1.6322541E14
|
|
||||||
7.5417445E4 7.3233430E14 1.1234258E-9 6.7442803E12 1.5261542E15 7.2499835E15 1.6742069E16 2.9526178E16 4.5407820E16 6.4305124E16 8.6180059E16 1.1101329E17 1.9076928E14 6.4332628E13 1.3709789E15 4.9444332E14 4.6059715E15 1.5743770E15 1.8262929E15 6.2104172E14 5.6375688E15 9.4580358E15 3.1527946E15 1.8941144E15 1.9915035E15 6.6908217E14 6.0422323E15 6.7294037E12 1.5253119E15 7.2482048E15 1.6739758E16 2.9523570E16 4.5405035E16 6.4302226E16 8.6177085E16 1.1101026E17 1.3879114E17 1.6951354E17 2.0317366E17 2.3976907E17 2.7929816E17 1.9076928E14
|
|
||||||
8.1241382E4 6.2807976E14 9.6348682E-10 8.7030581E12 1.4496447E15 6.5066430E15 1.4730042E16 2.5740080E16 3.9388071E16 5.5612451E16 7.4384863E16 9.5690955E16 1.8120558E14 6.6364940E13 1.2186709E15 4.3689277E14 4.0592288E15 1.3848500E15 1.5884367E15 5.3933902E14 4.8927138E15 8.2043037E15 2.7348609E15 1.6428704E15 1.7207780E15 5.7778141E14 5.2163833E15 8.6853170E12 1.4489053E15 6.5051679E15 1.4728163E16 2.5737979E16 3.9385839E16 5.5610136E16 7.4382491E16 9.5688544E16 1.1952045E17 1.4587363E17 1.7474529E17 2.0613365E17 2.4003752E17 1.8120558E14
|
|
||||||
8.7634283E4 5.3264230E14 8.1707688E-10 1.0769772E13 1.3511727E15 5.7545676E15 1.2790335E16 2.2161303E16 3.3755480E16 4.7527192E16 6.3455562E16 8.1530074E16 1.6889659E14 6.6763946E13 1.0682930E15 3.8086972E14 3.5301595E15 1.2022296E15 1.3646694E15 4.6271157E14 4.1950436E15 7.0311686E15 2.3437965E15 1.4078251E15 1.4694032E15 4.9310515E14 4.4508386E15 1.0749485E13 1.3505359E15 5.7533622E15 1.2788828E16 2.2159632E16 3.3753712E16 4.7525363E16 6.3453693E16 8.1528176E16 1.0174308E17 1.2409506E17 1.4858210E17 1.7520288E17 2.0395654E17 1.6889659E14
|
|
||||||
83
tests/tlusty/hhe_rust/fort.7.ref
Normal file
83
tests/tlusty/hhe_rust/fort.7.ref
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
70 42
|
||||||
|
2.188980E-7 2.885011E-7 3.837019E-7 5.138575E-7 6.722991E-7 8.880084E-7
|
||||||
|
1.181932E-6 1.584701E-6 2.134502E-6 2.884545E-6 3.906878E-6 5.299578E-6
|
||||||
|
7.195550E-6 9.774867E-6 1.328122E-5 1.804411E-5 2.450858E-5 3.327509E-5
|
||||||
|
4.515296E-5 6.123181E-5 8.297713E-5 1.123579E-4 1.520165E-4 2.054958E-4
|
||||||
|
2.775391E-4 3.744879E-4 5.048034E-4 6.797463E-4 9.142537E-4 1.228061E-3
|
||||||
|
1.647128E-3 2.205442E-3 2.947308E-3 3.930269E-3 5.228833E-3 6.939289E-3
|
||||||
|
9.185926E-3 1.212911E-2 1.597582E-2 2.099353E-2 2.752853E-2 3.603033E-2
|
||||||
|
4.708439E-2 6.145595E-2 8.014898E-2 1.044850E-1 1.362075E-1 1.776188E-1
|
||||||
|
2.317553E-1 3.026046E-1 3.953697E-1 5.168130E-1 6.758266E-1 8.845484E-1
|
||||||
|
1.160168E0 1.526777E0 2.016381E0 2.669622E0 3.538465E0 4.693392E0
|
||||||
|
6.235336E0 8.309144E0 1.111391E1 1.491106E1 2.004885E1 2.703824E1
|
||||||
|
3.665475E1 4.984479E1 6.742633E1 9.161709E1
|
||||||
|
2.8391081E4 2.5359576E8 3.8899715E-16 1.1210425E-1 7.8224806E6 3.8598961E8 2.0221813E9 5.2106271E9 9.8461118E9 1.5787597E10 2.2934221E10 3.1221422E10 9.7781008E5 1.0956117E4 1.0840295E8 5.0033545E7 5.1919073E8 1.9199062E8 3.5451314E8 1.2833398E8 1.1967142E9 2.0495475E9 6.8328637E8 4.1215917E8 5.0703455E8 1.7460072E8 1.5936209E9 1.1108602E-1 7.8046573E6 3.8559848E8 2.0210285E9 5.2087257E9 9.8436166E9 1.5784657E10 2.2930951E10 3.1217905E10 4.0604752E10 5.1065392E10 6.2582733E10 7.5145298E10 8.8745191E10 9.7781008E5
|
||||||
|
1.1997773E5 1.0203214E8 7.0957913E-9 1.0590435E6 2.1908552E8 1.0236156E9 2.3500854E9 4.1334517E9 6.3474800E9 8.9811801E9 1.2029460E10 1.5489733E10 2.7385690E7 9.4610974E6 1.9302404E8 6.9492295E7 6.4685771E8 2.2098039E8 2.5549497E8 8.6844018E7 7.8818488E8 1.3221283E9 4.4072529E8 2.6476836E8 2.7807174E8 9.3406954E7 8.4345976E8 1.0567593E6 2.1896729E8 1.0233701E9 2.3497683E9 4.1330947E9 6.3470993E9 8.9807844E9 1.2029054E10 1.5489320E10 1.9360166E10 2.3640765E10 2.8330610E10 3.3429378E10 3.8936854E10 2.7385690E7
|
||||||
|
3.0000000E3 NaN 6.7420418E-16 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 8.9921327E-16 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.1667814E-15 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.5304185E-15 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 2.0251175E-15 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 2.7027486E-15 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 3.6266334E-15 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 4.8853261E-15 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 6.5983655E-15 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 8.9282131E-15 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.2094422E-14 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.6393693E-14 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 2.2226433E-14 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 3.0132513E-14 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 4.0839044E-14 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 5.5324336E-14 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 7.4903411E-14 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.0134232E-13 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.3701085E-13 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.8508631E-13 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 2.4982467E-13 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 3.3691960E-13 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 4.5397421E-13 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 6.1111344E-13 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 8.2176675E-13 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.1036503E-12 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.4799753E-12 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.9809089E-12 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 2.6453135E-12 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 3.5227978E-12 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 4.6761154E-12 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 6.1839489E-12 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 8.1441016E-12 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.0677087E-11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.3930055E-11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.8080918E-11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 2.3342458E-11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 2.9966086E-11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 3.8244812E-11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 4.8514829E-11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 6.1154921E-11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 7.6582584E-11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 9.5245187E-11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.1760337E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.4410174E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.7511805E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 2.1087911E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 2.5134218E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 2.9610465E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 3.4451411E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 3.9605256E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 4.5071415E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 5.0926977E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 5.7315029E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 6.4302807E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 7.1671630E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 7.8877531E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 8.5325830E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 9.0785848E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 9.5524014E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 9.9834176E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.0321907E-9 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.0450491E-9 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.0435206E-9 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.0733989E-9 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 1.1234258E-9 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 9.6348682E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
|
3.0000000E3 NaN 8.1707688E-10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
|
||||||
@ -1,154 +0,0 @@
|
|||||||
Reading input from stdin
|
|
||||||
|
|
||||||
================================
|
|
||||||
M O D E L A T M O S P H E R E
|
|
||||||
================================
|
|
||||||
|
|
||||||
TEFF = 35000.0
|
|
||||||
LOG G = 4.00
|
|
||||||
LTE = T
|
|
||||||
LTGRAY = T
|
|
||||||
|
|
||||||
FREQUENCIES:
|
|
||||||
NFREAD = 50
|
|
||||||
|
|
||||||
ATOMS: 8 elements configured
|
|
||||||
|
|
||||||
IONS:
|
|
||||||
H 1 (Z= 1, ion=0) - 9 levels, file: ./data/h1.dat
|
|
||||||
H 2 (Z= 1, ion=1) - 1 levels, file: (none)
|
|
||||||
He 1 (Z= 2, ion=0) - 14 levels, file: ./data/he1.dat
|
|
||||||
He 2 (Z= 2, ion=1) - 14 levels, file: ./data/he2.dat
|
|
||||||
He 3 (Z= 2, ion=2) - 1 levels, file: (none)
|
|
||||||
|
|
||||||
--- Reading atomic data files ---
|
|
||||||
Ion 1: H 1 <- ./data/h1.dat
|
|
||||||
Levels: 9, Continua: 8, Lines: 32
|
|
||||||
Level 1: G=0, NQUANT=0, IFWOP=0
|
|
||||||
Level 2: G=0, NQUANT=0, IFWOP=0
|
|
||||||
Level 3: G=0, NQUANT=0, IFWOP=0
|
|
||||||
... (6 more levels)
|
|
||||||
Ion 2: H 2 <- ground state only (fully ionized)
|
|
||||||
Ion 3: He 1 <- ./data/he1.dat
|
|
||||||
Levels: 14, Continua: 13, Lines: 72
|
|
||||||
Level 1: G=1, NQUANT=1, IFWOP=0
|
|
||||||
Level 2: G=3, NQUANT=2, IFWOP=0
|
|
||||||
Level 3: G=1, NQUANT=2, IFWOP=0
|
|
||||||
... (11 more levels)
|
|
||||||
Ion 4: He 2 <- ./data/he2.dat
|
|
||||||
Levels: 14, Continua: 13, Lines: 121
|
|
||||||
Level 1: G=0, NQUANT=1, IFWOP=0
|
|
||||||
Level 2: G=0, NQUANT=2, IFWOP=0
|
|
||||||
Level 3: G=0, NQUANT=3, IFWOP=0
|
|
||||||
... (11 more levels)
|
|
||||||
Ion 5: He 3 <- ground state only (fully ionized)
|
|
||||||
|
|
||||||
Total: 39 levels, 34 continua, 225 lines
|
|
||||||
|
|
||||||
--- Populating atomic data ---
|
|
||||||
Ion 1: nfirst=1, ntrans=40, ntranc=8
|
|
||||||
Ion 2: nfirst=10, ntrans=0, ntranc=0
|
|
||||||
Ion 3: nfirst=11, ntrans=85, ntranc=13
|
|
||||||
Ion 4: nfirst=25, ntrans=134, ntranc=13
|
|
||||||
Ion 5: nfirst=39, ntrans=0, ntranc=0
|
|
||||||
|
|
||||||
Total transitions: 259, continuum: 34
|
|
||||||
Total levels in atomic data: 39
|
|
||||||
|
|
||||||
--- Verification ---
|
|
||||||
Level 1 (H1 n=1): enion=8.7141e-11, g=2
|
|
||||||
Level 2 (H1 n=2): enion=2.1785e-11, g=8
|
|
||||||
Level 10 (He1 n=1): enion=2.1785e-11, g=1
|
|
||||||
|
|
||||||
--- Generating initial LTE grey atmosphere ---
|
|
||||||
Initial opacity estimate: 0.6654 cm²/g (computed from Teff=35000K)
|
|
||||||
DEBUG temp: tau=1.000000e-7, q=5.773507e-1, t4=1.500625e18, temp=28391.8
|
|
||||||
DEBUG ELDENS init T>9000: f1=6.752885e-12, fe=1.199964e0, q=1.999638e-1, ah=2.508772e8, anh=1.694145e-3
|
|
||||||
DEBUG ELDENS coeffs iter 1: ae=5.627574e-12, gg=0.000000e0, e_val=0.000000e0, b_val=0.000000e0
|
|
||||||
DEBUG ELDENS params iter 1: d_val=1.480848e11, g2=1.480848e11, a_val=1.480848e11
|
|
||||||
DEBUG ELDENS rhs0: an=6.020870e8, ane=3.010435e8, ytot=1.100000e0, ah=2.508772e8, s0=2.507863e7
|
|
||||||
DEBUG ELDENS rhs12: anh=1.694145e-3, d_val=1.480848e11, gg=0.000000e0, q=1.999638e-1, ah=2.508772e8, ane=3.010435e8
|
|
||||||
DEBUG ELDENS rhs12: s1=0.000000e0, s2=0.000000e0
|
|
||||||
DEBUG ELDENS matrix iter 1: R=[1.100000000000000e0,0.000000000000000e0,1.000000000000000e0; -1.999637587488842e-1,-1.480848485832130e11,1.833358501628001e0; -1.000000000000000e0,1.480848485842130e11,-8.333585016280014e-1]
|
|
||||||
DEBUG ELDENS rhs iter 1: S=[2.507862593498951e7,0.000000000000000e0,0.000000000000000e0]
|
|
||||||
DEBUG ELDENS verify: R*p=[2.507863e7, -7.450581e-9, 0.000000e0], S=[2.507863e7, 0.000000e0, 0.000000e0]
|
|
||||||
DEBUG ELDENS lineqs: p=[1.090392e7, 1.472659e-4, 1.308431e7]
|
|
||||||
DEBUG ELDENS coeffs iter 2: ae=5.861979e-12, gg=0.000000e0, e_val=0.000000e0, b_val=0.000000e0
|
|
||||||
DEBUG ELDENS params iter 2: d_val=1.419167e11, g2=1.419167e11, a_val=1.419167e11
|
|
||||||
DEBUG ELDENS rhs0: an=6.020870e8, ane=3.141278e8, ytot=1.100000e0, ah=2.617811e8, s0=0.000000e0
|
|
||||||
DEBUG ELDENS rhs12: anh=1.841411e-3, d_val=1.419167e11, gg=0.000000e0, q=1.999625e-1, ah=2.617811e8, ane=3.141278e8
|
|
||||||
DEBUG ELDENS rhs12: s1=-4.545201e5, s2=4.541792e5
|
|
||||||
DEBUG ELDENS matrix iter 2: R=[1.100000000000000e0,0.000000000000000e0,1.000000000000000e0; -1.999624561761297e-1,-1.419166964330945e11,1.831912659832351e0; -1.000000000000000e0,1.419166964340945e11,-8.319126598323510e-1]
|
|
||||||
DEBUG ELDENS rhs iter 2: S=[0.000000000000000e0,-4.545201431874633e5,4.541791542555094e5]
|
|
||||||
DEBUG ELDENS verify: R*p=[0.000000e0, -4.545201e5, 4.541792e5], S=[0.000000e0, -4.545201e5, 4.541792e5]
|
|
||||||
DEBUG ELDENS lineqs: p=[1.482585e2, 3.200411e-6, -1.630843e2]
|
|
||||||
DEBUG ELDENS after loop: ane=3.141277e8, an=6.020870e8
|
|
||||||
DEBUG ELDENS return: id=1, ane=3.141277e8, anp=2.617813e8, ahtot=2.617813e8, anerel=5.217313e-1
|
|
||||||
DEBUG after ELDENS: ane=3.141277e8, an=6.020870e8, dens=4.818511e-16, ahtot=2.617813e8
|
|
||||||
DEBUG ELDENS init T>9000: f1=5.451602e-12, fe=1.199970e0, q=1.999696e-1, ah=2.025321e8, anh=1.104124e-3
|
|
||||||
DEBUG ELDENS coeffs iter 1: ae=4.543117e-12, gg=0.000000e0, e_val=0.000000e0, b_val=0.000000e0
|
|
||||||
DEBUG ELDENS params iter 1: d_val=1.834323e11, g2=1.834323e11, a_val=1.834323e11
|
|
||||||
DEBUG ELDENS rhs0: an=4.860646e8, ane=2.430323e8, ytot=1.100000e0, ah=2.025321e8, s0=2.024704e7
|
|
||||||
DEBUG ELDENS rhs12: anh=1.104124e-3, d_val=1.834323e11, gg=0.000000e0, q=1.999696e-1, ah=2.025321e8, ane=2.430323e8
|
|
||||||
DEBUG ELDENS rhs12: s1=0.000000e0, s2=2.980232e-8
|
|
||||||
DEBUG ELDENS matrix iter 1: R=[1.100000000000000e0,0.000000000000000e0,1.000000000000000e0; -1.999695733305082e-1,-1.834323299793491e11,1.833354463499935e0; -1.000000000000000e0,1.834323299803491e11,-8.333544634999348e-1]
|
|
||||||
DEBUG ELDENS rhs iter 1: S=[2.024704448984280e7,0.000000000000000e0,2.980232238769531e-8]
|
|
||||||
DEBUG ELDENS verify: R*p=[2.024704e7, 0.000000e0, 2.607703e-8], S=[2.024704e7, 0.000000e0, 2.980232e-8]
|
|
||||||
DEBUG ELDENS lineqs: p=[8.803179e6, 9.598285e-5, 1.056355e7]
|
|
||||||
DEBUG ELDENS coeffs iter 2: ae=4.732360e-12, gg=0.000000e0, e_val=0.000000e0, b_val=0.000000e0
|
|
||||||
DEBUG ELDENS params iter 2: d_val=1.757914e11, g2=1.757914e11, a_val=1.757914e11
|
|
||||||
DEBUG ELDENS rhs0: an=4.860646e8, ane=2.535959e8, ytot=1.100000e0, ah=2.113352e8, s0=0.000000e0
|
|
||||||
DEBUG ELDENS rhs12: anh=1.200107e-3, d_val=1.757914e11, gg=0.000000e0, q=1.999685e-1, ah=2.113352e8, ane=2.535959e8
|
|
||||||
DEBUG ELDENS rhs12: s1=-3.669217e5, s2=3.666968e5
|
|
||||||
DEBUG ELDENS matrix iter 2: R=[1.100000000000000e0,0.000000000000000e0,1.000000000000000e0; -1.999685090948840e-1,-1.757914480063147e11,1.831908474519392e0; -1.000000000000000e0,1.757914480073147e11,-8.319084745193919e-1]
|
|
||||||
DEBUG ELDENS rhs iter 2: S=[0.000000000000000e0,-3.669217401371300e5,3.666968296375573e5]
|
|
||||||
DEBUG ELDENS verify: R*p=[0.000000e0, -3.669217e5, 3.666968e5], S=[0.000000e0, -3.669217e5, 3.666968e5]
|
|
||||||
DEBUG ELDENS lineqs: p=[9.778851e1, 2.086024e-6, -1.075674e2]
|
|
||||||
DEBUG ELDENS after loop: ane=2.535958e8, an=4.860646e8
|
|
||||||
DEBUG ELDENS return: id=1, ane=2.535958e8, anp=2.113353e8, ahtot=2.113353e8, anerel=5.217326e-1
|
|
||||||
DEBUG before pressure update: ane=2.535958e8, an=4.860646e8
|
|
||||||
Depth 1: T=28392K, ne=2.54e8, nH=0.00e0, rho=3.89e-16
|
|
||||||
Quick estimate κ_R=4.5546e-1, Full LTE κ_R=4.5352e-1, κ_P=2.1575e4
|
|
||||||
Components: κ_es=4.3363e-1, κ_bf=0.0000e0, κ_ff=5.1862e-28, κ_H-=0.0000e0
|
|
||||||
Depth 70: T=137404K, ne=5.33e14, nH=5.75e6, rho=8.17e-10
|
|
||||||
Quick estimate κ_R=3.0476e0, Full LTE κ_R=2.7335e0, κ_P=5.9667e4
|
|
||||||
Components: κ_es=4.3361e-1, κ_bf=4.4304e-37, κ_ff=2.0799e-30, κ_H-=0.0000e0
|
|
||||||
Generated 70 depth points
|
|
||||||
Temperature range: 28392 K (surface) to 137404 K (bottom)
|
|
||||||
Electron density range: 2.54e8 to 5.33e14 cm^-3
|
|
||||||
|
|
||||||
--- Starting TLUSTY initialization ---
|
|
||||||
Initialization completed successfully
|
|
||||||
NN = 0
|
|
||||||
Success = true
|
|
||||||
|
|
||||||
--- Setting up frequency grid ---
|
|
||||||
Frequency range: 1.00e14 - 1.00e16 Hz
|
|
||||||
Number of frequency points: 50
|
|
||||||
|
|
||||||
--- Starting main iteration loop ---
|
|
||||||
|
|
||||||
=== Iteration 1 ===
|
|
||||||
Computing opacities...
|
|
||||||
Solving radiative transfer...
|
|
||||||
Updating populations...
|
|
||||||
Max flux error: 2.37e2
|
|
||||||
|
|
||||||
=== Iteration 2 ===
|
|
||||||
Computing opacities...
|
|
||||||
Solving radiative transfer...
|
|
||||||
Updating populations...
|
|
||||||
Max flux error: 9.29e1
|
|
||||||
|
|
||||||
=== Iteration 3 ===
|
|
||||||
Computing opacities...
|
|
||||||
Solving radiative transfer...
|
|
||||||
Updating populations...
|
|
||||||
Max flux error: 5.27e1
|
|
||||||
|
|
||||||
Main loop completed after 3 iterations
|
|
||||||
|
|
||||||
--- Writing model to fort.7 ---
|
|
||||||
Model written to fort.7
|
|
||||||
|
|
||||||
--- TLUSTY START completed ---
|
|
||||||
1
tests/tlusty/hhe_rust/stderr.txt
Normal file
1
tests/tlusty/hhe_rust/stderr.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Converged after 0 iterations (0.74s)
|
||||||
Loading…
Reference in New Issue
Block a user