Adams/Solver — Adams 모델의 운동방정식을 수치적으로 풀어 시뮬레이션을 수행하는 해석 엔진

정의·용도

Adams/Solver 는 시뮬레이션 도중 모델의 운동방정식(equations of motion)을 적분하여 해를 구하는 해석 엔진이다. Adams 는 각 적분 스텝에서 두 단계로 진행하는데, 먼저 시간을 한 스텝 전진시키는 dynamic predictor 단계를 수행하고, 이어서 운동방정식을 푸는 dynamic corrector 단계를 수행한다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1594]. predictor 단계에서는 스텝 번호, 예측 다항식의 차수(order), 스텝 시작 시각, 스텝 크기를 출력하며, corrector 단계에서는 운동방정식을 푸는 데 필요한 누적 반복(iteration) 횟수와 각 반복의 최대 방정식 오차·최대 변수 변화량을 출력한다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1594].

Adams/Solver 에는 두 가지 버전이 존재한다. 기존 버전인 Adams Solver (FORTRAN) 과, 더 빠르고 새로운 선형 해석 기능 및 개선된 redundant constraint 처리 방법을 제공하는 C++ 기반의 Adams Solver (C++) 이다. 단, C++ 버전은 FORTRAN 버전이 지원하는 모든 모델링 요소를 아직 지원하지는 않는다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1980].

형식 / 필드 / 구문

해석 방정식의 형태와 적분 방법은 ODE/DAE 설정으로 제어한다. ordinary_differential_equations 옵션은 문제의 동역학 방정식을 상미분방정식(ODE) 계로 환원시키며, ode_integrator 는 ODE 적분 수치 기법을 지정한다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.498]. differential_and_algebraic_equations 옵션은 Euler-Lagrange 미분-대수 방정식 전체를 적분하도록 하며, 그 값으로 STANDARD_INDEX_THREE, LAGRANGIAN_CONSTRAINED, STABILIZED_INDEX_TWO, PENALTY 등 방정식 형태를 선택하고, dae_integrator 에서는 BDF 계열 적분기를 선택한다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.498].

실행 방식과 솔버 종류는 simulation set 명령으로 설정한다. 이 명령은 실행할 Adams Solver 의 종류를 설정하게 해 준다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1997]. 주요 파라미터는 다음과 같다.

ParameterValue Type설명
solver_preferenceSolver_pref시뮬레이션에 사용할 솔버를 선택 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1998]
save_fileYes/NoAdams Solver 해석 파일을 실행 디렉터리에 생성 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1998]
user_solver_executableString표준 Adams Solver 실행파일 또는 사용자 정의 라이브러리 지정 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1998]
remote_computeYes/No(Linux 전용) 원격 호스트에서 Adams Solver 실행 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1999]
verify_firstYes/No시뮬레이션 전 모델 검증 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1999]
hold_solver_licenseYes/No시뮬레이션 완료 후 라이선스 반납 여부 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1999]

실행 위치 측면에서는 Internal(Adams View 내부에서 실행하며 계산되는 동안 결과를 애니메이션)과 External(모델 화면 갱신 없이 실행) 옵션을 선택할 수 있다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1980].

사용 예

Adams View 는 표현식의 형식 파라미터를 실제 인수로 치환하여 Adams Solver dataset(.adm 파일)로 export 하거나 Adams View 에서 Adams Solver 로 전달한다 [Adams_2024.1_Adams_View_Function_Builder_User_Guide.pdf p.534]. 또한 Adams Solver function measure 를 사용하면 시뮬레이션 도중 Adams Solver 가 평가하는 measure 를 생성할 수 있는데, 이는 시뮬레이션을 실행해야만 평가되며 사용자 정의 run-time function 이나 subroutine 을 참조할 수 있다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1308].

디버깅 시에는 적분기 스텝 크기(step_size_measure), 스텝당 반복 횟수(iterations_per_step_measure), predictor 단계의 다항식 차수(integrator_order_measure), 정적 평형 시 평형방정식의 불균형(static_imbalance_measure) 등을 measure 로 표시할 수 있다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.2003].

관련 항목

출처

  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.498]
  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1308]
  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1594]
  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1980]
  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1997]
  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1998]
  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1999]
  • [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.2003]
  • [Adams_2024.1_Adams_View_Function_Builder_User_Guide.pdf p.534]