找回密码
 注册
Simdroid-非首页
查看: 1094|回复: 21

热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

[复制链接]
发表于 2006-3-16 10:00:11 | 显示全部楼层 |阅读模式 来自 湖北武汉
大家知道在Ansys中有个命令:MPCHG(改变所指定单元的材料参考号),但是只允许材料属性在线性之间改变,另外,Ansys中的多载荷步之间(LSSolve)不能捕捉材料属性的改变。
问题:1.能否在Ansys中实现材料属性间非线性的改变;
2.能否在Ansys多载荷步间捕捉材料属性的改变;

我主要从事温度场的有限元方针,现在遇到的问题是,进行瞬态分析过程中,需要改变模型的材料属性(KXX,C等),但是,不改变模型的几何形状,以及单元划分。
1.在不改变材料属性的情况下,本人使用多载荷步分件法,解决载荷随时间、位置改变的问题,
2.当考虑材料属性改变,本人遇到上述问题,请教各位大虾给予帮助,谢谢!

本人主要从事选择性激光烧结过程有限元分析,使用Ansys的APDL进行模拟仿真,主要解决烧结过程中温度场的分布、瞬时应力场、残余应力场、变形等问题,如有同行,请联系,华中科技大学机械制造及其自动化,QQ:394646034,Mark,ma_liang1978@126.com。

评分

1

查看全部评分

发表于 2006-3-16 10:13:14 | 显示全部楼层 来自 上海

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

Simdroid开发平台
可以设定材料属性随时间或者其它因素改变的非线性属性
 楼主| 发表于 2006-3-16 15:15:25 | 显示全部楼层 来自 湖北武汉

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

在求解多步载荷时,载荷步之间是无法扑捉材料属性(KXX,C)等的改变的,我在进行激光加工仿真时,每一个载荷步结束后,有些单元的材料属性发生了较大变化(由于激光加热导致),在进行下一个载荷步计算时,必须要改变材料属性,这样就不能使用载荷步文件法了,请问各位有什么办法吗?
目前我忽略认为材料属性没有发生改变,可以用载荷步文件法解决,但是进一步考虑材料属性改变,该怎么办呢??

1.我尝试用物理文件法(Physics命令)
材料属性、几何模型,单元划分等等,保存为物理文件01.ph1

开始循环
       读取物理文件01.ph1
       根据上一步温度场信息修改物理文件
       保存,覆盖物理文件01.ph1
       LSREAD上一步结果作为本载荷步的初试温度场
       加载第N步,的载荷
       求解solve
       后处理,判断下一步那些单元属性需要修改
循环结束判断

我经过测试,发现进行新的载荷步求解将覆盖前一步的结果文件,即中间过程看不到;并且LSREAD好像也有问题。唉!没招了,那位大虾有Ansys正版,帮忙问一下!
发表于 2006-3-17 02:03:15 | 显示全部楼层 来自 美国

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

Ma_liang1978, just share some expreience of mine:

I simulate the phase change process in the rewiritable CD disk during optical recording using both ANSYS and Matlab at the same time.

The loop in ANSYS looks like:

*Do,tm, start_time, end_time, time_step

   1.solve current time = tm
   2.read temperature distribution and save it into a text file.
   3.Matlab read the file and based on the temperature, determine which material it will use for next step.
   4. In matlab loop, continuously write " MPCHG" into a text file named "CHP.mac"
   5. Matlab finish comparison, and save the "CHP.mac"
   6. call CHP.mac

*Enddo

评分

1

查看全部评分

发表于 2006-3-17 09:16:35 | 显示全部楼层 来自 湖南长沙

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

怎么设定材料属性随温度或者其它因素改变的非线性属性 ?
 楼主| 发表于 2006-3-17 10:38:40 | 显示全部楼层 来自 湖北武汉

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

首先,谢谢iomega的热情帮助。
今天问了一个高手,他说,可以在Ansys中重定向输出文件,这样就不用自己编写保存、恢复程序了。好像是/Output命令。

请问iomega朋友:你是在Ansys中调用Matlab程序吗??
我做的程序每一步只有0.002S,可能要循环几百个载荷步长,如果不能实现自动化循环,对我来说就比较困难了。

我想了两种办法:1.PGR File法;2.Resume法,正在测试中。有兴趣请QQ联系:394646034,Mark
发表于 2006-3-17 11:58:05 | 显示全部楼层 来自 美国

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

