网格和边界信息文件(fort.14)

网格和边界信息文件(fort.14)

该文件是运行ADCIRC模型所必需的。基本文件结构如下所示。输入数据的每一行由包含输入变量名称(粗体)的一行表示。空行只是为了提高可读性。循环指示输入的多行。条件输入由变量名后的if子句指示。通过热链接提供每个变量的定义。

AGRID

NE, NP

for k=1 to NP

JN, X(JN), Y(JN), DP(JN)

end k loop

for k=1 to NE

JE, NHY, NM(JE,1),NM(JE,2), NM(JE,3)

end k loop

NOPE

NETA

for k=1 to NOPE

NVDLL(k), IBTYPEE(k)

for j=1 to NVDLL(k)

NBDV(k,j)

end j loop

end k loop

NBOU

NVEL

for k=1 to NBOU

NVELL(k), IBTYPE(k)

for j=1,NVELL(k)

NBVV(k,j) ? include this line only if IBTYPE(k) = 0, 1, 2, 10, 11, 12, 20, 21, 22, 30

NBVV(k,j), BARLANHT(k,j), BARLANCFSP(k,j) include this line only if IBTYPE(k) = 3, 13, 23

NBVV(k,j), IBCONN(k,j), BARINHT(k,j), BARINCFSB(k,j), BARINCFSP(k,j) include this line only if IBTYPE(k) = 4, 24

NBVV(k,j), IBCONN(k,j), BARINHT(k,j), BARINCFSB(k,j), BARINCFSP(k,j), PIPEHT(k,j), PIPECOEF(k,j), PIPEDIAM(k,j), include this line only if IBTYPE(k) = 5, 25

end j loop

end k loop

法向磁通边界类型 NORMAL FLUX BOUNDARY TYPES

Flux Specified

表1.助焊剂规定的边界

ibtype

位置

正常通量

数值实现

切向滑移

典型用途

0

外部

必要

自由

大陆边界

1个

内部

必要

自由

岛屿边界

2

外部

非零流入

必要

自由

河流或海洋流入边界;如果通量是周期性的,则在要塞15中规定。

如果是随时间变化且不定期的,则必须在fort.20文件中指定

3

外部

外流

必要

自由

越过堰越界 ; 必须规定堤防高度;ADCIRC计算通量

4

内部

零或非零

必要

自由

内部堤防 ; 必须规定堤防高度;ADCIRC计算通量

5

内部

零或非零

必要

自由

带有跨界管道的内部堤防(如涵洞);必须规定堤防高度和其他

参数;ADCIRC计算通量

102

外部

非零流入

必要

自由

同ibtype 2,但斜压而不是正压。
在Fort.39输入文件中也需要密度相关的边界条件

上面的边界类型0-5和102可能将不稳定引入到ADCIRC解决方案中。因此,最好使用20-25和122型。

10

外部

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Abaqus是一种常用的工程分析软件,它可以用于求解各种结构和材料的力学问题。在ABAQUS中,要实现一般网格的周期性边界条件,需要通过编写Python脚本来实现。下面是实现该功能的Python代码: ``` # 导入 Python 脚本需要的库 from abaqus import * from abaqusConstants import * from caeModules import * # 定义模型名称 modelName = 'Periodic' # 创建模型对象 myModel = mdb.Model(name=modelName) # 定义节点坐标 nodesData = ((0.0, 0.0, 0.0), (1.0, 0.0, 0.0), (2.0, 0.0, 0.0), (3.0, 0.0, 0.0), (0.5, 1.0, 0.0), (1.5, 1.0, 0.0), (2.5, 1.0, 0.0), (0.0, 2.0, 0.0), (1.0, 2.0, 0.0), (2.0, 2.0, 0.0), (3.0, 2.0, 0.0)) # 向模型中添加节点 for i, nodeData in enumerate(nodesData): myModel.Part(name='Part-' + str(i + 1), dimensionality=THREE_D, type=DEFORMABLE_BODY) myModel.parts['Part-' + str(i + 1)].Node((nodeData,)) # 定义单元 elemsData = ((1, 2, 6, 5), (2, 3, 7, 6), (3, 4, 8, 7), (5, 6, 10, 9), (6, 7, 11, 10), (8, 9, 10, 11), (1, 5, 9, 8), (1, 2, 3, 4)) # 向模型中添加单元 for i, elemData in enumerate(elemsData): myModel.parts['Part-' + str(elemData[0])].Element(elementNodes=(elemData,), type=HEX8) # 定义边界条件 facesData = ((1, 5, 9, 8), (4, 7, 11, 8), (3, 4, 7, 6), (2, 3, 6, 5), (1, 2, 5, 9), (9, 10, 11, 8)) for i, faceData in enumerate(facesData): myModel.Surface(name='Surf-' + str(i + 1), side1Faces=myModel.parts['Part-' + str(faceData[0])].faces.findAt([(0.75, 1.0, 0.0), ])) myModel.Surface(name='Surf-' + str(i + 1), side2Faces=myModel.parts['Part-' + str(faceData[1])].faces.findAt([(0.75, 1.0, 0.0), ])) myModel.Constraint(name='Constraint-' + str(i + 1), offset=0.0, surface=myModel.rootAssembly.instances['Part-' + str(faceData[0])].surfaces['Surf-' + str(i + 1)], uset=Faces, u1=UNSET, u2=UNSET, u3=UNSET, ur1=UNSET, ur2=UNSET, ur3=UNSET) # 定义分析步 myModel.StaticStep(name='Step-1', previous='Initial') # 设置视图 myViewport = session.Viewport(name='Viewport-1') myViewport.setValues(displayedObject=myModel) myViewport.view.fitView() # 运行分析 jobName = modelName + '_job' mdb.Job(name=jobName, model=modelName) mdb.jobs[jobName].submit() ``` 上述代码实现了一般网格施加周期性边界条件的Python程序,通过运行该程序,即可在ABAQUS中进行相关的结构力学分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值