使用Study API
本节描述使用API的基本功能。完整API函数列表请参阅HTML文档。
加载Study参数配置
按以下步骤加载模型的study配置。可通过以下命令访问模型的study配置对象,其中参数为模型文件路径:
study_config = STUDY.get_config(r'$AME\demo\Platform\OptimizationRobustnessDOE\
Optimization\DesignOptimization.ame')
若从Simcenter Amesim外部启动的Python控制台加载Study API,必须确保模型处于展开状态(可右键点击模型选择Explode)。

添加新Study参数
以下描述向study配置添加新参数的不同方法。
-
仅传递data_path
可将Simcenter Amesim中任何参数或变量的数据路径作为唯一参数传递。例如:
import ame_study_apy
study_config = ame_study_apy.STUDY.get_config(r"$AME\demo\Platform\
OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
# 通过传递数据路径添加压力传感器增益
pressure_param = study_config.add_param("gain@pressuresensor") -
仅传递IOType
用于添加本地输入参数或复合参数。等效于在Study Manager对话框中使用Add按钮:
图2-8. Study Manager对话框
需传递所需类型的IOType枚举作为参数。IOType可能值为:
-
Input
-
Output
-
Compound
例如:
import ame_study_apy
study_config = ame_study_apy.STUDY.get_config(r"$AME\demo\Platform\
OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
# 添加本地输入参数
local_input = study_config.add_param(IOType.Input) -
-
同时传递data_path和IOType
当IOType用于指定状态变量的输入参数或简单输出参数时,需同时使用data_path和IOType。例如:
import ame_study_apy
study_config = ame_study_apy.STUDY.get_config(r"$AME\demo\Platform\
OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
# 将状态变量参数添加为输入类型
integrator_output = study_config.add_param(‘output@elect02’, IOType.Input)处理向量时,由于数据路径对应特定维度的向量类型参数,返回参数对应特定维度,但添加到STUDYConfig时会添加所有可用维度参数。此行为与Simcenter Amesim中"全选或全不选"一致。
例如,study API需要添加如下所选参数时:
图2-9. 向量参数
对应命令如下:
import ame_study_apy
study_config = ame_study_apy.STUDY.get_config(r"c:\hydraulic\
1d\simple_model.ame")
# 通过传递数据路径添加上述列表中第一个参数
pressure_param = study_config.add_param("pn_1@hydraulic_1")
#pressure_param指向下方显示的STUDY参数中的第一个
获取现有Study参数
可通过以下方法传递study名称作为参数获取参数:import ame_study_apy:
import ame_study_apy
study_config = ame_study_apy.STUDY.get_config(r"$AME\demo\Platform\
OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
# 获取输入类型的状态变量参数
seat_param = study_config.get_param(‘seatD’)
获取Study参数列表
或使用get_params_list API获取Study参数列表:
import ame_study_apy
study_config = ame_study_apy.STUDY.get_config(r"$AME\demo\Platform\
OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
# 获取所有参数列表
all_params_list = study_config.get_params_list()
study配置包含三种参数类型:输入、输出和复合输出参数。使用IOType类型参数可获取特定类型的STUDYParam列表。若不传递参数,则获取所有类型的参数。
import ame_study_apy
study_config = ame_study_apy.STUDY.get_config(r"$AME\demo\Platform\
OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
# 获取输入参数列表
input_params_list = study_config.get_params_list(IOType.Input)
删除Study参数
可使用remove_param API删除参数。可传递study param引用或study名称作为参数。
import ame_study_apy
study_config = ame_study_apy.STUDY.get_config(r"$AME\demo\Platform\
OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
# 添加参数
pressure_param = study_config.add_param("gain@pressuresensor")
seat_param = study_config.add_param("seatD")
…
study_config.remove_param(‘seat_param’)
# 返回True或False
获取Study参数的iotype
使用get_iotype API确定Study参数的iotype:
import ame_study_apy
study_config = ame_study_apy.STUDY.get_config(r"$AME\demo\Platform\
OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
seat_param = study_config.get_param(‘seatD’)
seat_param.get_iotype()
# 返回1
获取现有参数任意列的值
使用get_property API获取Study参数任意列的值。需传递对应列的Property枚举作为第一个参数:Property,可选值为:
-
Submodel
-
Title
-
Study_Name
-
Units
-
Default_Value
-
Type
-
Possible_Values
-
Lower_Bound
-
Upper_Bound
-
Status
-
Expression
import ame_study_apy
study_config = ame_study_apy.STUDY.get_config(r"$AME\demo\Platform\
OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
seat_param = study_config.get_param(‘seatD’)
seat_param.get_property(Property.Submodel)
# 返回‘GLOBAL (seatD)’
seat_param.get_property(Property.Study_Name)
# 返回‘seatD’
修改现有参数任意列的值
使用set_property API设置Study参数任意列的值。需传递对应列的Property枚举作为第一个参数,新值作为第二个参数。
import ame_study_apy
study_config = ame_study_apy.STUDY.get_config(r"$AME\demo\Platform\
OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
seat_param = study_config.get_param(‘seatD’)
seat_param.get_property(Property.Study_Name)
# 返回‘seatD’
seat_param.set_property(Property.Study_Name, ‘new_seatD’)
# 返回True
保存study配置
要保存对study配置的修改,可使用save API:
import ame_study_apy
study_config = ame_study_apy.STUDY.get_config(r"$AME\demo\Platform\
OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
seat_param = study_config.get_param(‘seatD’)
seat_param.set_property(Property.Study_Name, ‘new_seatD’)
study_config.save()
# 返回True或False
即使脚本导入ame_export_apy.py,仍可通过以下两种方式访问Study API:
-
在与脚本同目录创建ExportConfig.settings文件。若该文件包含use_study_param_file文本,则即使导入ame_export_apy.py也会调用Study API而非Export API。
-
要访问Study API[study_param文件],可在脚本开头初始化XPT = use_study_param_file(true)。
示例:
import sys
from ame_export_apy import *
try:
XPT = use_study_param_file(true)
xpt_config= XPT.get_config(r'D:\SourceCode_newcheckouts\
Projects\BatchDOE\TestReport\
New TestReport Data\ExportSettings_Scripts\
Engine_DID_Turbocharged.ame')
#以下是输入参数
print ("Study Input Parameters :: starts")
for cur_param in xpt_config.get_params_list(IOType.Input):
print ("Param name:", cur_param.get_property(Property.Export_Name))
译文质量与官方无关,仅做辅助学习使用,帮助大家更方便高效的掌握工具.文档网址:www.tech-doc.cn;公众号:Amesim学习与应用、译匠工厂