In my simulation, my step size is 2ns and the domian size is order of several microns.

Strictly speaking, I didn't call matlab in ANSYS -> Ansys and Matlab are running parallelly. I use a flag.mac between two programs for communication.
During ANSYS running, it set flag = 0, once it finishs current step, it set flag = 1, and then wait until flag =0 (set by Matlab) again for next step.

while in Matlab there is a while loop monitoring the value of flag. It doesn't go to next sentence until flag = 1 (set by ANSYS). Once it finish current step, it set flag = 0 , tell ANSYS to do next step.

The reason why I use matlab instead of APDL in ANSYS is that the speed of ANSYS APDL is so slow, especially on array operation.  

Of course, you can use whatever language sush as C. You can make you C program a exe file and during the ANSYS running, call it using /SYS command.
发表于 2006-3-18 10:54:13 | 显示全部楼层 来自 陕西西安

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

期待聆听高手的继续探讨,菜鸟受益匪浅
发表于 2006-3-18 11:11:45 | 显示全部楼层 来自 陕西西安

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

期待聆听高手的继续探讨,菜鸟受益匪浅
发表于 2006-3-18 20:53:53 | 显示全部楼层 来自 辽宁抚顺

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

这个帖子提出的内容很很好,有发挥空间。针对搂主的意思,iomega提出可以在其他程序中解决属性的改变,然后ANSYS与该程序写出的文件通信,估计可以,但是可能比较烦。我想可以利用ANSYS的重启动分析功能在ANSYS中解决,我想是可行的。下面是大致的思路,各位网友看看,可否实现?

建模
/solu
!输出RESTART文件
RESCONTRL,……
D,……
FINI
SAVE
!分步加载
*DO,I,1,NSTEP
FINISH
/SOLU
!使用重启动功能
*IF,I,GT,1,THEN
ANTYPE,,REST,
PARRES, CHANGE , JOBNAME, TXT
*ENDIF
!判断条件,依据问题的需要,根据观察物理量设置新的材料属性
*IF,……
MP,……  !不用MPCHG
*ENDIF
!新的载荷
……
SOLVE
FINI
/POST1
!得到本载荷步中计算出的观察物理量
*GET……
PARSAV,……  !写入文件
FINI
*ENDDO

评分

1

查看全部评分

发表于 2006-3-19 02:39:35 | 显示全部楼层 来自 美国

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

To xbzhang:
我的程序结构和你的非常类似,呵呵。
只不过用Matlab来代替:
  !判断条件,依据问题的需要,根据观察物理量设置新的材料属性
  *IF,……
  MP,…… !不用MPCHG
  *ENDIF

用外部程序的原因是对于特定问题,往往要遍历整个结构中的所有element,根据element的结果来判断是否要改变其属性和加载的载荷。

遍历整个结构中的所有element上的结果,用APDL的循环语句是出奇的满!!!而且从element结果来判断是否要改变其属性有时要用到非常复杂的物理模型,往往用简单的APDL语句无法实现,或速度级慢。所以只能用外部程序来处理。

所以,对于“ !判断条件,依据问题的需要,根据观察物理量设置新的材料属性”这一行,如果判断简单,则可以用APDL实现, 否则只能调用外部程序了。而象MP, MPCHG,BE等语句可以在外部程序中构造并写到.mac文件中,随后让ANSYS执行。

ANSYS执行一个有10万行MPCHG的mac文件(由matlab生成)只需两三秒。
 楼主| 发表于 2006-3-19 08:42:43 | 显示全部楼层 来自 湖北武汉

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

首先,谢谢xbzhang和iomega朋友的真诚帮助。
我测试了使用ansys提供的GPR文件,但是好像有问题,我是这样做的:
!建模、定义材料、划分网格等(前处理)
!0参数定义
!1定义单元类型
!2实常数
!3材料性能
!4几何模型
!5网格划分控制
!6其他

!保存当前环境
ALLSEL,ALL  
PHYSICS,WRITE,'SLS thermal analysis for Porcelain','ChaMatPer01','ph1',  
FINISH

*DO,...
!1.
FINISH
/SOLU
PHYSICS,READ,'SLS thermal analysis for Porcelain','ChaMatPer01','ph1',
!2.
根据前一步的计算结果,改变当前步的材料属性
!3
PHYSICS,WRITE,'SLS thermal analysis for Porcelain','ChaMatPer01','ph1',  
!4
分析类型、边界条件、等等
SOLVE
!5
/POST1
后处理,判断那些单元属性要改变,输出到文件或数组中,为上述第2步提供依据
*ENDDO

