ABAQUSPythonScript中Odb处理手册1Odb操作命令:1.1Odb对象1.1.1进入Odb对象的途径importodbAccesssession.odbs[name]1.1.2Odb()该方法创建一个新的Odb对象,格式为:session.Odb()A.必须参数1)name:用于指定生成的Odb对象的名称B.选填参数1)analysisTitle:用于指定输出数据库的标题的字符串,默认值为空的字符串;2)description:用于描述输出数据库的字符串,默认值也为空的字符串;3)path:用于指定输出数据库的路径,默认值也为空的字符串;C.返回值返回一个Odb对象1.1.3close()该方法用于关闭一个输出数据库。【注】:该方法无返回值,也无参数。1.1.4getFrame()该方法返回指定时间的frame,该方法不适用于在不同分析步具有不同模型的Odb文件。A.必须参数frameValue:用于指定需要哪个frame的浮点数,该值可以是totaltimeB.选填参数match:符号常量,用于指定假如没有找到frameValue所指定的frame,哪个frame被返回,可能取值为:CLOSEST、BEFORE、AFTER、EXACT,默认值为:CLOSESTC.返回值一个OdbFrame对象1.1.5save()该方法用于保存输出到Odb文件中。【注】:该方法无返回值,也无参数。1.1.6update()该方法用于将分析得到的增加的分析步和增量步写入到Odb文件中。A.返回值返回一个布尔值,用于指定是否有额外的分析步或增量步被写入到Odb对象中。【注】:该方法无参数。1.1.7成员1)isReadOnly:布尔值,用于指定是否Odb文件以只读形式打开;2)interactions:一个库,用于存储Interaction对象;3)interactionProperties:一个库,用于存储InteractionProperty对象;4)amplitudes:一个库,用于存储Amplitude对象;5)filters:一个库,用于存储Filter对象;6)rootAssembly:一个OdbAssembly对象;7)jobData:一个JobData对象;8)parts:一个库,用于存储OdbPart对象;9)materials:一个库,用于存储Material对象;10)steps:一个库,用于存储OdbStep对象;11)sections:一个库,用于存储Section对象;12)sectionCategories:一个库,用于存储SectionCatagory对象;13)sectorDefinition:一个SectorDefinition对象;14)userData:一个UserData对象;15)customData:一个RepositorySupport对象;16)profiles:一个库,用于存储Profile对象;1.2FieldLocation对象该对象用于指定场中那些可用数据的位置,例如,位移场中,存在一个FieldLocation对象,该对象有一个NODAL的成员。FieldLocation对象是自动生成的,它属于FieldOutput对象的成员对象。1.2.1进入FieldLocation对象途径importodbAccesssession.odbs[name].steps[name].frames[i].fieldOutputs[name].location[i]1.2.2成员1)position:符号常量,用于单元指定位置的变量输出,可能取值为:a.NODAL:单元节点b.INTEGRATION_POINT:单元积分点c.ELEMENT_NODAL:d.ELEMENT_FACE:e.CENTROID:单元质心2)sectionPoints:一个SectionPointArray对象1.3FieldOutput对象该对象包含了指定输出变量的场数据。1.3.1进入FieldOutput对象的途径importodbAccesssession.odbs[name].steps[name].frames[i].fieldOutputs[name]1.3.2FieldOutput()该方法用于创建一个FieldOutput对象,创建格式为:session.odbs[name].steps[name].frames[i].FieldOutput()A.必填参数1)name:指定输出变量的名称的字符串;2)description:用于描述该输出变量的字符串;3)type:符号常量,指定该输出变量的类型,可能取值为:SCALAR、VECTOR、TENSOR_3D_FULL、TENSOR_3D_PLANAR、TENSOR_3D_SURFACE、TENSOR_2D_PLANAR、TENSOR_2D_SURFACE;B.选填参数1)componetLabels:创建的场变量的分量的字符串序表,如type=TENSOR,则该参数的默认值的下标为:(‘11’,’22’,’33’,’12’,’13’,’23’),如type=VECTOR,则该参数默认值下标为:(‘1’,’2’,’3’),图type=SCALAR,默认为空的序表;2)validlnvariants:一个符号常量的序列,用于指定该场变量的哪些不变量,可能取值为:(默认为空序列)a)MAGNITUDEb)MISESc)TRESCAd)PRESSe)INV3f)MAX_PRINCIPALg)MID_PRINCIPALh)MIN_PRINCIPALi)MAX_INPLANE_PRINCIPALj)MIN_INPLANE_PRINCIPALk)OUTOFPLANE_PRINCIPALC.返回值一个FieldOutput对象1.3.3addData()该方法用于从一个使用getSubset方法或者数学计算一个已知存在的odb文件得到的一些数据,将这些得到的数据增加FieldOutput对象中去。A.必填参数1)field:通过getSubset方法或数学计算得到的field变量【注】:无返回值和选填参数。1.3.4getSubset()该方法用于取得模型场变量的一些子集来形成一个新的FieldOutput对象,这个子集是整个模型的一个子集(region)。A.选填参数1)region:一个OdbSet,或者是OdbMeshNode和OdbMeshElement,或者是OdbInstance,用于指定输出区域的集合,包括单元集合和节点集合,这个集合中的节点和单元都必须进行排序,且要求升序;2)elementType:一个字符串,按照单元类型输出一个FieldOutput对象,该字符串必须为有效的单元类型字符串;B.返回值一个FieldOutput对象1.3.5FieldOutput对象成员1)locations:一个FieldLocationArray对象;2)values:一个FieldValueArray对象;1.4FieldValue对象该对象描述了在一点处得场数据。1.4.1进入FieldValue对象途径importodbAccesssession.odbs[name].steps[name].frames[i].fieldOutputs[name].values[i]1.4.2成员1)position:符号常量,指定单元输出变量的位置,可能取值为:a.NODAL:单元节点b.INTEGRATION_POINT:单元积分点c.ELEMENT_NODAL:d.ELEMENT_FACE:e.CENTROID:单元质心2)precision:符号常量,指定单元输出变量值的精度,可能取值为:a.SINGLE_PRECISIONb.DOUBLE_PRECISION3)elementLabel:一个整数,指定单元的label,仅当position=INTEGRATION_POINT,CENTROID,ELEMENT_NODAL,ELEMENT_FACE时可用;4)nodelLabel:一个整数,指定单元节点的label,仅当position=ELEMENT_NODAL、NODAL时可用;5)integrationPoint:一个整数,用于指定单元积分点,仅当position=INTEGRATION_POINT时可用;6)instance:一个OdbInstance对象,用于指定label属于的那个part;7)sectionPoint:一个sectionPoint对象;1.5HistoryOutput对象该对象包含了某点指定的历史输出变量。1.5.1进入HistoryOutput对象途径importodbAccesssession.odbs[name].steps[name].historyRegions[name].historyOutputs[name]1.5.2HistoryOutput()该方法创建一个HistoryOutput对象,其格式为:session.odbs[name].steps[name].historyRegions[name].HistoryOutput()A.必填参数1)name:指定输出变量的名称的字符串;2)description:描述输出变量的字符串;3)type:符号常量,目前仅支持SCALAR(标量);B.选填参数1)validInvariants:符号常量序列,指定该变量需要计算的不变量,可能取值为:MAGNITUDE、MISES、TRESCA、PRESS、INV3、MAX_PRINCIPAL、MID_PRINCIPAL、MIN_PRINCIPAL,默认为一个空的序列;C.返回值一个HistoryOutput对象1.5.3addData()该方法增加HistoryOutput对象的data成员的数据。A.必填参数1)frame:一个浮点型数据,指定frame的值,该frame可以在steptime中指定;2)value:一个浮点型数据,指定该变量在指定frame中的值;【注】:该方法无返回值和无选填参数。1.5.4成员1)data:浮点型数据的序表,(frameValue,value)2)conjugateData:1.6HistoryPoint对象该对象指定了哪个点来作为历史变量输出,HistoryPoint对象是一个临时对象,被用来作为HistoryRegion方法的一个参数。1.6.1进入HistoryPoint对象的途径importodbAccesssession.odbs[name].steps[name].historyRegions[name].point1.6.2HistoryPoint()该方法为一个点创建一个HistoryPoint对象,其格式为:odbAccess.HistoryPoint()A.必填参数1)node:一个OdbMeshNode对象,该对象指定了输出的点;C.返回值一个HistoryPoint对象1.6.3HistoryPoint()该方法为一个点创建一个HistoryPoint对象,其格式为:session.odbs[name].steps[name].historyRegions[name].HistoryPoint()A.必填参数1)element:一个OdbMeshElement对象,指定输出的单元B.必填参数1)node:一个OdbMeshNode对象,指定输出的节点C.返回值一个HistoryPoint对象1.6.4HistoryPoint()该方法为一个region创建一个HistoryPoint对象,其格式为:session.odbs[name].steps[name].historyRegions[name].HistoryPoint()A.必填参数1)region:一个OdbSet对象,指定输出的数据的区域B.返回值一个HistoryPoint对象1