Mechanism Design 및 Mechanism Dynamics > Mechanism Dynamics > 사용자정의 하중 > 사용자정의 하중 함수 정보
  
사용자정의 하중 함수 정보
사용자정의 하중 응용 프로그램을 시작하면 직접 함수 호출을 통해 해당 응용 프로그램과 Mechanism Dynamics 사이에 교환이 이루어집니다. 어떤 함수는 사용자정의 하중 응용 프로그램에서 Mechanism Dynamics으로 호출할 수 있으며 또 어떤 함수는 Mechanism Dynamics에서 제공되어, Mechanism Design에서 사용자정의 하중 응용 프로그램으로 호출할 수도 있습니다. 각 함수에는 필요에 따라 함수 정의에 추가할 수 있는 여러 개의 선택적 인수가 있을 수 있습니다.
다음 정보는 사용자정의 하중 응용 프로그램의 함수에 대한 간략한 설명입니다.
사용자정의 하중 응용 프로그램에서 제공되며 사용자정의 하중 개발자가 작성한 함수
CLUSEREvalCustomLoad()
CLUSERDefineInit()
CLUSERRunInit()
CLUSERGetStateVariablesSize()
CLUSERInitStateVariables()
CLUSERGetStateVariableDerivatives()
Mechanism Dynamics에서 제공되며 사용자정의 하중 개발자가 호출할 수 있는 함수
CLEvalMeasure()
CLEvalStateVariables()
CLUSEREvalCustomLoad()는 사용자정의 하중 응용 프로그램에 항상 포함되어 있어야 하는 유일한 함수입니다. 사용자가 사용자 정의 하중을 참조하는 분석을 실행하면 분석의 각 시간 단계에서 이 함수가 호출됩니다. 이 함수는 그때마다 사용자정의 하중에 대한 값을 반환합니다. 이 값은 해당 시간 단계의 힘과 가속도를 계산하는 데 사용됩니다.
CLUSEREvalCustomLoad()는 사용자정의 하중 이름을 인수로 전달하므로 동일한 사용자정의 하중 실행 파일을 통해 여러 개의 서로 다른 사용자정의 하중을 지원할 수 있습니다.
CLUSEREvalCustomLoad() 내에서 사용자가 CLEvalMeasure()를 호출할 수 있습니다. CLEvalMeasure()에는 모델에 있는 측정의 이름이 입력 인수로 사용됩니다. 사용자정의 하중 응용 프로그램을 개발할 때는 사용자가 모델에 생성해야 할 측정의 유형을 사용자정의 하중 문서에서 지정해야 합니다.
CLUSEREvalCustomLoad()는 분석이 실행되는 동안 여러 번 호출되므로 이 함수를 최대한 빨리 완료하는 것이 좋습니다. 그렇지 않으면 분석 실행이 현저히 느려집니다. 특히 이 호출 중에는 UI 작업 또는 모델 변경 작업을 수행하지 않아야 합니다.
다른 중요한 함수로는 CLUSERDefineInit()이 있습니다. 이 함수는 사용자가 새 힘 모터 또는 외부 힘 또는 토크를 생성할 때 호출됩니다. 이 함수를 사용하면 사용자정의 하중 응용 프로그램에서 사용자에게 해당 사용자정의 하중에 대한 데이터를 질의할 수 있습니다. 데이터를 저장한 다음 이후에 CLUSEREvalCustomLoad() 함수에서 이를 사용할 수 있습니다. 예를 들어, 사용자정의 하중이 스프링에 사용되는 경우 CLUSERDefineInit() 함수가 이 하중의 스프링 상수를 입력하라는 요청을 할 수 있습니다.
CLUSERRunInit()는 사용자가 사용자 정의 하중을 참조하는 분석을 실행하기 전에 호출됩니다.
나머지 함수는 사용자정의 하중을 사용하여 제어 시스템을 구현하는 데 유용합니다. 사용자정의 하중 응용 프로그램은 각 시간 단계에 통합할 수 있는 일련의 파생 값을 제공할 수 있습니다.
 
* 이러한 초기화 루틴은 분석이 실행되기 전에 호출되므로 이 루틴에서 CLEValMeasure() 또는 CLEvalStateVariables()를 호출하는 것은 적절하지 않습니다.
CLUSERGetStateVariablesSize()는 분석이 실행되기 전에 호출됩니다. 사용자 정의 하중 응용 프로그램에서 0이 아닌 상태 가변 크기를 제공하면 Mechanism Dynamics에서는 분석을 실행하기 전에 CLUSERGetStateVariables()를 호출합니다. 그런 다음 각 시간 단계마다 CLUSERGetStateVariableDerivatives()가 호출되어 현재 파생 값을 가져옵니다.