어제 코드를 정신없이 작성했고...
오늘은 그에 대한 기록을 해놔야 기억을 할 수 있을 것 같네요
일단 Beam 부터 시작하겠습니다.
Beam은 가운데 있는 노드마다 n개의 자유도를 가집니다.
n은 적을 땐 20개가 될 수도 있고, 100개가 될 수 도 있습니다.
Beam의 단면 형상따라 모습이 바뀌는 것으로 알고 있습니다.
이렇게 Node마다 n개의 자유도와 미분 자유도로 구성되어 있습니다.
그럼 이제 빔의 특점 지점 즉 Nodal section의 3차원 변위는 이러한 방식으로 구할 수 있습니다.
지정된 Psi함수에 edge정보와 scoord 좌표를 넣어주면 특정 위치의 변위를 구할 수 있습니다.
그럼 특정 지점 변위 두 개를 잡아서 같다고 두면 두 지점의 변위는 동시에 움직이게 됩니다
이렇게 각각 변위를 뽑아서 각 자유도에 넣어주고 하나는 -를 붙여서 3행에 붙여서 넣으면 두 변위가 같이 움직이게 되는 것이죠
여기서 변위를 묶을 때 좌표 변환을 진행하는데 여기선 s,n,z 좌표계(beam의 sectional 좌표계)에서 xyz(Beam) 좌표계로 바꾸려면 아래와 같이 하나씩 진행하면 됩니다.
여기서 ez, en, es를 어떻게 구하냐!
여기서 a가 z입니다.
좌표계가 아리까리 할까봐 a로 작성되어 있습니다.
그럼 여기까지 하면 snz 좌표계(beam의 sectional)가 xyz(Beam)좌표계로 변환되었습니다.
이제 Global(XYZ)좌표계로 변환하면 됩니다.
이제 여기서 ex, ey, ez는 어떻게 구하냐
ex는 input 파일에서 존재하는 빔 방향입니다.
ey는 임시로 0 1 0으로 두고 ex.cross(ey) 하여 ez를 구합니다.
그리고 다시 ez.cross(ex)하여 ey를 구할 수 있습니다.
이렇게 되면 x,y,z가 모두 준비됩니다.
이 식을 통하여 XYZ 를 snz로, snz를 XYZ로 변환할 수 있습니다.
이 변환 행렬을 통해 Shell과 Beam의 좌표계를 맞춰서 동일한 움직임을 보이도록 맞출 수 있습니다.
shell에서는 이제 6자유도가 아니라 5자유도를 사용하는 MICT 버전이므로 여기에 맞도록 각도를 변경해줘야 하는데 이건 자료가 없어서 추후 생기면 작성하도록 하겠습니다.
이젠 벽에 붙이는 것이 아닌 노드에 붙이는 식으로 진행을 보여드리겠습니다.
'FEM > HOB' 카테고리의 다른 글
HOB CAE - Shell, Beam Node 접합, wall 접합 완료 (0) | 2024.12.02 |
---|---|
HOB 기록 저장소 - HOB Shell Node 연결, 벽 연결까지 + Modal (1) | 2024.11.16 |
이 전에 진행한 Shell Beam Joint Concept (0) | 2024.10.12 |
Higher Order Beam CAE 제작 기록용 (0) | 2024.10.09 |
HOB 코드 전환 저장용 (1) | 2024.08.28 |