Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以使用Abaqus 6.14中的Python脚本仅从内部/外部网格面创建曲面?_Python_Plugins_Simulation_Abaqus - Fatal编程技术网

是否可以使用Abaqus 6.14中的Python脚本仅从内部/外部网格面创建曲面?

是否可以使用Abaqus 6.14中的Python脚本仅从内部/外部网格面创建曲面?,python,plugins,simulation,abaqus,Python,Plugins,Simulation,Abaqus,我正在开发Abaqus 6.14插件,该插件旨在尽可能多地自动化数值模型准备中的重复工作,因为运行几十个类似的模拟是我工程师论文的一部分。我尝试自动化的另一个步骤是分别从零件网格的内部和外部面在多个零件上创建曲面。我需要这样做的原因是,在模拟过程中,由于材质故障,某些图元被删除。为防止对象重叠,需要在内部曲面上设置碰撞。我不能简单地选择所有网格面,这相对容易实现,因为内部面必须选择不同的边 如果手动选择面,则用户可以确定是仅选择外部面、仅选择内部面,还是同时选择两者-但是,似乎没有提供允许使用P

我正在开发Abaqus 6.14插件,该插件旨在尽可能多地自动化数值模型准备中的重复工作,因为运行几十个类似的模拟是我工程师论文的一部分。我尝试自动化的另一个步骤是分别从零件网格的内部和外部面在多个零件上创建曲面。我需要这样做的原因是,在模拟过程中,由于材质故障,某些图元被删除。为防止对象重叠,需要在内部曲面上设置碰撞。我不能简单地选择所有网格面,这相对容易实现,因为内部面必须选择不同的边

如果手动选择面,则用户可以确定是仅选择外部面、仅选择内部面,还是同时选择两者-但是,似乎没有提供允许使用Python脚本实现此结果的方法

我还尝试分析Abaqus.rpy和日志文件,但根据会话设置,它们都包括根据掩码或人脸索引进行的人脸选择,这在我的情况下是无用的,特别是当我需要使用由数十万个元素组成的网格以及不规则形状的零件来运行此类模拟时

我尝试的另一种方法是反编译Abaqus CAE的*.pyc文件,并尝试确定哪些内部方法负责过滤面或在GUI中设置此类过滤器,尽管没有成功


我的问题是:是否有任何方法可以使用Python脚本创建此类曲面,这些脚本将独立于零件几何图形、元素类型、网格元素编号、网格技术等?

您是否在预处理期间预定义了潜在失效曲面,或者您也将此数据用作分析子例程的输入?接触面(外部和内部)在预处理期间预定义,以后不会更改。基本上,每个零件都有两个接触面:内部和外部网格面,所有零件的所有集合之间的接触设置为接触对。之所以这样做,是因为这是它对已经创建的模型起作用的唯一方法(尽管完全是手动的)——其他方法在第一个元素失败后会导致重叠,这当然会导致严重的错误。我不确定是否理解您的问题。你不想区分外表面上的面和模型内部的面吗?大致如此,但我还需要再进一步。对于每个零件,我需要区分外部/内部网格面,并使用它们创建两个单独的基于网格的曲面对象,以便设置交互。我想我可以尝试一下您的解决方案,以获得正确的MeshFace/MeshElement对象。然后,我将再次尝试用它们创建所需的曲面对象。问题是Abaqus要求程序员从MeshElementArray而不是MeshFaceArray创建曲面,这对我来说更直观,因为我可以简单地指定SIDE1和SIDE2网格面,就像几何体面一样。