Download File
0.Introduction
이 장의 목적은 MIDAS GH의 다양한 기능을 더욱 쉽게 활용할 수 있도록 실무 예제와 유사한 구조로 구성되었습니다. 이를 통해 매뉴얼로 사용법을 익히는 데 어려움을 겪었던 사용자들도 Grasshopper와 CIVIL_NX의 API 사용법을 보다 직관적으로 익힐 수 있도록 돕는 것을 주요 목표로 하고 있습니다. 이 템플릿은 실무자들이 효율적이고 체계적으로 프로젝트를 진행할 수 있도록 지원합니다.
이번 예제는 FCM Bridge를 통해 기본적인 형상부터 Construction Stage 까지 입력하는 방법을 익혀보도록 하겠습니다.
Result Preview
1. 적용 사항
1-1 적용 버전
해당 템플릿을 정상적으로 사용하기 위한 MIDAS GH와 CIVIL NX의 버전은 다음과 같습니다.
CIVIL NX | MIDAS CIVIL NX 2024(v2.1) |
---|---|
MIDAS GH | MIDAS GH (v2.0.5) |
위와 버전이 맞지 않는다면 일부 기능이 정상적으로 작동하지 않을 수 있습니다.
정상적인 작동을 위해 하위 버전을 사용한다면 표기된 버전 이상의 버전으로 업데이트 바랍니다.
1-2 단위계 설정
해당 템플릿은 다음과 같은 단위계로 설정되었습니다.
1-3 모델 개요
-
Material Properties and Allowable Stress
-
Pier properties
fc' = 5.0ksi, ASTM(RC), Grade C5000
-
Main Girder properties
fc' = 4.0ksi, ASTM(RC), Grade C4000
-
Tendon Properties
Material: EN 05(S) Y1770S7
P.C Strand: Φ15.2 mm (0.6˝strand)
Duct Diameter: 100 mm
Yield Strength: fpy = 1600 N/mm2
Ultimate Strength: fpu = 1850 N/mm2
Cross Sectional area: Ap = 2635.3 mm2
Modulus of Elasticity: Eps = 2.00 X 105 N/mm2
Jacking Stress: fpj = 0.7fpu = 1295 N/mm2
Curvature friction factor: μ = 0.2 /rad
Wobble friction factor: k = 0.006 /m
Anchorage Slip: Δs = 6 mm (At the Beginning and at the End)
-
Pier properties
-
Load
Self-weight : Input Self-Weight
2nd Dead Load : w = 35 kN/m
Form Travelling Load : P = 800kN , e = 2.5m , M = P x e = 2,000 kN·m
Fig 5. From Travelling Load Point Curing Load : Non harden Concrete Weight
-
Crrep and Shrinkage
Code: CEB-FIP(1990)
Characteristic compressive strength of concrete at the age of 28 days: 35 N/mm2(Grade C5000). / 28 N/mm2(Grade C4000)
Relative Humidity of ambient environment: 70%
Type of cement: Normal or rapid hardening cement
Age of concrete at the beginning of shrinkage: 3 days
- Construction Stage
The following outlines a general procedure for FCM construction
This example is a 3-span FCM bridge constructed with 4 Form Travelers (FT). As such FT will not be relocated.
2.Instruction
2-1 Setting
모델링을 생성 전 Midas GH는 다음과 같은 Setting이 필요합니다.
A. API 연결
B. 템플릿 실행
A. API 연결
MIDAS GH는 CIVIL NX의 API를 활용하여 동작합니다.
따라서, 개발된 컴포넌트는 CIVIL NX와의 연결이 되어 있을 때 정상적으로 동작합니다.
CIVIL NX와 연결하기 위한 방법은 다음과 같습니다.
① Grasshopper에서 Midas Setting 컴포넌트 실행
② MIDAS Setting 컴포넌트 아이콘을 더블클릭하여 Setting 창 실행
③ CIVIL NX에서 API Settings 실행
④ CIVIL NX의 Base URL의 내용을 복사하여 Grasshopper의 Base URL에 입력
⑤ CIVIL NX의 MAPI-Key의 내용을 복사하여 Grasshopper의 MAPI-Key에 입력
⑥ CIVIL NX의 Connect 버튼을 클릭
⑦ Grasshopper의 Midas Setting 창의 OK 버튼을 클릭
Grasshopper의 Midas Setting은 한번 연결하면 Setting 정보가 유지되며, 이후에는 MAPI-Key가 변경하여야 할 경우에만 새로 적용하면 됩니다.
B. 템플릿 실행
Setting이 완료되었다면 다운로드 받은 템플릿을 실행합니다.
추가로 본 템플릿에서는 Tendon을 생성하기 위해 다운로드 받은 Rhino를 추가로 실행하여야 합니다.
MIDAS GH 컴포넌트는 파일을 실행 시 컴포넌트가 동작하여 정보를 생성합니다.
따라서 이전에 한 번도 「1) API 연결」을 하지 않은 상태에서 파일을 실행할 경우 정상적으로 정보가 생성되지 않으므로 「1) API 연결」을 수행 후 파일을 실행해야 합니다.
2-2 Work Flow
MIDAS GH는 다음의 과정을 거쳐 CIVIL NX에 모델링을 생성합니다.
1. Grasshopper에서 Geometry를 생성합니다.
2. Geometry 정보를 CIVIL NX에 생성하기 위해 MIDAS GH 컴포넌트를 사용하게 되며, 각 컴포넌트는 다양한 변수 값을 입력 받습니다.
Steel Composite Bridge는 상부 구조를 생성 시 Section을 Steel과 Girder를 동시에 반영하기 때문에
① Grasshopper로 Line을 생성 후 MIDAS GH의 Beam 컴포넌트를 사용하여 모델링을 만들며,
② 단면은 Outer-Dimension of PSC Shape 컴포넌트와 Inner-Dimension of PSC Shape 컴포넌트의 조합으로 PSC Shape를 생성한 후 Tapered Shape 컴포넌트를 연결하여 Tapered PSC Shape를 생성합니다.
③ 완성된 Section Property,Material Property와 Geometry를 Beam 컴포넌트에 연결하여 CIVIL NX에서 모델링을 생성합니다.
④ 이후 하부 모델링과의 관계를 설정 및 기초와의 구속 조건을 설정하기 위해 생성된 모델링 컴포넌트에서 Get Property 컴포넌트를 연결하여 입력될 위치의 Node와 Element ID 번호를 추출합니다.
⑤ 하중도 같은 방법으로 동일하게 Node와 Element ID 번호를 입력 및 하중 값을 입력합니다.
⑥ 이때, 추후에 시공 단계를 고려하기 위해 Structure Group과 Boundary Group 및 Load Group를 설정하여 같이 입력합니다.
⑦ Tendon의 경우 본 템플릿은 도면을 통해 Rhino로 Tendon을 가져와서 활용하였습니다.
⑧ 불러온 Tendon을 Grasshopper를 활용하여 Bridge에 입력될 좌표로 변환 후 입력될 Element 찾아 할당합니다.
⑨ 완성계 부분의 입력이 완료되었으면 시공 단계를 설정하기 위해 각각의 단계를 생성 및 소요 기간을 설정합니다.
⑩ 그리고 ⑥에서 설정한 Group을 미리 설정한 시공 단계별 수행 과정을 입력하여 시공 단계를 입력하게 됩니다.
자세한 컴포넌트 사용법은 매뉴얼을 참고해 주세요.
GrassHopper API Online Manual – MIDAS Support
3. 입력받은 MIDAS GH 컴포넌트는 CIVIL NX API를 활용하기 위한 데이터로 변환됩니다.
데이터는 Json 형식으로 변환이 되며, 생성된 데이터는 Panel 컴포넌트를 활용하여 전체적인 구조를 확인 할 수 있습니다.
4. MIDAS GH 컴포넌트는 각각 API를 실행하는 버튼이 존재하지만, 효율적인 모델링 생성을 위해 Merge 컴포넌트와 Builder 컴포넌트를 활용하여 API 데이터를 일괄로 전송해줍니다.
5. Run 버튼을 실행하면 CIVIL NX에서 모델링이 생성됩니다.
2-3 Run Component
다음의 사항을 주의하여야 합니다.
1. Grasshopper 실행 시 API 연결 여부
-> API가 연결이 되어있지 않은 상태에서 템플릿을 실행할 경우 컴포넌트가 동작하지 않아 Builder 컴포넌트에 데이터가 연결 해제되어 있을 수 있습니다.
이 경우 Recalculating Button을 눌러 전체 컴포넌트를 다시 동작을 수행해야 합니다.
이후 Merge 컴포넌트와 Builder 컴포넌트가 해제되어 있다면 다시 연결해 주세요.
2. Geometry 변경 시
->Geometry 변경 시 CIVIL NX에 생성된 모델링 정보와 Grasshopper 내부에서 계산된 모델링 정보가 달라 C.Data Matching 버튼을 눌러야 정상적으로 모델링이 업데이트됩니다.
3. 중간 컴포넌트를 비활성화 시
->Grasshopper에서 효율적인 작업을 위해 계산이 오래 걸리는 컴포넌트를 비활성화하였다가 작업이 완료된 후 컴포넌트를 활성화하는 경우가 있습니다.
이 경우 비활성화가 된 컴포넌트 이후로는 컴포넌트가 동작하지 않아 최종적으로 Merge 컴포넌트에 데이터가 입력되지 않아 Output으로 출력되는 API가 사라지게 됩니다.
이때, Merge 컴포넌트와 Builder 컴포넌트가 연결이 해제될 수 있습니다.
이 경우 비활성화를 한 컴포넌트를 활성화한 이후에 Merge 컴포넌트와 Builder 컴포넌트를 다시 연결해 주세요.
컴포넌트를 실행하여 CIVIL NX에 모델링을 생성해 보도록 합니다.
3. Detail Instruction
본 템플릿은 ①Modeling, ②Property, ③Boundary, ④Static Load, ⑤Prestress, ⑥Construction Stage, ⑦Update Button 으로 총 7개로 구성되어 있으며, 위치는 다음과 같습니다.
또한 템플릿에서 사용자가 변경할 수 있는 데이터는 전체 컴포넌트 맵에서의 보라색으로 표시되어 있는 구역입니다.
해당 영역의 Parameter 값을 변경하면 모델링 정보가 변경되게 되며, 다음의 내용을 참고해주세요.
3-1 Modeling
구조물의 모델링 정보로 다음 정보들을 설정합니다.
A. Arrangement
교량의 경로를 설정합니다.
템플릿에서 경로는 단일 경로만 지원되고 있습니다.
다중으로 경로가 지정할 때는 사용자가 별도의 수정 과정이 필요합니다.
B. Pier Table
Pier Table에서는 다음과 같은 정보를 변경할 수 있습니다.
a. Pier Point
교량 하부 구조의 위치를 지정합니다.
b. Pier Distance
Pier Center와 Pier Point 사이의 거리를 지정합니다.
c. Distance to End of Pier Table
Pier Table의 끝 지점부터 Pier의 Center 위치까지의 거리를 지정합니다.
C. FSM
Pier Table에서는 다음과 같은 정보를 변경할 수 있습니다.
a. FSM Length
FSM 구간의 Length를 설정합니다.
b. FSM Divide Count
FSM 구간의 요소 개수를 설정합니다.
단, Abutment Support 구간의 요소 개수는 제외합니다.
요소의 개수를 기준으로 S4(Element Length)가 설정됩니다.
c. Abutment Support Length
Abutment Support 구간의 Length를 설정합니다.
d. Abutment Divide Count
Abutment Support 구간의 요소 개수를 설정합니다.
D. Key Segment
Key Segment에서는 다음과 같은 정보를 변경할 수 있습니다.
a. Key Segment Length
Keyseg 구간의 Length를 설정합니다.
Key Segment는 총 3구간으로 나뉘어 있으며, 각각의 구간의 길이를 개별적으로 변경하려면 연결된 컴포넌트에서 변경이 필요합니다.
E. Segment
Segment에서는 다음과 같은 정보를 변경할 수 있습니다.
a. Segment Length
하나의 Segment Length를 설정합니다.
Segment는 각각의 구간의 길이를 개별적으로 변경하려면 연결된 컴포넌트에서 변경이 필요합니다.
Segment는 각 Pier에서 FSM 방향으로, 순차적으로 생성이 되지만, 해석을 위한 Element Direction은 Global Axis의 +방향으로 생성이 됩니다.
b. Equal-interval Options
True : Segment의 Length를 동일한 Length로 등분하여 줍니다.
Length는 a. Segment Length와 가장 근접한 길이로 설정이 됩니다.
False : Segment의 Length를 사용자가 입력한 길이대로 나눠줍니다.
전체 구간의 길이가 입력한 Segment Length로 정수로 나눠지지 않을 경우 마지막 요소의 길이가 조정이 됩니다.
F. Pier
Pier에서는 다음과 같은 정보를 변경할 수 있습니다.
a. Pier Length
Pier의 전체 길이를 설정합니다.
b. Divide Count
Pier 구간의 요소 개수를 설정합니다.
G. Structure Group
Construction Stage를 설정하기 위해 Geometry를 각각의 Group으로 구분하여 줍니다.
본 템플릿에서는 Group에 할당되는 요소 번호는 자동으로 입력되게 설정하였습니다.
a. Name
Group의 Name을 지정합니다. 현재 설정된 Group Name은 위의 그림을 참조해주세요.
3-2 Property
교량의 Geometry 정보에 입력될 Material과 Section의 정보를 변경할 수 있습니다.
A. Material
부재에 입력될 Material Property를 생성합니다.
참고 사항
MIDAS GH는 CIVIL NX의 DB를 이용합니다.
각 컴포넌트에서 사용자에게 맞는 DB를 적용해 주세요.
a. Material ID
각 부재의 입력될 ID 번호를 입력합니다.
b. Material Name
각 부재의 입력될 치수를 설정합니다.
c. Modulus of Elasticity
재료의 탄성계수 값을 입력합니다.
d. Thermal Coefficient
재료의 열팽창계수를 입력합니다.
B. Time Dependent Material
부재에 입력될 Time dependent Material Property를 생성합니다.
a. Relative Humidity
콘크리트의 주변 외기 습도를 설정합니다.
b. Concrete Age
타설 후 건조수축 시작 시간을 설정합니다.
c. Member Size
구조물의 기하 형상 치수를 입력합니다.
d. Compressive Strength
28일 압축강도를 설정합니다.
C. Section
부재에 입력될 Section Property를 생성합니다.
a. Section ID
각 Section의 ID를 설정합니다.
b. Section Name
각 Section의 Name을 설정합니다.
c. Section Size
각 부재의 치수를 입력합니다.
c-1. Section Outer Dimension
PSC Section의 Outer Dimension을 입력합니다.
c-2. Section Inner Dimension
PSC Section의 Inner Dimension을 입력합니다.
d. Section Shape
부재의 형상을 선택합니다.
3-3 Boundary
교량의 경계조건을 설정합니다.
본 템플릿은 다음과 같은 CIVIL NX의 경계조건 기능을 사용하고 있으며, 경계조건의 경우 각 컴포넌트에서 자유도 및 적용 값을 설정합니다.
A. Support
모델링의 구속 조건을 적용하기 위해 적용합니다.
B. Rigid Elastic Link
모델링 상 두 절점을 사용자가 입력한 강체로 연결하기 위해 적용합니다.
C. Boundary Group
Construction Stage를 설정하기 위해 같은 Boundary Case를 각각의 Group으로 구분하여 줍니다.
Boundary Group Name은 Name prefix & Structure Group Name 조합으로 생성됩니다.
a. Name prefix
각각의 Boundary Group의 prefix를 입력합니다.
3-4 Static Load
교량에 정적 하중을 적용합니다.
A. Load Case
부재 설계 시 적용될 Load Type을 설정합니다.
아래와 같이 Load Case Name을 입력합니다.
a. Name
Load Case의 Name을 지정합니다.
B. Self Weight
자중 정보를 입력합니다.
Self Weight 컴포넌트는 ID가 자동으로 생성되지 않습니다. 따라서 아래와 같이 ID정보를 직접 입력해 줘야 합니다.
추가로 Factor 값도 사용자에게 맞게 입력합니다.
a. Self Weight Factor
Self Weight에 대한 계수를 설정합니다.
C. 2nd Load
모델링에서 표현하지 않은 pavement, barriers 및 부가적인 부착물들에 대한 하중을 입력합니다.
Load가 재하 될 영역은 앞서 설정한 영역에 의해 자동 할당이 됩니다.
a. Load Value
재하 할 하중의 값을 설정합니다.
D. Form Travelling Load
건설용 장비의 하중을 고려합니다. 폼 트래블러의 장비 하중의 경우 장비 자체의 하중과 더불어 작업 위치에 대한 편심하중을 고려합니다.
a. Load Value
작업 하중을 입력합니다.
b. Form Traveller Position
Form Traveller에 대한 편심 위치를 입력합니다.
E. CS Time Load
인접 부재 간의 재령 차이에 의한 재료의 시간 의존적 특성을 반영하기 위하여 임의의 부재에 추가 재령을 입력합니다.
재령에 대한 차이는 3-6 Construction Stage에서 설정한 기간으로 자동 입력됩니다.
F. Wet Concrete Load
시공 단계별 굳지 않은 콘크리트의 하중을 입력합니다.
하중은 단면 정보를 CIVIL NX에서 가져와 콘크리트의 밀도를 곱하여 하중으로 치환합니다.
이후 전체 단면의 무게 중심점을 계산하여 편심 하중을 고려합니다.
G. Load Group
Construction Stage를 설정하기 위해 같은 Load Case를 각각의 Group으로 구분하여 줍니다.
Load Group Name은 Name prefix & Structure Group Name 조합으로 생성됩니다.
a. Name prefix
각각의 Load Group의 prefix를 입력합니다.
b. Name
Load Group Name을 입력합니다.
Structure Group Name을 참조하지 않은 경우에 사용됩니다.
3-5 Prestress Load
교량에 Prestress Load를 적용합니다.
본 템플릿에서는 Prestress Load를 적용하기 위한 Tendon 정보까지 입력합니다. Prestress Load를 적용하는 방
A. Tendon Property
Tendon의 물성 정보를 입력합니다.
relaxation에 대한 적용 방법은 컴포넌트에서 설정할 수 있습니다
a. Tendon ID
Tendon Property의 ID를 설정합니다.
b. Tendon Name
Tendon Property Name을 설정합니다.
c. Wire
Tendon의 Wire 정보를 입력합니다.
d. Duct
Duct Size를 입력합니다.
e. Friction Factor
긴장력 손실에 대한 마찰 계수값을 설정합니다.
f. Anchorage Slip
정착부에서 슬립량을 입력합니다.
B. Tendon Profile
Tendon의 형상과 배치 방법을 설정합니다.
본 템플릿은 Tendon의 배치를, 도면을 활용하여 Rhino에 3D로 생성한 후 Grasshopper로 모델링 위치에 맞게 배치하는 방식을 사용하였습니다.
이때, 3D 형태로 생성 시 경로가 곡선으로 되어 있으면 3D로 생성이 어렵기 때문에 직선 경로로 되었을 때 상태로 활용하여 곡선의 경로에 재배치해 줍니다. 또한 Tendon의 전체 구간과 모델링의 전체 구간의 길이가 달라도 비율에 맞게 조정하여 줍니다.
따라서 직선 경로에 Tendon이 생기는 위치와 길이의 비율만 일치한다면 모델링에서 정상적으로 생성되게 됩니다.
a. Reference Line Position
Tendon이 참조할 Line을 생성합니다.
불러올 Tendon의 전체 구간의 길이만큼 생성해 주세요.
b. Import File
Tendon 배치 정보를 Layer 별로 불러옵니다.
c. Tendon Name
Tendon의 Name을 설정합니다. Prefix와 Top/Bottom의 설정으로 자동 생성됩니다.
C. Tendon Prestress
Tendon에 Prestress 하중을 입력합니다.
Tendon에 긴장을 도입하는 방향은 아래의 그림을 참고하여 주세요.
긴장을 하는 위치를 변경하고 싶을 경우 컴포넌트에 연결된 값의 순서를 바꿔주어야 합니다.
a. Tendon Jaking Force
Tendon에 도입할 긴장력의 값을 입력합니다.
b. Grouting Stage
Tendon에 긴장력이 도입된 후 Duct를 Grouting하는 시기를 정의합니다.
3-6 Construction Stage
시공 단계를 설정하고 단계별로 할당될 동작을 설정합니다.
시공 단계는 아래의 그림과 같이 설정하였습니다.
A. Construction Step
각 시공 단계를 정의합니다.
a. Segment Construction Step
Segment의 시공하는 총 Step을 설정합니다.
본 템플릿은 Max Segment Count를 계산하여 자동으로 값이 입력됩니다.
각 Pier를 중심으로 양뱡향으로 Segment를 동시 진행하며 각 Segment 당 하나의 Step으로 설정하였습니다.
b. After Segment Consturction Step
Segment 공사 완료 후 나머지 Step의 개수를 설정합니다.
B. Duration
단계 별 소요 시간을 설정합니다.
a. Stage Date
단계 별 기간을 설정합니다.
b. Additional Data
시공 단계 내에서의 해석 step을 설정합니다.
한 개의 시공 단계에서 하중 작용 시기를 변경하거나 추가적인 하중의 작용을 반영할 때 적용합니다.
본 템플릿은 콘크리트를 타설하기 전 작업하는 시간을 입력합니다.
c. Connection Date
기존 생성된 부재의 영향을 고려할 때 필요한 기간을 설정합니다.
d. Permanent Date
크리프의 영향을 고려하기 위한 기간을 설정합니다.
C. Start CS Step
부재 별 적용될 시공 단계를 설정합니다.
FSM과 KeySeg의 경우 Segment가 완료된 후 순차적으로 반영되도록 설정하였습니다.
D. Deactive Step Interval
하중이 적용되는 Step을 정의합니다.
4. Used Components
Component Summary Table
Chapter | Contents | Component |
---|---|---|
Common | 컴포넌트 간 정보 연결 | Get Property |
2-1 Setting | API 연결 | MIDAS Setting |
3-1 Modeling | Main Girder/Coping 요소를 생성 | Beam |
Structure Group 을 지정 | Structure Group | |
3-2 Property | Material 정보를 생성 | Concrete Material |
User Material | ||
Time Dependent Material 정보를 생성 | Creep/Shrinkage | |
Comp.Strength | ||
Time Dependent Material Link | ||
Section 정보를 생성 | Outer-Dimension of PSC Shape | |
Inner-Dimension of PSC Shape | ||
Shear Check of PSC Shape | ||
Web Thick.for Shear of PSC Shape | ||
PSC Shape - 1,2 Cell | ||
Tapered Shape - PSC 1,2 Cell | ||
Shape User | ||
Change Offset | ||
Section | ||
Additional Option | ||
3-3 Boundary | Section에 발생한 하중을 각 지점에 전달 하는 방법 입력 | Rigid Elastic Link |
각 지점의 지지 조건 입력 | Supports | |
CIVIL NX의 Node ID Search | Get Node | |
CIVIL NX의 요소의 Node ID Search | Get Elem Node | |
Boundary Group 을 지정 | Boundary Group | |
3-4 Load | Load Case를 생성 | Static Load Cases |
자중 정보를 입력 | Self Weight | |
등분포 하중 입력 (2nd Load) | Beam Loads | |
집중 하중 입력 (Wet Concrete Load, Form Travelling Load) | Nodal Loads | |
추가 재령 입력 | Time Load | |
3-5 Prestress Load | Tendon 물성 정보를 생성 | Post-tension Tendon Property |
Tendon 경로 생성 | 3D Spline Tendon Profile | |
Tendon에 Prestress를 입력 | Tendon Prestress | |
3-6 Construction Stage | 시공 단계에 적용되는 요소 입력 | C.S Act. Structure Group |
시공 단계에 적용되는 하중 입력 | C.S Act. Load Group | |
시공 단계에 해제되는 하중 입력 | C.S Deact. Load Group | |
시공 단계에 적용되는 경계 조건 입력 | C.S Act. Boundary Group | |
시공 단계를 생성 | Define C.S | |
3-7 Update Data | 공통된 API 결합 | Merge Data |
CIVIL NX에 API 일괄 전송 | Model Builder |
5. Caution
5-1 Not Working Component
템플릿 사용 시 컴포넌트가 동작하지 않을 수 있습니다.
해당 현상이 발생 시 다음을 확인해 주세요.
a. API 연결 확인
b.컴포넌트 연결 확인
컴포넌트 연결 요소는 매뉴얼을 참고해 주세요.
GrassHopper API Online Manual – MIDAS Support
c.CIVIL NX Warning Message 확인
5-2 Modeling Error
템플릿 사용 시 컴포넌트가 정상적으로 CIVIL NX에 생성되지 않을 경우 다음과 같이 수행해 주세요.
[MIDAS GH] 2024. V.2.0.3 – MIDAS Support