본문 바로가기
반응형

아바쿠스31

아바쿠스 컨택 예제 (3D, Rigid) 두 물체의 컨택 예제입니다. 한 물체는 3D 디포머블 바디이고, 한 물체는 Rigid 입니다. 반대편은 pin 조인트입니다. 핀조인트를 점으로 설정하는 경우, bc 에서 회전 자유도를 제외한 나머지 5자유도를 구속해주어야 합니다. 리지드바디는 interaction constraint 에서 설정해주었습니다. 파트 단계에서 rigid로 할 경우에는 설정을 따로 안해줘도 됩니다. step은 general,static 으로 하였습니다. 컨택조건 생성시 rigid가 master body 어야 하고 slave가 더 fine 한 매쉬여야 합니다. 2023. 10. 21.
[Abaqus] kinematic vs contimuum vs structure coupling (모멘트 변위로 줄 때 비교) 아바쿠스에는 세가지 종류의 커플링을 제공합니다. 간단한 설명은 아래와 같습니다. Kinematic coupling: RP 와의 거리가 유지되며 변형 Continuum distributing coupling : 분포하중과 비슷한데 가중치 수정 가능, force만 전달. Structural distributing coupling : 분포하중과 비슷한데 가중치 수정 가능, force와 moment 전달. 모델은 가로 10 세로 10 높이 100인 막대입니다. 한쪽 끝은 고정(또는 대칭조건)하고 다른 쪽 끝에 굽힘 100을 주었습니다. 이들을 비교하기 위해 아래와 같은 하중조건을 가정했습니다. 왼쪽 끝단 BC 는 1,2,3 자유도 구속과 대칭조건으로 나누었습니다. 막대의 양 끝단에 모멘트만 걸렸다고 가정하고 z.. 2022. 6. 17.
[Abaqus] kinematic vs contimuum vs structure coupling (수직하중 시 비교) 아바쿠스에는 세가지 종류의 커플링을 제공합니다. 간단한 설명은 아래와 같습니다. Kinematic coupling: RP 와의 거리가 유지되며 변형 Continuum distributing coupling : 분포하중과 비슷한데 가중치 수정 가능, force만 전달. Structural distributing coupling : 분포하중과 비슷한데 가중치 수정 가능, force와 moment 전달. 이들을 비교하기 위해 아래와 같은 하중조건을 가정했습니다. 테스트 내용과 결과는 아래와 같습니다. continuum 과 structural 은 분포하중과 결과가 같습니다. kinemtaic 은 z방향 자유도만 구속할 경우 분포하중과 결과가 같습니다. 수직 하중을 주었을 경우이고, 모멘트나 변위를 주었을 때는 .. 2022. 6. 10.
[abaqus 매쉬수렴도] 2. 테스트 20x20x10 인 박스 윗면에 분포하중 1을 주었다. 요소 크기를 20%씩 줄이며 max-vonmises 응력을 구했다. 그래프로 그리면 아래와 같다. 다항함수를 잘 추종한다. 추종하는 함수는 아래와 같다. $y=0.6191x^{0.1049}$ 지난 글에서 마음대로 정한 룰을 적용해보자. "매쉬가 10% 증가했는데 결과값은 2% 이내로 변함" 아래 수식을 만족시키는 x를 찾으면 된다. 문제가 있다. 계산해보니 위 값이 상수다. 2%가 되게 할 수 없다. 다항함수의 특징인 것 같다. 로그함수로 피팅해보았다. 그런대로 잘 된다. "매쉬가 10% 증가했는데 결과값은 2% 이내로 변함" 인 x를 찾을 수 있나 해보았다. $\frac{0.12\ln(1.1x)-0.12\ln x}{0.12\ln x}=0.02$ 계.. 2022. 6. 7.
[abaqus 매쉬수렴도] 1. 문헌 매쉬를 조밀하게 짜면 결과값이 변한다. 변화 속도가 느려지기는 하는데 어쨌든 계속 변한다. 본미세스 응력을 예로 들면 매쉬가 조밀할 수록 응력이 계속 커진다. 완벽하게 수렴하지 않는 경우가 더 많을 것이고, 어떤 기준이 필요할 것 같다. 정답은 없겠지만 통계학에서의 5% 와 같은 rule of thumb 기준이라도 필요하다. 매쉬가 10% 증가했는데 결과값은 2% 이내로 변하면 수렴한 걸로 한다던가 하는 기준 말이다. 실제 테스트를 해보고 나름의 기준을 정해보려고 한다. 그 전에 문헌들을 좀 찾아보았다. Chen : 실험과 비교 Donahue : 5,2,1mm 비교. 2mm에서 1mm바꿀 때 2.5% 밖에 안줄어서 2mm 사용. Tuncer : 실험과 비교 Nikkhoo : 더 조밀한 매쉬와 2% 차이 .. 2022. 6. 7.
abaqus field out 출력파일에서 원하는 값만 가져오기 field output 에서 주응력, 주변형률을 출력했다. 파이썬에서 요소라벨과 각 값들만 가져오고 싶었다. 정규표현식으로 시도해봤는데, 쉽지않았다. 전략을 바꿨다. 각 줄을 문자열로 가져왔다. >>> raw_Zone_A[30] ' 642168 208.681E-06 152.361E-06 -665.429E-06 -6.03356E-03 -23.3627E-03 -274.990E-03\n' split 연산자를 이용해서 쪼갰다. >>> raw_Zone_A[30].split() ['642168', '208.681E-06', '152.361E-06', '-665.429E-06', '-6.03356E-03', '-23.3627E-03', '-274.990E-03'] 위 줄은 응력이 포함된 줄인데, 응력이 포함되지 않은.. 2022. 5. 23.
abaqus 실행동작에 대한 파이썬 코드 얻는 법 working directory 에 있는 abaqus.rpy 에 저장된다. 2022. 5. 20.
abaqus 에서 inp 생성 안하고 cae에서 바로 인풋코드 보는 법 CAE 에서 [Model]-[Edit keywords] 클릭 후 원하는 모델을 선택하면 인풋코드가 보입니다. 2022. 5. 20.
[abaqus inp 만들기 레벨1] 11. 출력할 결과 선택 (History output) 아바쿠스에서 결과 출력 방법은 두가지가 있습니다. Field output : 공간에 따른 데이터 f(x,y,z) history output : 시간에 따른 데이터 f(t) 지난시간에 Field output 을 정의했습니다. 오늘은 history output 을 정의해봅시다. strain enery 를 선택하겠습니다. 코드는 아래와 같습니다. *Output, history *Energy Output ALLSE, 이어서 step을 닫아줍시다. step 이 하나인 경우 닫지 않아도 되지만, 여러개인 경우도 있으므로 항상 닫아주는 것이 좋습니다. *End Step 전체 코드는 아래와 같습니다. *****노드 생성********************************************************.. 2022. 3. 8.
[abaqus inp 만들기 레벨1] 10. 출력할 결과 선택 (Field output) 아바쿠스에서 결과 출력 방법은 두가지가 있다. Field output : 특정 시점에서 위치에 따른 데이터 f(x,y,z) history output : 특정 위치에서 시간에 따른 데이터 f(t) 이번글에서는 Field output 을 알아보자 Field output 아래는 CAE 상의 field output 생성 창이다. Domain 에서 원하는 대상을 선택할 수 있다. 전체 모델에서 출력하면 된다. 해석을 돌린 뒤 odb에서 set 별로 추려볼 수 있다. displacement, stress, strain 을 선택해보겠습니다. 코드는 아래와 같습니다. *Output, field *Node Output U *Element Output E, S 이 코드는 CAE에서 간단한 모델로 inp 생성해서 해당부분.. 2022. 3. 8.
[abaqus inp 만들기 레벨1] 9. 주석 달기 아래와 같이 주석을 달아주었습니다. 코드 가독성을 높이기 위함입니다. *****노드 생성************************************************************ *node 1,0,0,0 2,5,0,0 3,10,0,0 4,0,5,0 5,5,5,0 6,10,5,0 7,0,10,0 8,5,10,0 9,10,10,0 10,0,0,5 11,5,0,5 12,10,0,5 13,0,5,5 14,5,5,5 15,10,5,5 16,0,10,5 17,5,10,5 18,10,10,5 19,0,0,10 20,5,0,10 21,10,0,10 22,0,5,10 23,5,5,10 24,10,5,10 25,0,10,10 26,5,10,10 27,10,10,10 *****엘리먼트 생성*********.. 2022. 3. 8.
[abaqus inp 만들기 레벨1] 7. 하중조건 부여하기 아래 보이는 그림처럼 윗면에 압력을 가할 것입니다. 위에 있는 네개의 element 에서 윗면 surface 에 distributed load 를 가하는 것입니다. 윗면에 하중을 가하기 위해 윗면을 선택해주어야 합니다. 선택하기 위해 먼저 면을 정의해야합니다. 면을 정의할 때는 surface 키워드를 사용합니다. surface 키워드는 아래와 같은 방법으로 사용합니다. *surface, name=my_surface, type=Element 엘리먼트 번호, 면방향 윗면의 엘리먼트 번호를 확인합시다. 5,6,7,8 입니다. 면 방향 로직은 아래와 같습니다. 노드 1,2,3,4,5,6,7,8 순서로 엘리먼트가 정의된 경우입니다. 우리가 정의한 엘리먼트에서 윗면은 face 2 입니다. S2 라고 입력합니다. *.. 2022. 3. 7.
[abaqus inp 만들기 레벨1] 4. 물성 정의하고 부여하기 우리는 노드와 엘리먼트를 만든 상태입니다. 여기까지는 빈 껍데기인데요. 재료로 만들기 위해 물성을 부여해야 합니다. 철이라고 가정하겠습니다. 탄성구간에서만 해석을 하겠습니다. 두가지 물성이 필요합니다. 영률과 푸아송비입니다. 철에서 각각의 값은 아래와 같습니다. E=200e9 v=0.3 아바쿠스 inp 에서 물성을 정의하는 코드는 아래와 같습니다. *elastic 은 탄성인 경우에 해당됩니다. *material, name=steel *elastic 200e9 ,0.3 물성을 우리가 만든 요소에 부여하기 전에 할 일이 있습니다. 지난시간에 만든 요소를 아래와 같이 변형해주겠습니다. *Element, type=C3D8R, ELSET=BODY1 1,1,2,5,4, 10,11,14,13 2,2,3,6,5, 11.. 2022. 3. 4.
[abaqus inp 만들기 레벨1] 3. 요소(element) 정의하기 요소는 노드들을 이용하여 정의합니다. 아래와 같이 요소 번호를 붙여보았습니다. 노드는 빨간숫자, 엘리먼트는 파란숫자입니다. 1번 요소를 봅시다. 1번 요소는 8개의 노드로 만들어집니다. 1,2,4,5,10,11,13,14 입니다. 요소를 정의할 때는 *element 라고 선언한 뒤에 아래와 같은 형식으로 정의합니다. 요소번호, 노드들... 노드 순서가 중요할까요? 먼저 아래와 같이 정의해보고 불러와봅시다. *Element, type=C3D8R 1,1,2,4,5,10,11,13,14 C3D8R 은 요소의 타입인데 아래 설명을 참고하시면 됩니다. C3D8R에서 C는 응력해석을 하겠다는 말이고, 3D는 3차원요소, 8은 노드가 8개, R은 reduced integration 이라는 의미입니다. 불러온 결과는 .. 2022. 3. 4.
[abaqus inp 만들기 레벨1] 2. 노드 생성하기 아래와 같은 매쉬모델을 만들겁니다. 매쉬를 만들때는 먼저 노드를 정의하고, 노드들을 이용해서 엘리먼트를 정의합니다. 노드 번호는 아래와 같이 지정하겠습니다. 총 27개의 노드가 필요합니다. 아바쿠스에서 노드를 정의할 때는, 먼저 *node 키워드를 선언해 준 뒤 아래와 같은 형식으로 정의합니다. 노드번호, x좌표, y좌표, z좌표 위 모델에서 블럭 하나의 가로길이를 5라고 놓는다면 노드들을 아래와 같이 정의할 수 있습니다. *node 1,0,0,0 2,5,0,0 3,10,0,0 4,0,5,0 5,5,5,0 6,10,5,0 7,0,10,0 8,5,10,0 9,10,10,0 10,0,0,5 11,5,0,5 12,10,0,5 13,0,5,5 14,5,5,5 15,10,5,5 16,0,10,5 17,5,10,5.. 2022. 3. 4.
[abaqus inp 만들기 레벨1] 1. 개요 아바쿠스 inp 을 직접 만들어보려고 합니다. 아바쿠스 해석은 아래와 같은 단계로 구성됩니다. 모델(노드, 엘리먼트) 정의 물성부여 관계설정 Step 생성 하중조건 경계조건 출력할 결과 선택 해석 수행 간단한 예제를 이용하여 공부해보도록 하겠습니다. 각 면이 사분할된 정육면체 하나를 만들고 윗면의 중앙에 하중을 가하는 예제입니다. 다음시간부터 한 스텝씩 진행해봅시다. 시작하기 전에 한가지 주의할 점이 있습니다. 빈 줄이 있는 경우 오류가 날 수 있으니 빈 줄을 넣기 원할 때는 주석 ** 을 넣어주시면 됩니다. 2022. 3. 4.
abaqus 에러 (Check the disk space on your system) 해결방법 해석을 돌렸는데 아래 오류가 난 경우가 있다. Check the disk space on your system 메시지 파일에 나와있다. 스크레치 경로를 공간 여유가 있는 E드라이브로 수정해주니 해결되었다. C드라이브도 공간 여유는 있었는데, 왜 이 오류가 났는지는 아직 모른다. 스크레치 경로는 C:\SIMULIA\Abaqus\6.11-1\site 안에 있는 abaqus_v6.env 인데, 사람마다 다를 수 있다. abaqus_v6.env 이걸 찾으면 된다. 열어서 scratch 찾아서 원하는 경로로 바꿔준다. scratch 가 없으면 아래와 같이 맨 아랫줄에 추가해주면 된다. 2022. 1. 21.
abaqus 요소별 부피 출력 방법 Step1 해석을 돌릴 때 filed output 에서 output variable로 부피를 선택해주어야 합니다. 실제 사용할 결과는 EVOL 입니다. 인풋을 쓴다면 아래와 같이 추가합니다. Step2 해석을 돌린 후 visualization 화면이라고 합시다. Report 탭에서 아래와 같이 선택합니다. Step3 출력합니다. 2021. 6. 3.
abaqus 요소별 변형률 에너지 밀도(strain energy density) 계산 방법 1. 스트레인 에너지 밀도 계산 수식 스트레인 에너지 밀도는 아래와 같이 계산됩니다. 각각은 주 응력(principal stress), 주 변형률(principal strain)입니다. $u=\frac{1}{2}( \varepsilon _{1}\sigma_{1} +\varepsilon _{2}\sigma_{2} +\varepsilon _{3}\sigma_{3})$ 훅의 법칙을 이용하면 변형도 가능합니다. 먼저 훅의 법칙은 아래와 같습니다. $\varepsilon_{1}=\frac{[\sigma_{1}-\nu(\sigma_{2}+\sigma_{3})]}{E}$ $\varepsilon_{2}=\frac{[\sigma_{2}-\nu(\sigma_{1}+\sigma_{3})]}{E}$ $\varepsilon_{.. 2021. 6. 2.
abaqus 단위변환 방법 (Pa인가, MPa인가 아바쿠스는 길이에서 1을 무엇으로 해석하느냐에 따라서 나머지 단위들이 달라집니다. 예를들어 1을 1mm로 해석한다면 응력은 MPa이 됩니다. 아래 표를 따르면 됩니다. 2021. 6. 2.
abaqus field output 과 history output의 차이 field output : 공간에 따른 데이터. f(x,y,z)=result 형태. history output : 시간에 따른 데이터 f(t)=reuslt 형태. history output 은 특정 point 에서의 결과이다. 2021. 6. 2.
abaqus 요소별로 응력,변형률 출력하기 (text,excel) Step1. 출력하기 원하는 element 만 보이게 한다. Step2. Report 탭의 Field Output을 실행한다. Step3. 출력하기 원하는 결과를 선택한다. Position 도 선택해준다. node마다 출력할 수도 있고, element 중심의 값만 출력할 수도 있다. Step4. Setup 탭 설정 이름을 설정한다. Append to file은 체크 해제한다. (체크할 경우 이전 파일에 누적되서 결과가 출력됨) 2021. 6. 2.
abaqus 결과 튈 때 확인사항 아바쿠스 매쉬 튈 때 확인사항 하이퍼매쉬로 매쉬를 짜고 아바쿠스 inp으로 해석을 돌리는 사람입니다. 아바쿠스를 쓰다가 값이 자주 튀고, 튀는 값을 잡기위해 늘 많은 시간을 소모합니다. FEM이 주 업무는 아니라서, 자주 쓰지 않기 때문에 할 때마다 튀는 값을 잡느라 시간을 허비하는게 아까워서 기록을 해두려고 합니다. 삽질을 엄청 했는데 결과만 공유합니다. elastic 재료이고, tie의 경우입니다. 1) tie조건 아래 조건으로 했을 때, 가장 안튐 SURFACE TO SURFACE adjust = no 2) element 테트라로 짜는 경우. C3D10M 3) 얇은 구조물은 두께방향 매쉬 개수 3개 이상 4) 서로 다른 두 물체의 접합면을 tie 하는 경우는 매쉬를 일치시켜주는게 가장 좋고. 완전히.. 2020. 8. 5.
abaqus 4가지 C3D10 요소 비교 아바쿠스 4가지 C3D10 요소 비교 아바쿠스에는 4가지 종류의 C3D10요소가 있습니다. 각각의 설명은 아래와 같습니다. 1) C3D10 - 가장 기본적임. 컨텍엔 안좋음. - finite sliding 에서 node to surface나, surface to surface + penalty enforcement method와 함께 쓰면 괜찮음.(컨텍에 불리한 특성을 상쇄) 2) C3D10M (Modified) - C3D10은 finite sliding + node to surface + direct enforcement method와 안좋은데, 이를 개선함. - 아바쿠스에서는 더이상 권장하지 않음. C3d10에서 NODE TO SURFACE + PENALTY ENFORCEMENT 를 권장함 - m 은.. 2020. 7. 31.
abaqus visualiztion 자주 쓰는 기능 모음 아바쿠스 visualiztion 자주 쓰는 기능 모음 1) 매쉬 안보이게 하기 [Options]-[Common]-[Basic]-[Visible Edges]-[No edges 체크] 2) 배경 색 바꾸기 [View]-[Graphics Options]-[Viewport Background]-[Solid] 3) Legend 관련 [Viewport]-[Viewport Annotation Options] 4) 특정 단면의 결과만 보기 [Tool]-[View Cut]-[Manager] 2020. 7. 22.
abaqus 컨택에서 무엇을 mater 로 놓아야 할까. 1) rigid body 가 master 2) 더 강성이 큰 body가 master 3) 매쉬가 덜 조밀한 body 가 master 4) 더 긴 body가 mater 5) 더 smooth 한 body가 master 3번만 설명을 하면, master 는 slave를 침투할 수 있다. 따라서 master가 더 조밀할 경우 침투가 많이 일어날 수 있기 때문데, slave가 더 조밀해야 한다. 2020. 7. 21.
[아바쿠스 CAE와 INP] TIE 설정하기 [아바쿠스 CAE와 INP] TIE 설정하기 tie는 두 surface의 node들을 하나로 고정시키는 역할을 합니다. tie 옵션에서 position tolerance 는 어느 거리까지를 고정할지를 결정합니다. specify distance를 0.1로 설정하면 거리가 서로 0.1 이내에 있는 node들에 tie가 적용됩니다. adjust slave surface initial position 옵션을 체크하면 초반에 간섭이 있는 부분을 같은 평면 위에 있게 수정해줍니다. 아바쿠스 tie 옵션에는 세 가지 discretization가 있습니다. 1) Analysis default : abaqus/standard는 surface-to-surface, abaqus/Explicit 에는 node-to-surfa.. 2020. 6. 30.
[하이퍼매쉬 tips] 하이퍼매쉬에서 아바쿠스 매쉬 c3d10 짜는 법 [하이퍼매쉬 tips] 하이퍼매쉬에서 아바쿠스 매쉬 c3d10 짜는 법 하이퍼매쉬에서 매쉬를 짜면 2d 삼각형은 S3, 사면체는 c3d4가 디폴트이다. https://abaqus-docs.mit.edu/2017/English/SIMACAEGSARefMap/simagsa-c-ctmselecting.htm 아바쿠스 도큐멘테이션에 보면 c3d4는 poor element 이고, c3d10 또는 c3d10HS가 일반적으로 사용되는 요소라고 한다. 2020. 6. 30.
[하이퍼매쉬 tips] 간격(GAP)을 mesh로 채워 넣는 방법 [하이퍼매쉬 tips] 간격(GAP)을 mesh로 채워 넣는 방법 매쉬와 매쉬 사이에 비어있는 간격을 매꿔야 하는 경우가 있습니다. 이럴때 사용하는 방법입니다. 한가지 문제가 생기는데요. 여러번에 나눠서 간격을 채우는 경우, 생성된 매시가 서로 연결되지 않는 문제가 발생합니다. node 번호를 보면 확인할 수 있는데 아래 글을 참고해주세요. https://forajont.tistory.com/168 2020. 6. 17.
[하이퍼매쉬 tips] Surface, element 등의 요소를 다른 component 로 이동, 복사 하는 방법 [하이퍼매쉬 tips] Surface, element 등의 요소를 다른 component 로 이동, 복사 하는 방법 하이퍼매쉬에서는 iges를 불러와서, 매쉬를 하고 다른 파트와 연관이 있는 매쉬는 다른 component 로 분리해서 사용하는 경우가 있습니다. 예를들어 A,B,C suface가 있고, A와 B가 하나의 파트1, B와 C가 하나의 파트2를 구성하는 경우입니다. 이때 파트 1의 매쉬 A와 B를 생성하고, 매쉬 B는 component를 분리합니다. 매쉬 A,B를 이용하여 파트 1의 3D 매쉬를 생성, 매쉬 B,C 를 이용하여 파트 2의 3D 매쉬를 생성합니다. 이럴 때 사용하는 기능입니다. (suface 는 복사만 되고 이동은 안되는 것 같습니다.) 2020. 6. 16.
반응형