LIGGGHTS의 Change box기능은 Project Space의 크기를 변화시킬 수 있는 명령이다.
Change box를 통해 CPU가 담당하는 영역 배분을 균등하게 하여 MPI 해석의 효율성을 늘릴 수 있다.
그런데 LIGGHTS의 Change box는 stl mesh를 사용하는 경우, 뜻하지 않는 에러를 발생시키기도 한다.
예를 들어, 아래와 같은 에러가 가끔 나오는데, 내가 불러들인 stl파일에 기반한 mesh가 region 안에 들어와도 저런 에러가 종종 발생한다.
왜 그럴까?
ERROR: Mesh (id cad2): Mesh elements have been lost / left the domain. Please use 'boundary m m m' or scale/translate/rotate the mesh or change its dynamics (../multi_node_mesh_parallel_I.h:637)
이는 stl파일을 불러들일때 scale명령을 사용하는 경우 이런 현상이 발생한다. 예를 들어 아래와 같이 stl파일을 불러와 mesh를 형성 했다고 해보자.
variable stl_scale equal (0.02/0.05) # Scale for adjusting stl file
fix box_base all mesh/surface file base.stl type 2 scale ${stl_scale}
change_box all x final -0.013 0.013 y final -0.013 0.013 z final -0.013 0.013 boundary f f f remap units box
그러면, 생성되는 mesh는 stl의 좌표보다 축소된 형상이 생성되나,
change box에서는 scale전 stl좌표로 mseh의 위치를 확인하므로 boundary 영역을 벗어났다는 에러가 나오게 된다.
다시말해서, change box를 하는 경우에는 scale명령을 쓰지 말도록 하자.
'LIGGGHTS' 카테고리의 다른 글
Restart 이후 Atom property 변경 (0) | 2024.03.25 |
---|---|
Pair granular requires ghost atoms store velocity (0) | 2024.03.25 |
libboost libraries (0) | 2024.01.31 |
fix particletemplate/superquadric (0) | 2024.01.17 |
unfix move/mesh (0) | 2024.01.02 |