!******************************************************************!
目前我在查找原因,可能是Physics,read...这个恢复数据库有点问题,我将进一步调试;另外再次感谢xbzhang和iomega朋友提供的方法,我将对两位朋友的方法进行测试,谢谢!

如果,有那位朋友路过的话,可以针对Ansys仿真过程中,材料属性改变这一主题,提出自己的想法,谢谢大家!

                                                                               Mark 2006 03 19
 楼主| 发表于 2006-3-19 14:30:24 | 显示全部楼层 来自 山西晋城

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

今天有测试了一个方法,供大家参考:

1.建模、单元、划分网格等
SAVE 生成Jobname.db

2.循环
*DO
1.RESUME

2.根据上一步结果文件,改变单元材料属性

3.SAVE Jobname.db

4.施加这一步的边界条件,分析类型等

5.求解Solve

6.根据结果文件Jobname.rth,分析得到下一步那些单元需要改变,记录在文件中

*ENDDO
!*****************************************************************!

经本人测试,RESUME命令不会从循环中跳出来!
发表于 2006-3-19 15:36:49 | 显示全部楼层 来自 上海

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

好,大家讨论比较热烈,加分!
 楼主| 发表于 2006-3-20 20:19:23 | 显示全部楼层 来自 湖北武汉

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

今天测试通过了采用Save-Resume方法,更改材料属性、实常数的APDL流程,当然也可以采用xbzhang的方法-重启动,此方法正在调试中,下面是S-R方法(Save-Resume)。

FINISH
/CLEAR,START
/BATCH  
/CWD,'E:\Program\Ansys\SLS SLM FE Simulation for Metals\change material performance'
/FILNAME,MatChaTest_db,0
/TITLE,Change material performance Test db Method
!选择分析问题的类型:热
/NOPR   
/PMETH,OFF,0
KEYW,PR_SET,1   
KEYW,PR_STRUC,0
KEYW,PR_THERM,1
KEYW,PR_FLUID,0
KEYW,PR_ELMAG,0
KEYW,MAGNOD,0   
KEYW,MAGEDG,0   
KEYW,MAGHFE,0   
KEYW,MAGELC,0   
KEYW,PR_MULTI,0
KEYW,PR_CFD,0   
/GO
/UNITS,SI      !Standard Units
!*************************************************************************************************!
!开始,进入前处理器,定义下列属性-
!0参数定义
!1定义单元类型
!2实常数
!3材料性能
!4几何模型
!5网格划分控制
!6其他
!*************************************************************************************************!
/PREP7
!0参数定义
!模型参数
!几何模型尺寸me-3=mm
*SET,Block_x,10e-3    
*SET,Block_y,10e-3
*SET,Block_z,2e-3
!划分网格的大小
*SET,LMeshx,2e-3    
*SET,LMeshy,2e-3
*SET,LMeshz,2e-3
!边界条件参数
*SET,Tinit,300        !初始温度
!1定义单元类型
ET,1,SOLID70
!2实常数
!Nothing
!3材料性能
MP,KXX,1,50
MP,C,1,400
MP,DENS,1,7800
!4几何模型
BLOCK,0,Block_x,0,Block_y,0,Block_z,
!5网格划分控制
ESIZE,2e-3,
ALLSEL,ALL
MSHAPE,0,3D
MSHKEY,1
VMESH,ALL
!6其他
!Nothing
!************************************************!
!保存当前环境
!************************************************!
ALLSEL,ALL  
SAVE
FINISH
!*************************************************************************************************!
!开始,进入处理器,定义下列属性-
!1对流换热
!2模拟激光加热(指定热流密度),移动策略(根据扫描方式确定)
!*************************************************************************************************!
!循环中要用到的参数
*SET,INITLOCA_X,2        !激光起始位置
*SET,INITLOCA_Y,2
*SET,DELTTIME,1          !时间步长
*SET,NSTEP,1
*SET,FLAG,1
!*************************************************************************************************!
!进入主循环
*DO,Y,1,1
  *DO,X,1,10
    
    !保存参数
   &nbspARSAV,ALL,,,
    !重新加载模型
    FINISH
    RESUME
    !恢复参数
    PARRES,CHANGE,,,
    
    !修改单元属性,并保存当前数据库db
    /PREP7
    *IF,NSTEP,GT,1,THEN
      
    *ENDIF
    SAVE
    
    !设定当前步骤激光热流密度、对流换热等边界条件
    /SOLU
    !分析类型
    ANTYPE,4
    TRNOPT,FULL
    LUMPM,0
    !定义载荷步选项
    Time,DELTTIME
    AUTOTS,1
    DELTIM,DELTTIME/10,,,1
    KBC,0
    OUTPR,ALL,LAST
    OUTRES,ALL,LAST
    !给定模型初始条件
    *IF,NSTEP,GT,1,THEN
      !读上一步的结果,作为本载荷步的初始条件
      LDREAD,TEMP,LAST,,,2,MatChaTest_db,RTH,
    *ELSE
      !指定均匀的初始温度场
      TUNIF,Tinit,
    *ENDIF
    !定义节点温度
    *IF,NSTEP,GT,1,THEN
    
    *ELSE
      NSEL,S,LOC,Z,Block_z
      NSEL,R,LOC,X,(INITLOCA_X-1)*LMeshx,INITLOCA_X*LMeshx
      NSEL,R,LOC,Y,(INITLOCA_Y-1)*LMeshy,INITLOCA_Y*LMeshy
      D,ALL,TEMP,500
    *ENDIF

    !X方向前进一步
    INITLOCA_X = INITLOCA_X + FLAG
    NSTEP = NSTEP + 1                !载荷步加一
    !求解当前模型,输出当前时间的温度场的解
    ALLSEL,ALL
    LSWRITE,NSTEP-1
    SOLVE
    !输出当前温度场的解
    
    !根据结果文件,分析下一步那些单元需要更改材料属性,记录单元号
    !判断条件:单元的平均温度>Tf(材料成形温度)
    /POST1
  *ENDDO
  !Y方向前进一步
  FLAG = FLAG*(-1)
  INITLOCA_X = INITLOCA_X + Flag
  INITLOCA_Y = INITLOCA_Y + 1
