在中指定AMRClaw运行时参数setrun.py(设置运行.py)

看一个具体的例子可能很有用,例如。AMRClaw的setrun.py模块示例.

注:自4.X版以来,许多参数已更改名称,一些新参数已添加个。请参见setrun.py中的输入参数从4.x更改为5.0以获取摘要。

转换4.x版setrun.py(设置运行.py)文件到5.0版,请参见从Clawpack 4.6转换为5.0.

输入

设置运行只接受一个参数爪_pkg应该设置为美国法律.

输出

运行数据,类的对象爪运行数据,创建于使用以下命令运行setrun文件:

 抓爪.clawutil 进口 爪形动物
概要 = 爪形数据.爪运行数据(爪_pkg, 数字_尺寸)

这个运行数据对象具有属性运行数据.clawdata谁的属性描述见在setrun.py中指定经典运行时参数.

此外,对于AMRClaw运行数据具有属性运行数据.amrdata其属性如下所述。

运行时参数

2个空间维度所需的参数(ndim=2)描述了。在3d中如下所述,z中需要类似的参数。

除了中的参数运行数据.clawdata(请参见在setrun.py中指定经典运行时参数),可以设置的AMR参数是以下属性运行数据.amrdata:

特殊AMR参数

最小水平最大值 : 整数

要使用的最大细化级别。

细化比率x : 列表 属于 整数

要在中使用的优化比率x个方向。

例子:如果单元格数[0]=10refinement_ratios_x=[2,4]那么Level 1网格将在x方向有10个单元格,2级补丁将以2为因子进行优化,与2级相比,3级将提高4(相对于级别1增加8)。

细化比率 : 列表 属于 整数

要在中使用的优化比率方向。

细化比率 : 列表 属于 整数

要及时使用的优化比率。对于显式方法,维护Courant数通常需要按照与在空间中(或不同空间中的最大细化比方向)。

注:可以在GeoClaw中设置而不是指定此列表设置variable_dt_refinement_ratios=真因此,在时间是自动选择的。这可能会被移植到AMRClaw?

aux类型 : 列表 属于 字符串, 属于 长度 数字_辅助

指定存储在每个辅助变量中的变量类型。粗化辅助数组时使用这些参数。每个元素可以是以下之一(但最多只能是“capacity”):

  • “中心”表示以单元格为中心的值(例如密度)

  • 以单元格为中心的容量函数的“容量”(例如单元格容量)

  • “xleft”表示x中以左边缘为中心的值(例如法向速度u)

  • “left”表示y中以左边缘为中心的值(例如,法向速度v)

弗拉格·里查森 : 布尔值

确定Richardson推断是否将用作错误估计器。如果真的,每个补丁将粗化2倍时间重新划线完成,并且在时间步长加倍的粗化补丁将与在原始补丁上执行两步后进行求解,以估计误差。

flag_richardson_tol标记 : 浮动

什么时候?flag_richardson==正确,单元格将被标记为细化如果估计误差的绝对值超过该值。

什么时候?flag_richardson==错误,不使用此值。

flag2精炼 : 布尔值

确定子例程是否flag2定义用于标记单元格以实现精细化。

标记2refine_tol : 浮动

什么时候?flag2refine==真,默认库版本flag2refine。(f)检查任何组件之间差异的最大绝对值此单元格中的q与任何相邻单元格。如果最大值为值大于此公差。

重新划分间隔 : 整数

从重新划分到下一个更精细的级别。

重组缓冲区宽度 : 整数

围绕标记的任何点进行优化的标记点数误差估计或flag2精炼.该缓冲区旨在确保波浪在下一次重新划分之前不会离开细化区域,因此通常根据以下值选择重新划分间隔,通常为是相同的值,因为波浪每次最多可以传播一个网格单元步骤。

群集自动关闭 : 浮动 之间 0 1

用于将标记点聚类为矩形面片的截断精细化。选择群集以最小化补丁的数量受约束:

(#标记的pts)/(优化的单元格总数)<clustering_cutoff

如果群集自动关闭接近1时,将只优化标记的单元格,这可能会导致许多1 x 1补丁。

默认值0.7通常效果良好。

混凝土再生 : 整数

每次重新划线时,都会将附加信息打印到终端在这个层次或更粗糙的地方做的。设置为0以禁止重新划分输出。

区域 : 列表

表单列表列表[最低液位、最高液位、t1、t2、x1、x2、y1、y2].请参见指定AMR区域.为了有利于旗子区,但目前两者都受支持。

旗子区 : 列表

(在v5.7.0中引入)类对象列表clawpack.amrclaw.data。标志区域指定强制或禁止进一步自适应优化的区域。这些对象比较老的区域列表和现在是首选。请参见指定用于自适应优化的标志区域.

最大1d : 整数

任何栅格面片的最大大小(在每个空间维度中)。如果必须对较大的区域进行优化,然后将其拆分为多个补丁。如果需要,可以根据缓存大小和OMP效率进行调整(回想一下,多个补丁可以并行进行时间推进)。对于调试,更改此参数也可能很有用。大多数情况下,默认值工作正常:一维为500,二维为60,三维为32。

内存大小 : 整数

的初始长度分配AMRClaw中内部使用的数组网格补丁数据的动态分配。默认值取决于空间维度的数量可能足够大。如果分配数组不够长,那么Fortran的动态内存分配将用于将此数组的大小加倍并进行复制所有以前的数据,因此不需要指定值,除非您正在运行一个大问题,并担心花费的时间重复加倍和复制。默认值为:

2**20 - 1 = 1048575 在里面 1D类,
2**22 - 1 = 4194303 在里面 2D类,
2**23 - 1 = 8388607 在里面 D类.

选择这些是为了使重复加倍能够接近2**30 - 1作为可能,限制整数*4数组索引。如果出现以下情况,代码将崩溃需要更多内存,在这种情况下,您可能需要使用重新编译整数*8索引变量。

调试标记以进行其他打印

将其中一个或多个设置为真的将导致更多信息写入文件fort.先生在输出目录中。

数据打印 : 布尔值

打印域标志

eprint打印 : 布尔值

打印错误估计标志

爱德巴格 : 布尔值

打印更多错误估计标志

g打印 : 布尔值

打印网格平分和聚类信息

n打印 : 布尔值

打印正确的嵌套输出

打印 : 布尔值

打印标记点的投影

rprint(快速打印) : 布尔值

打印重新排序摘要

冲刺 : 布尔值

打印空间/内存输出

t打印 : 布尔值

打印每个级别的时间点信息

上印 : 布尔值

打印更新/upbnd信息