简体   繁体   English

Abaqus:Inputfile或Python脚本中的参数几何/装配?

[英]Abaqus: parametric geometry/assembly in Inputfile or Python script?

i want to do something as a parametric study in Abaqus, where the parameter i am changing is a part of the assembly/geometry. 我想在Abaqus中进行参数研究,因为我要更改的参数是装配体/几何的一部分。 Imagine the following: 想象以下情况:

A cube is hanging on 8 ropes. 一个多维数据集挂在8条绳索上。 Each two of the 8 ropes line up in one corner of a room. 8条绳索中的每两条在一个房间的一角对齐。 the other ends of the ropes merge with the room diagonal of the cube. 绳索的另一端与立方体的房间对角线合并。 It's something like a cable-driven parallel robot/rope robot. 这有点像电缆驱动的并行机器人/绳索机器人。

Now, i want to calculate the forces in the ropes in different positions of the cube, while only 7 of the 8 ropes are actually used. 现在,我要计算立方体中不同位置的绳索中的力,而实际上仅使用了8条绳索中的7条。 That means i have 8 simulations for each position of my cube. 这意味着我对立方体的每个位置都有8个模拟。

I wrote a matlab script to generate the nodes and wires of the cube in different positions and angle of rotations so i can copy them into an input file for Abaqus. 我编写了一个matlab脚本来生成处于不同位置和旋转角度的多维数据集的节点和导线,以便可以将它们复制到Abaqus的输入文件中。

Since I'm new to Abaqus scripting etc, i wonder which is the best way to make this work. 由于我是Abaqus脚本编写等的新手,所以我想知道哪种方法最有效。

would you guys generate 8 input files for one position of the cube and calculate them manually or is there a way to let abaqus somehow iterate different assemblys? 你们会为多维数据集的一个位置生成8个输入文件并手动计算它们吗,还是有一种方法让abaqus以某种方式迭代不同的程序集?

I guess i should wright a python script, but i don't know how to make the ropes the parameter that is changing. 我想我应该编写一个python脚本,但是我不知道如何使绳索成为不断变化的参数。

Any help is appreciated! 任何帮助表示赞赏! Thanks, Tobi 谢谢托比

In case someon is interested, i was able to do it the following way: 如果有人对它感兴趣,我可以通过以下方式做到这一点:

I created a model in abaqus till the point, i could have started the job. 我在abaqus中创建了一个模型,直到可以开始工作为止。 Then i took the .jnl file (which is created automaticaly by abaqus) and saved it as a .py file. 然后,我将.jnl文件(由abaqus自动创建)保存为.py文件。 Then i modified this script by defining every single point as a variable and every wire for the parts as tuples, consisting out of the variables. 然后,我通过将每个点定义为变量并将零件的每条导线定义为由变量组成的元组来修改此脚本。 Than i made for loops and for every 9 cases unique wire definitions, which i called during the loop. 比起循环而言,我每9个案例就有一个独特的接线定义,我在循环中调用了该定义。 During the loop also the constraints were changed and the job were started. 在循环过程中,约束条件也发生了变化,作业开始了。 I also made a field output request for the endnodes of the ropes (representing motors) for there coordinates and reaction force (the same nodes are the bc pinned) 我还对绳索的末端节点(代表电动机)发出了现场输出请求,以获取坐标和反作用力(相同的节点固定在bc上)

Then i saved the fieldoutput in a certain simple txt file which i was able to analyse via matlab. 然后,我将fieldoutput保存在某个简单的txt文件中,该文件可以通过matlab进行分析。

Then i wrote a matlab script which created the points, attached them to the python script, copied it to a unique directory and even started the job. 然后,我编写了一个matlab脚本,该脚本创建了点,将其附加到python脚本,将其复制到唯一的目录,甚至开始了工作。

This way, i was able to do geometric parametric studies in abaqus using matlab and python. 这样,我能够使用matlab和python在abaqus中进行几何参数研究。

Code will be uploaded soon 代码即将上载

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM