본문 바로가기

YADE

O.engines 내용 확인방법

O.engines는 List type 컨테이너 이다.

예를 들어,

O.engines = [
    ForceResetter(),
    InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Facet_Aabb()]),
    InteractionLoop(
            [Ig2_Sphere_Sphere_ScGeom(), Ig2_Facet_Sphere_ScGeom()],  # collision geometry
            [Ip2_FrictMat_FrictMat_FrictPhys()],  # collision "physics"
            [Law2_ScGeom_FrictPhys_CundallStrack()]  # contact law -- apply forces
    ),
    NewtonIntegrator(gravity=(0, 0, -9.81), damping=0.02),
    PyRunner(command='addData()', iterPeriod=100),
    PyRunner(command='addPlotData()', iterPeriod=100),
    ServoPIDController(axis=(0,0,1), ids=top_caps, target=servo_targetForce, kD=5.0, kI=5.0, kP=5.0, maxVelocity=-0.01, iterPeriod=100, label='servo_1'),
    DomainLimiter(lo=(-width,-width,-height+2*dz), hi=(width,width,2*height), iterPeriod = 100, label = 'Domain') # destroy balls outside domain in every 100 steps
]

이 경우, O.engines는 다음과 같이 나타난다.

[<ForceResetter instance at 0x5581dbcadcb0>,
 <InsertionSortCollider instance at 0x5581dbd89780>,
 <InteractionLoop instance at 0x5581dbe664e0>,
 <NewtonIntegrator instance at 0x5581dbd86c80>,
 <PyRunner instance at 0x5581db9fdfe0>,
 <PyRunner instance at 0x5581db8fdde0>,
 <ServoPIDController instance at 0x5581dbc4d5c0>,
 <DomainLimiter instance at 0x5581dbbfbc20>]

5번째 엔진을 확인하면

In[2]: O.engines[5]
Out[2]: <PyRunner instance at 0x5581db8fdde0>

In [3]: O.engines[5].command
Out[3]: 'addPlotData()'

이걸 삭제하려면,

In [8]: O.engines = O.engines[:5] + O.engines[6:]

In [9]: O.engines
Out[9]: 
[<ForceResetter instance at 0x5581dbcadcb0>,
 <InsertionSortCollider instance at 0x5581dbd89780>,
 <InteractionLoop instance at 0x5581dbe664e0>,
 <NewtonIntegrator instance at 0x5581dbd86c80>,
 <PyRunner instance at 0x5581db9fdfe0>,
 <ServoPIDController instance at 0x5581dbc4d5c0>,
 <DomainLimiter instance at 0x5581dbbfbc20>]

In [10]: O.engines[4].command
Out[10]: 'addData()'

어예..

'YADE' 카테고리의 다른 글

Body의 종류 확인방법  (0) 2023.01.11
Body의 상태 확인방법  (0) 2023.01.07
YADE의 좌표표시  (0) 2022.12.22
Body의 이해  (0) 2022.12.22
Class, wrapper 확인  (1) 2022.12.16