Description:
현재 EDEM–MotionSolve Co-simulation을 통해 CFD Field Data를 EDEM에 적용하는 시뮬레이션을 진행하고 있습니다.
형상(Geometry)의 Motion에 따라 Field Data의 적용 위치도 함께 갱신되도록 구현하고자 합니다. 즉, 형상이 이동·회전할 때 그 움직임을 Field Data가 따라가게 하여, Particle Body Force UDL에서 필드 기반 힘을 형상 기준으로 조회하려고 합니다. 해당 형상은 시뮬레이션 중 이동하며 pitch 각도가 변합니다.
이를 위해 EDEM API의 Geometry 관련 코드를 검토하였으나, Geometry Properties(재질, 마찰계수 등)나 custom property를 다루는 API는 확인할 수 있었던 반면, 형상의 현재 위치·회전(Position/Orientation)을 TimeStep 단위로 조회할 수 있는 API는 찾지 못했습니다.
확인한 사항은 다음과 같습니다:
IApiManager::getApi()가 제공하는 EApiId 전체 목록을 검토했으나, 그중 어떤 매니저도 형상의 현재 pose를 반환하지 않았습니다. eGeometryManager(v4.0.0)는 이름/인덱스 조회, getGeometryMesh(Starting 전용), custom property 리셋만 제공합니다.- 형상의 pose(위치 + 3×3 회전)는
IEDEMCoupling::getGeometryTotalTransform으로 얻을 수 있으나, 이는 커플링 클라이언트 인터페이스이며, 표준 MotionView co-simulation에서는 MotionSolve가 커플링 채널을 점유하고 있습니다. - 한편 UDL은 런타임에 simulation custom property를 읽을 수 있고(
eSimulationCustomPropertyManager), 커플링은 이를 기록할 수 있는 것으로 확인됩니다(setValueForProperty + eSimulationCustomProperty).
이로 인해 시뮬레이션 진행에 어려움을 겪고 있어 다음 사항을 문의드립니다:
- EDEM API(Particle Body Force UDL / CUDA 포함)에서 형상의 TimeStep별 현재 위치·회전 정보를 조회할 수 있는 클래스 또는 함수가 존재하는지요?
- 직접 조회가 불가능하다면, MotionSolve co-simulation으로 구동되는 형상의 pose를 매 TimeStep simulation custom property로 기록하여 UDL이 참조하도록 하는 지원 방법이 있는지요? (기록만 가능하면 UDL이
eSimulationCustomPropertyManager로 읽을 수 있음을 확인했습니다.) - 위 방법이 지원되지 않는다면, MotionView 구동 실행 중에 형상의 이동/회전 정보를 UDL로 노출하는 다른 우회 방법(co-sim 옵션, kinematic export 등)이 있는지요?
추가로, 위 방식이 모두 어렵다면 움직이는 형상에 대한 각도별 Field 커플링을 구현할 권장 방법이 있는지도 조언 부탁드립니다.
Product/Topic Name :
EDEM 2026.1 — API (Particle Body Force UDL / CUDA), MotionSolve Co-simulation, Geometry Pose / Custom Property