extern "C" void umat_(双*stress,双*statev,双*ddsdde,双*sse,双*spd,双*scd,双*rpl,双* ddsdt,双*stran,双*dstran,双*time,双*dtime,双*temp,双*dtemp,双*predef,双*dpred, char *cmname, int *ndi, int *nshr, int *ntens, int *nstatv,双*props, int *nprops,双* cods,双*drot,双*pnewdt,双*celent,双*dfgrd0,双*dfgrd1, int *noel, int *npt,Int *layer, Int *kspt, Int *kstep, Int *kinc, short cmname_len)
评论
UMAT用C/ c++编写
你好
我确实有一些信息,但我找不到上传附件的按钮。
直接联系我
弗兰克
你好,
你好,
非常感谢您发来的文件!
特别是“答案ID 737.txt”非常有帮助,它帮助我解决了编译器参数的问题。
祝你周末愉快。
亲爱的教授,
亲爱的教授,
你能把文件也发给我吗?如果有子程序头的例子,会更有帮助。提前感谢!
倪
如何编译用C/ c++编写的UMAT ?
你好,
几年前,我也决定用c++编写我的Abaqus用户子程序。基本上,在c++代码中,函数必须被调用,例如:
extern "C" void umat_(双*stress,双*statev,双*ddsdde,双*sse,双*spd,双*scd,双*rpl,双* ddsdt,双*stran,双*dstran,双*time,双*dtime,双*temp,双*dtemp,双*predef,双*dpred, char *cmname, int *ndi, int *nshr, int *ntens, int *nstatv,双*props, int *nprops,双* cods,双*drot,双*pnewdt,双*celent,双*dfgrd0,双*dfgrd1, int *noel, int *npt,Int *layer, Int *kspt, Int *kstep, Int *kinc, short cmname_len)
然后,在linux下,我使用gcc和以下选项来编译c++代码:
gcc -c -O3 -fPIC - 0 ussub。o usub.cpp
在6.13之前,Abaqus被配置为与icc进行编译/链接,因此还必须修改abaqus_v6中的编译/链接指令。Env是为了使用gcc,但现在看来gcc是默认的编译器/链接器。但是请注意,如果您使用共享库,您仍然需要修改abaqus_v6.en中的链接指令。无论如何,最后你提供编译对象给abaqus:
用户= usub有限元分析。工作=工作阿
最后,对于新的开发,我现在使用fortran——这是大多数人使用的,因此它使协作和代码共享更加直接。不管怎样,我希望这对你有帮助。
马丁
谢谢分享
感谢分享在gcc下编译umat的解决方案。在未来,也许我也会转到fortran编程,现在我更喜欢c/c++,只是为了更熟悉一些。
对于win_64操作系统,我在ms visual studio下使用以下选项:
cl /c /nologo /W0 /MD /TP /EHsc /DNDEBUG /DWIN32 /DTP_IP /D_CONSOLE /DNTI /DFLT_LIC /DOL_DOC /D__LIB__ /DHKS_NT /DABQ_NTI_NET /DFAR= /D_WINDOWS /DABQ_WIN86_64 /O1 /I%I
请你分享一下
能否分享一下用c++编写UMAT的相关文档?
谢谢大家
你好,
你好,
linux下uel的定义和编译命令,请参见麝猫的评论。
在win os下,使用相同的声明,我也发布了编译器命令。
如果你想知道如何写uel,你可以在这里找到一些帮助:http://万博manbetx平台m.limpotrade.com/node/7576
Weijie
如何编译用C/ c++编写的UMAT ?
亲爱的每个人,
我刚刚清理了我的框架,用c++编写Abaqus用户子程序。它在GitHub上:https://github.com/maaaaaaaaaaaaaaaaaaaaaartin/AbaqusUsub.cpp.如果你觉得有用,请告诉我。
马丁
新地址为:https:/
新地址为:https://github.com/mgenet/AbaqusUsub.cpp
如何编译用C/ c++编写的UMAT ?
谢谢你,马丁。这正是我目前所需要的。
祝你过得愉快。