机构设计和机构动力学 > 机构动力学 > 自定义载荷 > 关于自定义载荷函数
  
关于自定义载荷函数
当启动自定义载荷应用程序时,将通过直接的函数调用在应用程序与 Mechanism Dynamics 之间进行交换。Mechanism Dynamics 会从自定义载荷应用程序中调用一些函数。其它函数则由 Mechanism Dynamics 提供,并可被自定义载荷应用程序调用。每个函数可能具有许多可选自变量,可在需要时将其添加到函数定义中。
以下信息简要介绍了自定义载荷应用程序专用的函数。
由自定义载荷应用程序提供并由自定义载荷开发器编写的函数:
CLUSEREvalCustomLoad()
CLUSERDefineInit()
CLUSERRunInit()
CLUSERGetStateVariablesSize()
CLUSERInitStateVariables()
CLUSERGetStateVariableDerivatives()
Mechanism Dynamics 提供并由自定义载荷开发器调用的函数:
CLEvalMeasure()
CLEvalStateVariables()
CLUSEREvalCustomLoad() 是唯一一个必须始终位于自定义载荷应用程序中的函数。当用户运行参考自定义载荷的分析时,在分析的每一时间步距均会调用此函数。它将返回自定义载荷在该时间的值。这个值用于计算此时间步长的力和加速度。
由于 CLUSEREvalCustomLoad() 以自变量形式传递自定义载荷名,所以同一自定义载荷可执行程序可支持许多不同的自定义载荷。
CLUSEREvalCustomLoad() 中,用户可调用 CLEvalMeasure()CLEvalMeasure() 将存在于模型中的测量名称视作输入自变量。开发自定义载荷应用程序时,确保在自定义载荷文档中指示希望用户在模型中创建的测量类型。
由于在分析运行过程中,CLUSEREvalCustomLoad() 被多次调用,因此尽快完成该函数很重要,否则分析运行将显著变慢。在这个调用过程中尤其不能有 UI 操作或模型更改。
另一重要的函数是 CLUSERDefineInit()。当用户创建新的执行电动机或外部力或扭矩时,将调用该函数。此函数允许自定义载荷应用程序查询用户以获得该自定义载荷专用的数据。这些数据可被存储起来并稍后在 CLUSEREvalCustomLoad() 函数中使用。例如,如果自定义载荷用于弹簧,CLUSERDefineInit() 函数可要求用户提供针对此载荷的弹簧常数。
在用户运行任何参考此自定义载荷的分析之前,都会调用 CLUSERRunInit()
其余的函数有助于实现使用自定义载荷的控制系统。自定义载荷应用程序可提供一组在每个时间步长所进行积分的导数值。
 
* 分析运行前将调用这些初始化例程,因此不适于从它们中调用 CLEValMeasure()CLEvalStateVariables()
分析运行前将调用 CLUSERGetStateVariablesSize()。如果自定义载荷应用程序提供非零态的变量大小,则 Mechanism Dynamics 在运行分析前调用 CLUSERGetStateVariables()。接下来,程序会在每个时间步长上调用 CLUSERGetStateVariableDerivatives() 以获得当前导数值。