*ENDDO
发表于 2006-3-22 08:40:08 | 显示全部楼层 来自 陕西西安

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

这种类似的问题我也正在遇到,关于KXX,C随每一时间步长而改变,请教高手怎麽样读出每一时间步的结果
 楼主| 发表于 2006-3-22 09:25:33 | 显示全部楼层 来自 湖北武汉

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

一般来说,每解出一个载荷步下的结果,就需要将此结果保存,一般需要自己编程,给你三种办法参考:
1.数组法。你可以将每一步Solve后的结果输出到提前定义的数组中。例如你打算计算NSTEP步,模型结点数为NODEMAX,:

*DIM,RESULT,NODEMAX,NSTEP
*DO,I,1,NSTEP
!定义载荷、载荷步选项等
!求解
!输出结果到数组中(*VGET命令)
*ENDDO
!输出数组
使用:*VWRITE OR *MWRITE 命令

2.自定义文件法。可以在每次求解结束后输出结果到文件中。
例如,对于温度场的求解,就是:
Node         Temp
1               235
2               456
3               568
..............

3.PGR方法,可以参考Ansys Help。
此方法允许将每一步求解结果以追加方式输出到*.PGR文件中,最重要的是可以使用RESULT VIEW 工具进行图形查看,具有较好的后处理能力。(推荐)
发表于 2006-3-27 19:52:08 | 显示全部楼层 来自 陕西西安

Re:热分析中材料属性改变的问题,多载荷不,载荷随时间、位置改变(APDL)?

请教:材料的传热系数是温度压力和位置的函数,在最初定义材料属性时,是否应对其设初值?
如果已定义一个表格数组,在后面的分析中可否直接将其作为已知数据使用?例*dim,a,table,4,1,,time,temp
           a(1)=20,30,40,50
           a(1,0)=0,2,3,4
         
           b=c*a(0.5,1)
发表于 2006-5-2 16:32:32 | 显示全部楼层 来自 西安交通大学
材料属性改变,用MP命令时会提示如下警告:
*** WARNING ***                         CP=    282.416   TIME= 14:25:31
Changing material properties (MP commands) between load steps is a      
non-standard use of the program.
是不是我的MP命令用错了?
请问各位大侠,怎么使用的?
发表于 2007-3-14 11:23:44 | 显示全部楼层 来自 安徽合肥
非常感谢几位的讨论,让我茅塞顿开,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-20 15:34 , Processed in 0.086460 second(s), 19 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表