Command's Manual
일반 사항
hfSectionAnalyzer/hfSectionVisualizer에 사용되는 입력화일은 hfAnalyzer/hfVisualizer와 동일하게 Keyword를 갖는 블록을 갖는 텍스트 파일이다. #는 주석을 나타내는 문자이고, 이 문자 뒤의 문자열은 무시된다. 공백라인 역시 무시된다. Name 키워드에 따라오는 name을 제외하고는 대소문자를 구분하지 않는다.
사용되는 키워드는 *Unit
, *Function
, *Material
, *Section
, *SectionStop
, *SectionSignal
, *SectionAnalysis
등 이다. 이중 *Function
, *Material
, *Section
은 hfAnalyzer와 공유하는 명령어이며, 나머지는 hfSectionAnalyzer/hfSectionVisualizer에서만 사용되는 명령어이다.
*Unit, forceUnit-lengthUnit
*Function, TYPE=type, Name=name
...
*Material, TYPE=UConcrete, Name=name
...
*Section, TYPE=Beam, Name=name
*Geometry
...
*CellMeshPoint
...
*Gell, TYPE=Recta
*SectionStop
material, min_strain, max_strain
...
*SectionSignal
material, strain, msg
...
*SectionAnalysis, Name=name, Section=section,Left|Right Ref=angle,yp,zp, Output=Preselect|All
*SectionStep, ExtLoad=a,b,EK|EM|NK|NM, Inc=inc
InitialStress|Stress, cellId, value
...
*SectionStep, ...
...
*SectionStepPM, MaxDeform=maxAxial,maxKappa, Inc=1000, PMPoints=50
*SectionAnalysis, Name=name, Section=section
...
작성된 입력파일은 확장자는 강제조항은 아니지만 sec이다. 해석을 수행하면 log 파일과 xlsx 파일이 생성된다. log 파일은 계산된 단면상수와 함께 계산진행 과정을 표출한다. xlsx 파일은 비선형단면해석을 수행하는 경우(즉, *SectionAnalysis
가 존재하는 경우) 그 해석 결과값을 저장한다. 예를 들어 RCColumn.sec에 대해 해석을 수행하면 RCColumn.xlsx 파일에 비선형 단면 해석결과가 저장되고, RCColumn.log 파일에서 확인할 수 있다.
*Unit
단위계를 지정한다. 만약 이 명령이 없는 경우 단위계를 사용하지 않는다는 의미이다. hfSectionVisualizer에서 사용되며, hfSectionAnalyzer에서는 무시된다. *Unit, N-mm
등과 같이 *Unit, forceUnit-lengthUnit
형태이며, 가능한 단위계는 다음과 같다.
- forceUnit: N, kN, tonf, kgf, lb, kip
- lengthUnit: mm, cm, m, in, ft, yd
*Function
재료 모델 정의시 필요한 함수를 정의한다. hfAnalyzer에서 정의한 다양한 함수 중에서 아래의 타입만 사용가능하다.
*Function, TYPE=Multilinear/HognestadCEnv/ParabolaCEnv/FIBCEnv/MPPCEnv/MaekaTEnv
입력 상세는 hfAnalyzer의 명령어 매뉴얼을 참조하도록 한다.
*Material
일축 재료 모델을 정의한다. hfAnalyzer에서 정의한 다양한 재료모델 중 아래의 타입만 사용가능 하며, 포아송비, 밀도, 온도팽창계수 등의 물성치는 무시된다.
*Material, TYPE=IsoElasticity/vonMises/UConcrete/USteel
입력 상세는 hfAnalyzer의 명령어 매뉴얼을 참조하도록 한다.
*Section, TYPE=Beam
hfAnalyzer에서 정의한 다양한 단면 중 Beam 타입을 사용할 수 있다. 하위 명령으로 사용되는 명령어는 *CellMeshPoints
, *Cell
등이 있다. 이들 명령은 hfAnalyzer와 동일하나 사용가능한 *Cell
은 다음과 같다.
*Cell, TYPE=Point/*Cell, TYPE=Point,Circle
*Cell, TYPE=Layer/*Cell, TYPE=Layer,Circle,/*Cell, TYPE=Layer,Stack
*Cell, TYPE=Mesh/*Cell, TYPE=Mesh,Circle/*Cell, TYPE=Mesh,Rectangle/*Cell,TYPE=Mesh,WFlange
*Geometry
하위명령은 hfSectionVisualizer에서만 사용되고, hfSectionAnalyzer에서는 무시되는데 메쉬생성을 위한 형상정보를 지정한다. *Point
, *Curve
, *Face
등의 하위명령어를 가진다.
*SectionStop
필요에 따라 재료를 대상으로 단면해석을 종료할 변형률을 지정한다.
*SectionSignal
재료를 대상으로 단면해석시시 출력할 메시지를 지정한다.
*SectionAnalysis
단면 해석을 지정한다. 하위 명령으로 *SectionStep
, *SectionStepPM
이 있다. *SectionStep
은 단면해석 단계를 지정하고, *SectionStepPM
은 PM 다이어그램을 계산하는 해석 단계를 지정한다.
*SectionStop
은 재료(material), 해석을 멈출 최소(min_strain), 최대 변형률(max_strain)을 데이터라인에 기입한다. *SectionSignal
은 재료(material)과 메시지를 출력할 변형률 조건(strain), 출력 메시지(msg)를 기입한다. 이 두 명령은 옵션이다. 다음은 사용예이다.
*SectionStop
conc,-0.005,
rebar,-0.08,0.08
*SectionSignal
conc, 0.0001042, "Concrete Tesile Failure"
rebar, 0.002, "Rebar Yield“
*SectionAnalysis
에서 name은 해석명을 의미하며 xlsx 파일내의 시트명을 만드는 기준이 된다. Section=section, Left|Right에서 section은 해석대상 단면 이름이다. Left와 Right에서 taper 단면으로 정의되는 경우 시작단면 또는 끝단면 중 어느것을 사용할 지는 지정한다(디폴트는 Left) Ref=angle,yp,zp는 기준점과 회전각(degree)이다(디폴트는 0,0,0). Output에서 Preselect를 지정하면 각 cell에서 상하연단에서만 응력과 변형률을 출력해며, All은 모든 재료점에서 응력과 변형률을 출력한다(디폴트는 Preselet).
*SectionStep
, *SectionStepPM
는 *SectionAnalysis
의 하위명령어로 단면 해석을 지정한다. *SectionStep
은 단면변형률 또는 단면력을 지정하는 일반적인 단면해석을 의미한다. ExtLoad에서 해석유형 EK, EM, NK, NM 에 따라 도달해야 할 값 a, b를 지정하며, Inc=inc는 증분개수이며, 옵션이며 디폴트값은 1이다.
- ExtLoad=a,b,EK : 축변형과 곡률이 각각 a, b가 될 때 까지 해석
- ExtLoad=a,b,EM : 축변형과 모멘트가 각각 a, b가 될 때 까지 해석
- ExtLoad=a,b,NK : 축력과 곡률이 각각 a, b가 될 때 까지 해석
- ExtLoad=a,b,NM : 축력과 모멘트가 각각 a, b가 될 때 까지 해석
다음 예는 축력은 0을 유지한채, 곡률이 0.00004가 될 때까지 증분 개수 100개로 해석하라는 의미이다.
*SectionAnalysis, Name=E1, Section=section
*SectionStep, ExtLoad=0.,0.00004,NK, Inc=100
*SectionStep
은 연이어 지정할 수 있는데, 이를 통해 단계별 단면해석이 가능하다. 다음은 축력은 10 가력한 후, 축력을 유지한채 곡률을 변화시켜 파괴시 까지 해석하는 예이다.
*SectionAnalysis, Name=E1, Section=section
*SectionStep, ExtLoad=10.,0.,NM
*SectionStep, ExtLoad=10.,0.04,NK, Inc=100 # Assumption : 0.04 is large enough to fail the section
*SectionStep
의 데이터라인으로 필요할 경우 초기응력(InitialStress) 또는 도달해야할 응력(Stress)를 단면을 구성하는 셀(cell) 단위로 지정할 수 있다. InitialStress은 프리텐션, Stress로 포스트텐션을 지정할 수 있다. cellId는 셀의 아이디, value는 응력값이다. 예를 들어 IntialStress, 2, 1000은 2번 셀을 1000의 초기응력으로 해석을 시작하라는 의미이다. Stress, 3, 1000은 최종 단계에서 3번 셀이 1000의 응력 상태를 갖도록 해석된다. Stress, 1, 0 과 같이 지정하면 1번 셀이 없는 것과 같은 효과를 낼 수 있다. 다음은 프리텐션을 2번 셀에 가력한후, 축력 가력, 파괴시까지 곡률을 가력하는 형태의 해석이다.
*SectionAnalysis, Name=PHC500A-N2 Section=PHC500A
*SectionStep, ExtLoad=0.,0.,NM, Inc=1
InitialStress, 2, 994.625 # 0.7*fpu
*SectionStep, ExtLoad=-1766000,0,NM, Inc=1
*SectionStep, ExtLoad=-1766000,0.02/250,NK, Inc=1000
*SectionAnalysis
내에서 수행되는 *SectionStep
의 결과가 name 시트에 저장된다. 출력파일은 다음과 step number, 단면 축변형과 단면 축력(Ex와 Nx), 곡률과 휨모멘트(Kz, Mz), 셀의 재료점에서의 변형률과 응력(E.C1.1, S.C1.1 등), 메시지(Msg.) 등을 열로 갖는 시트 이다.
step, Ex, Nx, Kz, Mz, E.C1.1, S.C1.1, ..., Msg.
...
*SectionStepPM
은 PM 다이어그램을 해석하기 위한 명령어이다. 내부적으로 축력수준을 바꾸어가며 단면해석을 수행한다. 먼저 축력만 가력할때의 파괴하중을 계산하는데 이때 축변형값 maxAxial을 이용해 가력하게 된다. 따라서 maxAxial은 압축파괴가 발생할 수 있는 충분히 큰 값이어야 한다. 축력 파괴하중을 기준으로 축력 수준을 낮추어 곡률 변화에 따른 파괴해석을 수행하게 된다. pmpoints는 이때 사용하는 PM 다이어그램상의 점, 즉 축력 수준을 의미한다. maxKappa는 각 파괴해석시 최대 곡률을 정의하는 데 사용되므로, 파괴가 발생할 수 있도록 충분히 큰 값을 지정해야 한다. inc는 개별 파괴해석에서 사용하는 증분 개수이다. 다음은 철근콘크리트 단면을 대상으로 PM 해석을 수행한 예이다.
*SectionAnalysis, Name=RCSec, Section=RCSec
*SectionStepPM, MaxDeform=-0.005,0.02/250, Inc=1000, PMPoints=50
SectionAnalysis내에서 한번만 지정할 수 있으며, SectionStep 이후 지정할 수 있으나 최종 해석 단계여야 한다. 다음은 프리텐션 부재를 대상으로 PM 해석을 수행한 예이다.
*SectionAnalysis, Name=PHC500A Section=PHC500A
*SectionStep, ExtLoad=0.,0.,NM, Inc=1
InitialStress, 2, 994.625 # 0.7*fpu
*SectionStepPM, MaxDeform=-0.005,0.02/250, Inc=1000, PMPoints=50
*SectionStepPM
은 pmpoint 만큼의 단면해석을 수행한 것으로 이해할 수 있다. 이때 개별 단면해석의 결과를 name-pm@plevel 시트에 저장하게 되고, 파괴시의 단면변형/단면력을 정리하여 name-pm 시트에 저장한다. 위 예에서 PMPoints=50이므로 다음과 같은 파일이 생성된다.
PHC500A-PM@0 : 축력이 0인 경우 PHC500A-PM@2 : 축력이 파괴축력의 2%인 경우 ... PHC500A-PM@100 : 축력이 파괴축력의 100%인 경우 (모멘트는 0) PHC500A-PM : 파괴시 축력레벨에 따른 단면변형/단면력 파일
name-PM 시트는 다음과 같은 포맷이다.
PuLevel, ISTEP,Increment,E,N,K,M,MsgAtMaxPoint,RunningResultMsg
100,2,550,-0.002808,-8827490.751676,0.000000,-0.000000,,Stop Strain Reached
...