以下是一些常用的Python二次开发函数介绍,适用于Abaqus:
1. mdb.models 提供了对模型的创建、编辑和查看的方法。例如,可以使用以下代码创建一个名为“model-1”的模型:
```python
from abaqus import *
from abaqusConstants import *
myModel = mdb.Model(name='model-1')
```
2. mdb.parts 提供了对网格和几何体的创建、编辑和查看的方法。以下代码创建一个 Part 名为“Part-1”, 并用矩形创建一个截面:
```python
myPart = myModel.Part(name='Part-1', dimensionality=TWO_D_PLANAR, type=DEFORMABLE_BODY)
myPart.BaseShell(sketch=mySket)
```
3. mdb.assemblies 提供了对装配体的创建、编辑和查看的方法。以下代码创建一个 Assembly 名称为“Assembly-1”,并将“Part-1”添加到该Assembly中:
```python
myAssembly = myModel.rootAssembly
myInstance = myAssembly.Instance(name='Part-1-1', part=myPart)
```
4. job 提供了对作业的创建、编辑和查看的方法。以下代码创建一个名为“Job-1”的作业:
```python
myJob = mdb.Job(name='Job-1', model='model-1')
```
5. interaction 提供了与汇合流和非线性行为相关的方法。以下代码创建一个摩擦接触区域:
```python
myContactRegion = myInstance.Surface(side1Faces=region1,fixedRegion=None,name='Surf-1')
myInteractions = myModel.interactions
myInteraction = myInteractions.SurfaceToSurface(name='Int-1',createStepName='Initial',
master=myInstance.faces.findAt(((a/2.,0.0,-t/2.),)),slave=myContactRegion,
sliding=FINITE, friction=0.1, thickness=ON, interactionProperty='IntProp-1')
```
6. step 提供了对创建、编辑和输出步骤的方法。以下代码创建一个应用Tension扭矩的步骤:
```python
myModel.StaticStep(name='myStep', previous='Initial')
myModel.Temperature(displacementField=UNSET, name='Predefined Field-1',
createStepName='Initial', region=Region(cells=myPart.cells), fixed=OFF,
distributionType=UNIFORM, crossSectionDistribution=CONSTANT_THROUGH_THICKNESS,
magnitudes=(20.0, ))
```
其他函数:
7. mdb.sections 提供了有关截面属性的信息。以下代码定义一个名为“Section-1”的Shell截面:
```python
myMaterial = myModel.Material(name='Steel')
mySection = myModel.HomogeneousShellSection(name='Section-1', preIntegrate=OFF,
material='Steel', thicknessType=UNIFORM, thickness=0.015)
```
8. mdb.materials 提供了有关材料的信息。以下代码定义材料的材料模型:
```python
myMaterial = myModel.Material(name='Steel')
myMaterial.Elastic(table=((200000.0, .3), ))
```
9. mdb.loads 提供了有关负荷的信息。以下代码定义一个点力荷载:
```python
myModel.ConcentratedForce(name='Load-1', createStepName='Step-1',
region=myInstance.vertices.findAt((0, 0, 0)), cf1=-1000.0, cf2=0.0, cf3=0.0)
```
10. mdb.boundaryConditions 提供了有关边界条件的信息。以下代码定义一个固定边界条件:
```python
myModel.DisplacementBC(name='Fixed-1', createStepName='Initial',
region=myInstance.sets['Fixed'], u1=SET, u2=SET, u3=SET)
```
11. mdb.historyOutput 提供了有关历史数据输出的信息。以下代码定义将节点1和节点2的位移输出到ODB文件:
```python
myModel.HistoryOutputRequest(name='H-Output-1', createStepName='Step-1',
variables=('U1', 'U2'), region=myInstance.sets['Nodes-1-2'],
sectionPoints=DEFAULT, rebar=EXCLUDE)
```
12. visualization 将用于进行结果可视化和数据后处理,提供了有关结果的信息。以下代码定义一个平面应力云图:
```python
myViewport = session.Viewport(name='myViewport')
myViewport.setValues(displayedObject=myInstance)
myViewport.odbDisplay.contourOptions.setValues(contourStyle=CONTINUOUS)
myViewport.odbDisplay.display.setValues(plotState=(CONTOURS_ON_DEF, ))
```
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删