资源描述
Marc使用心得
1 换名另存
File-——Save as下“SELEXTION”下输入新名,例如“12233”:
2 单位使用
长度:m
质量:kg
荷载:kN
3 Exit number
Exit number 在Volume A: Theory and User Information 查
4 Initial Loads
注意。
为什么?
5 纤维单元设置
几何尺寸设置,选择“solid section beam”,注意方向,在“Vector”中设置。
6 Marc中快速生成曲线和拷贝曲线数据
利用table中copy to 将Marc生成的曲线拷贝到剪贴板,到excel中粘贴;利用table中“clipboard”中copy from可以将剪贴板数据拷贝到Mrac中。
7 分层壳中关于钢筋的实现
采用“弥散钢筋模型”,对于纵横向配筋率相同的墙体,可设为各向同性钢筋层;对于纵横向配筋率相同的墙体,可分别设置不同材料主轴方向的正交各向异性的钢筋层来模拟。
对于连梁、暗柱等特殊构件,可采用“离散钢筋模型”,采用 “Inserts”功能直接嵌入。
8 关于纤维截面生成
通过陆老师提供的“THUFIBER_PRE.exe”软件输入一次截面,生成一个截面信息文件“matcode0.txt”,将生成参数拷贝到“matcode.txt”中对应位置。
注意:(1)截面的局部坐标方向不能搞错;
(2)matcode中的截面顺序必须与Marc输入的截面顺序保持一致。
Element 52
9 Marc中选择显示
见:Select—→Visible Sets
10 弹塑性时程分析中阻尼的设置
《陆》:结构的阻尼既与质量也与刚度有关(例如瑞雷阻尼),这里仅介绍一种最为简单的阻尼取法:假设结构的阻尼为质量比例型,结构各阶振型阻尼比相同,例如钢筋混凝土结构。可取阻尼比ξ=0.05,则结构的质量阻尼系数可按:2ξ·f1·2π来计算得到。f1为结构的第一周期对应的频率值。
11 关于纤维梁单元(Element 52)的局部坐标设置
单元库原文:Local x and y are the principal axes of the cross section. Local z is along the beam axis (Figure 3-72).
The local x-axis is normal to the beam axis. The local z-axis goes from node 1 to node 2, and the local y-axis forms a right-handed set with local x and z.
翻译:局部坐标x、y轴为横截面主轴方向,z轴为梁的轴线方向。局部坐标x轴是垂直于梁轴线(即z轴),z轴为节点1到节点2方向,局部坐标y轴由x、z轴根据右手准则确定。
实质是对局部坐标系y轴进行设置,即根据右手准则对x、z确定。
《陆》P156:取梁单元的局部坐标系x轴为垂直向上,与整体坐标系的z轴平行,所以局部坐标系x轴的矢量方向为(0 0 1);取柱单元的局部坐标系x轴为与整体坐标系的x轴平行,所以局部坐标系x轴的矢量方向为(1 0 0)。根据局部坐标系x轴方向,故有如下设置:
梁250*500,整体坐标下x轴向尺寸为0.5;整体坐标下y轴向尺寸为0.25;
柱300*400,整体坐标下x轴向尺寸为0.4;整体坐标下y轴向尺寸为0.30。
12 关于sweep
对nodes,elements等均进行扫描,同时要删除unused nodes。
14 Excel中关于绝对引用
Z$10为绝对引用,就是在你拉公式时,不论直拉或横拉,都把第10行给固定住,就像你不固定$10时,你向下拉时会变成Z11、Z12、Z13....固定住以后,就都是Z10了,同理也可以设置成$Z$10,这样的话,不论你怎么拉都会是Z10这个单元格。
15 收敛准则
单选残余应力residuals的收敛效果不好时,可选用残余应力+位移,即“residuals and displacement”双重标准来控制。
参数指标选0.01即可满足精度要求。
16 加载PROC文件
UTILS_PROCEDURES_LOAD_START/CONT
注意“CREATE”为创建
17 生成“matcode.txt”文件
UTILS_MRAC INPUT FILE_WRITE
18 纤维梁轴线偏移
19 关于框架梁建模的讨论
纤维梁模型:优点非线性能力强,缺点自己不能开发。
分层壳模型:优点建模简单,缺点非线性能力差。
20关于分层壳中竖向、水平向配筋率不同的建模
若配筋率相同,则按一层钢板,各向同性建模考虑‘
若配筋率不同,则按二层钢板,一竖向,一横向,各向异性建模考虑,同时材料属性仅输入材料受力向,而对于其它2个方向简单的输入很小的数值即可。
21 Mrac无法连接计算原因
因为文件名和文件夹中存在Mrac无法识别的字符,例如:中文、空格。
名字太长也不行。
22 分层壳的划分数量
按奇数划分,这样数值计算的积分点将落在每一层上,有利于计算结果精度。
23 Marc批处理程序应用
可一次性对不同工况下的JOB文件进行批量计算,例如:IDA分析。具体步骤如下:
(1)Marc程序中建立某计算工况,在Run中选择“ADVANCED JOB SUBMISSION→WRITE INPUT FILE”生成例如:“wall_4_200_grortcore_push.dat”文件。
(2)在批处理程序中编辑下列语句:
例1:
F:\marc\Marwan-wall **注释:需进行批处理运算文件所在的文件夹
call run_marc -job wall_4_200_push.dat -b no **注释:调用各工况名称
call run_marc -job wall_4_200_grortcore_push.dat -b no
例2:
run_marc -prog TECS_02_Z15_KOBE_N_3.0 -job z15_half_brace_0103_Collapse -np 12 -b no
np 12 表示利用12核的并行计算,一般家用电脑不考虑。
注意:批处理文件除确定执行外,千万不要双击打开,否则将导致大量计算运行。编辑时一定是右键选择“编辑”。
24 影响Marc分层壳计算收敛性影响因素
(1)越接近截面中心的材料影响越大,特别是下降段。
(2)单元大小,不宜太小。
25 有限元分析结果与试验结果误差分析及解决方案
(1)初始刚度偏大
调整:材料的弹性模量
(2)初始屈服点偏高
调整:钢筋及灌芯混凝土峰值强度。
26 骨架曲线数值模拟误差分析
钢筋混凝土剪力墙骨架曲线的上升段(屈服点之前)取决于混凝土的本构;下降段则取决于钢筋的本构;滞回曲线的饱满及滑移程度取决于钢筋本构。
27 往复试验数值模拟的收敛问题
这个没有固定的方法,一般都是自己慢慢调整。比如收敛准则用成力和位移两个控制;修改材料本构,然后把那个压碎应变设置成很大。或者把那个强制收敛打开。
28 Marc程序计算收敛性讨论
(1)Any material model in which the tangent stiffness is zero or negative will often cause convergence problems。
翻译:材料模型切线刚度为0或小于0,将经常导致程序不收敛。
所以,实际操作中往往将材料模型切线刚度为0的模型近似处理为向上一点,使得K为一个较小的正数。
29 Marc程序划分单元大小对计算结果的影响
以下图为例,大单元(200)收敛性好,但计算结果明显低于小单元(100);小单元(100)与之相反。
30 TECS 程序使用注意
(1)改程序仅适用于Beam52号单元,对98号单元不适用。
(2)运行marc时,应对其生成的debug.txt进行检查,检查内容包括:a. 纤维梁单元设置是否正确;b. 单元生死判别,此处可自行编辑,即增加输出行“write ”。
31 TECS 子程序错误
错误1:
tecs_01_m.exe 0105DDCD Unknown Unknown Unknown
tecs_01_m.exe 0046ED6D Unknown Unknown Unknown
tecs_01_m.exe 00420967 Unknown Unknown Unknown
tecs_01_m.exe 004145EB Unknown Unknown Unknown
tecs_01_m.exe 00401030 Unknown Unknown Unknown
tecs_01_m.exe 013405E3 Unknown Unknown Unknown
tecs_01_m.exe 0131980F Unknown Unknown Unknown
kernel32.dll 7C81776F Unknown Unknown Unknown
以上错误表示为纤维梁数值数量不够造成,需要修改程序中20000:
type(Typ_RC_Rect01 ):: Column_Mat(200) ! 存放代表性单元截面信息
type(Typ_RC_Rect01 ):: Column0(2 0000,3) ! 数组。存放所有的单元
type(Typ_RC_Rect01 ):: Column1(size(Column0,1),size(Column0,2))
integer :: inf(2 0000) , flag0
错误2:
Image PC Routine Line Source
marc_fiber_exampl 01605C6A Unknown Unknown Unknown
marc_fiber_exampl 01602E58 Unknown Unknown Unknown
marc_fiber_exampl 015B3130 Unknown Unknown Unknown
marc_fiber_exampl 015B2304 Unknown Unknown Unknown
marc_fiber_exampl 015843F4 Unknown Unknown Unknown
marc_fiber_exampl 0040685F Unknown Unknown Unknown
marc_fiber_exampl 0040661D Unknown Unknown Unknown
marc_fiber_exampl 0040AE7D Unknown Unknown Unknown
marc_fiber_exampl 00401032 Unknown Unknown Unknown
marc_fiber_exampl 0185E193 Unknown Unknown Unknown
marc_fiber_exampl 015E0FA2 Unknown Unknown Unknown
kernel32.dll 7C81776F Unknown Unknown Unknown
matcode文件格式不对,和matcode不对应,一般这个问题都是由于matcode中那个注释行引起的。
错误3:
memory request of 151614064 words failed
warning - memory allocation failed for element group 7
elsto option is turned on
内存问题,单元数组开太大了,电脑的内存不够。
修改子程序:
type(Typ_RC_Rect01 ):: Column_Mat(200) ! 存放代表性单元截面信息
type(Typ_RC_Rect01 ):: Column0(2 0000,3) ! 数组。存放所有的单元
type(Typ_RC_Rect01 ):: Column1(size(Column0,1),size(Column0,2))
integer :: inf(2 0000) , flag0
心得:对于使用纤维单元的模型,应根据模型情况适当选择单元数组数量,因为少了,程序无法运行,多了则占用过多的内存。
32 纤维梁模型中,几何属性与材料属性是否一定要一一对应?
比如:同为同尺寸的框架柱。几何属性由于存在偏心,分成3种柱;而材料属性则按一种柱子即可。这样可以吗?还是材料属性也按几何属性来,同样划分为3种柱子。
卢啸 19:36:40
不用对应,不过在定义材料属性时,里面的纤维梁要放在最前面,不能被其它材料隔开。
33阻尼对时程分析收敛性的影响
基本没有影响。不过动力分析时候的收敛性要好于静力分析
34关于单元划分
清华蒋庆 16:17:18
你的网格划分的太大了,你楼板可以用一个大的膜单元,不考虑楼板对梁的贡献
清华蒋庆 16:17:36
网格太密了
阿荣 16:17:51
那节点耦合不考虑了
清华蒋庆 16:18:20
膜单元就是传力的,没有平面外刚度
清华蒋庆 16:18:42
但你都建成这样了,买个好一点的台机吧
阿荣 16:19:48
你之前说墙就是1~2个单元 可是我在建模的时候,考虑节点耦合 墙片划分不少单元
阿荣 16:20:06
你看看怎么改进 改少一点
清华蒋庆 16:20:22
墙1-2个不行,有点少
清华蒋庆 16:20:44
我都画成4-5个
清华蒋庆 16:20:51
在Z方向上
阿荣 16:20:59
那你看看我的模型中单元划分可以吗
清华蒋庆 16:21:01
就是因为那连梁
阿荣 16:21:35
对 还有洞口问题
清华蒋庆 16:21:52
你楼板用的是分层壳还是桥?
阿荣 16:22:08
壳
阿荣 16:22:17
普通的壳
清华蒋庆 16:22:15
[自动回复]您好,我现在有事不在,一会再和您联系。
阿荣 16:22:43
回到前面你说的 楼板 用的膜单元 就一个吗?
清华蒋庆 16:22:41
[自动回复]您好,我现在有事不在,一会再和您联系。
清华蒋庆 16:23:00
一跨一个
清华蒋庆 16:23:42
这样确实能省一点,你的楼板数量最多
阿荣 16:23:58
一个单元 4个节点 不去考虑和周边墙 梁的耦合啦
清华蒋庆 16:24:33
剪力墙Z方法向7个也很多
阿荣 16:25:28
一个单元 4个节点 不去考虑和周边墙 梁的耦合啦
如果是这样的话 省了不少
清华蒋庆 16:25:26
[自动回复]您好,我现在有事不在,一会再和您联系。
清华蒋庆 16:26:13
膜单元不能耦合,只要有一个节点没和其他连,就自由了
清华蒋庆 16:26:26
还有你的单元是很多啊
阿荣 16:27:25
我也不想的 可但是划分的时候 以考虑到各节点要相互耦合 就划分成这样了
清华蒋庆 16:27:25
要是我Z方向一般5个就搞定,X、Y方向也不会搞那么多,因为超高层要是划成你这样实在算不起
阿荣 16:28:34
你的高层模型能不能截取一个中间层的给我看看
清华蒋庆 16:28:38
你可以把墙一开始一分为2,然后把节点移到与连梁重合处,再把地下的划成3个,上面的分成2个,我说的是、都是Z方向
清华蒋庆 16:30:12
清华蒋庆 16:30:23
我这个是特意考虑楼板的
阿荣 16:32:53
楼板局部节点没有耦合 没问题的
阿荣 16:33:18
只是这个区域力不发生传递 对楼板影响不大
清华蒋庆 16:33:21
都是乔,没啥问题
阿荣 16:34:09
我就是被耦合给害了
这样建模就简单多了
清华蒋庆 16:35:22
呵呵,但不能太多不耦合,要隔几个就要耦合在一起,要是truss、膜就都得耦合
阿荣 16:36:00
收到
清华蒋庆 16:36:36
你算得结果咋样?是不是也是对的了?
阿荣 16:36:42
你那一下就搞定了 我现在还没算出来个模态
阿荣 16:48:10
和你算得一样
清华蒋庆 16:48:25
呵呵,那就ok了
阿荣 16:48:43
那模型应该没有问题吧?
清华蒋庆 16:49:10
你还要比一下自重
阿荣 16:49:31
?
阿荣 16:49:54
是不是相似比 配重
清华蒋庆 16:50:06
基地重力是不是和试验相同
阿荣 17:23:57
你说的mpi就是marc安装文件中的mpich吧?
我安装了可还是无法启动多核并行计算
是不是要进行配置什么的?
卢啸 17:53:43
是那个文件。好像还要安装一个Microsoft computer cluster pack的东西
阿荣 17:53:47
高层模型检查步骤:
(1)结构模型质量是否和原型相等;
(2)单推检查结构弹性刚度是否和试验一致;
清华蒋庆 17:54:28
单推看刚度退化是否合理
阿荣 17:55:22
刚度退化是否合理?
清华蒋庆 17:55:40
就像你看一片墙一样
阿荣 17:55:50
就是我们常规的理解 明白
34关于高层建模原则
单元划分不宜过细,长宽比不宜大于3;平面楼板可按弹性考虑,不考虑平面刚度(按膜单元),可不考虑全耦合。
35高层模型检查
(1)质量:确认全部质量施加到位,特别是楼板质量不能缺。注意,在时程分析中,质量不正确,将直接导致严重影响计算结果的正确性。
(2)振型:特别是前三阶振型的计算结果。
(3)刚度:单推检查结构刚度是否有异常,结合振型结果,可快速的实现对模型是否正确进行初步判断。
38单元奇异值过大
(1)进行sweep和renumber操作
(2)检查模型的节点坐标是否准确,小数点位数过多也是原因
(3)节点不重合,且靠的很近。
39 python程序正常运行设置
将C:\MSC.Software\Marc\2007r1\mentat2007r1\shlib下的py_mentat.pyd和py_post.pyd拷贝到C:\Python25\Lib目录下。
40 Exit number 13
错误原因:复合材料各层相加不等于100%。
查找办法:搜索*.out文件中的error就能看到。
40 镜像操作
在DUPLICATE中以坐标控制,例如下图输入:
28为镜像单元宽度的2倍
41 清华子程序中壳单元生死判定
TECS_01_M.for中
if(EPSmin<-0.005 ) CompressionFailure=1
if(EPSmax> 0.15 ) TensionFailure=1
if(CompressionFailure>0 .or. TensionFailure>0) then !Kill the element
MODE=-1;
end if
42 关于ARC LENGTH加载方式
该方法无论收敛速度和计算效果明显优于CONSTANT TIME STEP,可是该方法不能很好的适用于循环荷载。
42 Exit number 2011
提示为子程序格式不对
43 TECS_01_M.for子程序调用壳单元生死流程
subroutine plotv下通过jpltcd==1(即输出结果存在User define 1#)
call Get_Active_Status(m(1))
subroutine Get_Active_Status(ElemNo)
call shell_uactive(ElemNo, MODE,EPSMax)
SUBROUTINE shell_UACTIVE(ElemNo,MODE,EPSMax) MODE=-1 确定生死。
展开阅读全文