달력

6

« 2018/6 »

  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2018.06.30 00:43

괜찮은 Openfoam 사이트 링크 openFoam2018.06.30 00:43



https://www.xsim.info/articles/OpenFOAM/tutorials/heatTransfer-chtMultiRegionSimpleFoam-multiRegionHeaterRadiation.html





http://www.geocities.jp/penguinitis2002/study/OpenFOAM/index.html



openfoam + code_aster coupling

https://www.precice.org/

https://www.code-aster.org/forum2/viewtopic.php?id=20858

'openFoam' 카테고리의 다른 글

괜찮은 Openfoam 사이트 링크  (0) 2018.06.30
Posted by 공장장 코딩스미스

댓글을 달아 주세요

2018.06.17 23:38

iso 파일을 DVD나 USB에 저장하는 방법 Ubuntu2018.06.17 23:38

[1] DVD 굽기


Brasero 설치

$sudo apt-get update

$sudo apt-get install Brasero


Brasero 실행

이미지 생성 선택

iso 파일 선택

공디스크 넣고, 굽기 실행




[2] USB 저장

usb 이미지 라이터 실행


Posted by 공장장 코딩스미스

댓글을 달아 주세요

2018.06.17 23:26

커스텀 리눅스 OS iso 파일 만들기 Ubuntu2018.06.17 23:26

나를 포함한 많은 유저들은 Xubuntu 18.04 LTS에 다양한 프로그램을 설치해서 사용하고 있다.

특히, 오픈소스 빌드를 수없이 해오면서 시행착오를 거치면서 OS에 쓰레기 코드들이 넘치는 경험을 하곤한다.

깨끗한 상태로 복원시켜 다시 빌드하는 방법이 최선이기 때문에, 설치하다가 뻑이 나면 OS를 포맷하곤 한다.

프로그램 설치에는 정말 많은 시간, 노동력이 들어간다. 때문에 프로그램이 설치된 OS를 통채로 이미지(iso 파일)로 만들어 놓으면, 나중에 편해진다.


Pinguy Builder를 사용한 백업 OS 이미지 만드는 방법을 소개한다.


여기에서 pinguybuilder_5.1-3_all.deb를 다운받는다.


먼저 gdebi를 설치한다.


$ sudo apt-get update

$ sudo apt-get install gdebi

$ gdebi pinguybuilder_5.1-3_all.deb

(설치 완료)


어플리케이션에서 gdebi를 실행한다.


그리고, 

backup과 Dist 가 있는데, backup은 홈 디렉토리를 저장하는 설정이므로 iso 파일 용량이 커진다.

난 애당초 salome-meca 같은 프로그램은 /opt/에 설치하였기 때문에 Dist로 선택하여 이미지 생성한다.


xubuntu 18.04 LTS + (gcc, g++, python) + salome_meca 2017


로 2.7GB짜리 iso가 2시간 정도 걸려 만들 수 있다.


이렇게 만든 iso를 DVD에 굽거나, USB에 저장하는 방법은 다음에 소개하겠다.

Posted by 공장장 코딩스미스

댓글을 달아 주세요

2018.06.10 22:13

초탄성체 변형 salome-meca/튜토리얼2018.06.10 22:13







'salome-meca > 튜토리얼' 카테고리의 다른 글

초탄성체 변형  (0) 2018.06.10
회전체와 고무판의 접촉  (0) 2018.06.10
07-00 소성 (Bar)  (0) 2018.06.04
06-11 접촉(마찰 O, 페널티법)  (0) 2018.06.03
06-11 접촉(마찰 O, 변위구속, 페널티법)  (0) 2018.06.03
06-01 접촉 (하중구속 + 마찰)  (0) 2018.06.03
Posted by 공장장 코딩스미스

댓글을 달아 주세요

rigid03.mmed


Default 최대 해석 시간이 15분으로 설정되어 있는 상태에서 해석 시, CPU Time이 부족하다는 에러가 나올 수 있다.

이 시간을 충분히 늘려서 해석해야 했다.


해석에 걸린 총 시간은 다음과 같다.

9889.83 초(sec)
---------------------------------------------------------------------------------
cpu system cpu+sys elapsed
---------------------------------------------------------------------------------
Preparation of environment 0.00 0.00 0.00 0.00
Copying datas 0.04 0.03 0.07 0.12
Code_Aster run 8681.77 374.48 9056.25 9875.11
Copying results 13.46 0.63 14.09 14.11
---------------------------------------------------------------------------------
Total 8695.46 375.22 9070.68 9889.83
---------------------------------------------------------------------------------






'salome-meca > 튜토리얼' 카테고리의 다른 글

초탄성체 변형  (0) 2018.06.10
회전체와 고무판의 접촉  (0) 2018.06.10
07-00 소성 (Bar)  (0) 2018.06.04
06-11 접촉(마찰 O, 페널티법)  (0) 2018.06.03
06-11 접촉(마찰 O, 변위구속, 페널티법)  (0) 2018.06.03
06-01 접촉 (하중구속 + 마찰)  (0) 2018.06.03
Posted by 공장장 코딩스미스

댓글을 달아 주세요

2018.06.09 12:42

OpenCAE 링크2018.06.09 12:42

http://ofbkansai.sakura.ne.jp/



'링크' 카테고리의 다른 글

OpenCAE  (0) 2018.06.09
CAE Lifehacker  (0) 2018.05.30
Posted by 공장장 코딩스미스

댓글을 달아 주세요

2018.06.04 00:03

07-00 소성 (Bar) salome-meca/튜토리얼2018.06.04 00:03

소성 변형을 해석해 본다.

재료의 특성이 탄성영역에서 선형비례하지만, 소성영역에 이르면 응력/변형 관계가 비선형이 된다.

비선형이 되면, 해를 구하는 것이 어려워진다.

부하를 점차 늘려서 최종 값을 구하는 방법으로 푼다.


bar-100x20x10.step 모델을 import하여 아래와 같이 그룹 생성한다.







'salome-meca > 튜토리얼' 카테고리의 다른 글

초탄성체 변형  (0) 2018.06.10
회전체와 고무판의 접촉  (0) 2018.06.10
07-00 소성 (Bar)  (0) 2018.06.04
06-11 접촉(마찰 O, 페널티법)  (0) 2018.06.03
06-11 접촉(마찰 O, 변위구속, 페널티법)  (0) 2018.06.03
06-01 접촉 (하중구속 + 마찰)  (0) 2018.06.03
Posted by 공장장 코딩스미스

댓글을 달아 주세요

접촉 문제를 풀기 위해서는, 통상 접촉면에 마찰이 작용한다.

접촉면에 미끄러짐이 발생하고, 마찰력을 작용시켜 접촉문제를 풀어본다.

접촉문제는 비선형해석이기 때문에, 부하를 조금씩 걸어서 풀어야 한다.


위 모델링을 사용하여, 세가지 방법으로 해석을 실행한다.

1) 변위구속(마찰 X)

2) 변위구속(마찰 O, 페널티 방법)

3) 하중구속(마찰 O, 페널티 방법)

4) 하중구속(마찰 O, 라그량쥬 방법)


3) 하중구속(마찰 O, 페널티 방법)


load면에 1e6 Pa의 압력으로 눌러서, base를 슬라이드 해 본다. 이 때, 원주(top)은 변위구속하지 않기 때문에 위치가 정해있지 않고, 이동할 수 있다.

그래서 top에 약한 스프링을 추가해서 해석해야 한다.

마찰해석은 페널티법을 쓰므로, base를 0.5mm 이동하기 위한 하중이 마찰력 uF와 같은지 확인한다.

약한 스프링을 아래와 같이 추가한다.






마찰계수 u=1.5로 설정하여서, 위에서 누르는 하중보다 마찰력이 크므로, 원주가 미끌어지지 않고 회전한다. 그리고 top의 모서리 부분의 응력이 높지 않기 때문에 약한 스프링이 충분히 약하게 설정하였기 때문이다.

top의 회전보다 변위가 작기 때문에 약한 스프링의 영향이 없었을 수 있다.

마찰력이 너무 커서, top이 미끌어지지 않고 회전하고 있기 때문에 마찰계수를 작게 하여 top이 미끌어지는지 확인한다.


아래 영상은 마찰계수 u=0.2로 다시 계산한 결과다. 이 경우, top이 회전하지 않고, base 위를 미끌어지는 결과를 얻었다.




4) Lagrangien 법(마찰, 하중구속)

Lagrangien 법은, 접촉면에 직접 하중을 정의하여 접촉면의 변형을 없애서 접촉 문제를 푸는 방법이다. 일반적으로 안정성이 나쁘고, 수렴하기 어렵다.

설정 방법은 페널티법과 비슷하고, DEFI_CONTACT에서 ALGO_CONT를 LAGRANGIEN으로 설정해야 한다.

페널티법은 수렴계산을 하기 위해 fix 면의 이동량을 5번에 나눠서 계산하였지만, lagrangien법은 여기에서 분리하지 않고 1회 0.5mm 이동시키는 설정으로 바꿨다. 아무래도, Lagrangien법은 분할하면 2번째 스텝에서 에러가 발생한다. 그 대신에 solver의 이터레이션(반복) 횟수는 크게 설정한다.

CONVERGENCE >> ITER_GLOB_MAXI 60으로 설정


하지만, salome-meca 2017에서는 LAGRANGIEN을 선택할 수 없다. 따라서 이번 방법은 수행하지 않는다.




contact=DEFI_CONTACT(MODELE=MODE,
FORMULATION='DISCRETE',
FROTTEMENT='COULOMB',
ZONE=_F(GROUP_MA_MAIT='baseC',
GROUP_MA_ESCL='topC',
ALGO_CONT='LAGRANGIEN',
COULOMB=0.2,
ALGO_FROT='LAGRANGIEN',),);


'salome-meca > 튜토리얼' 카테고리의 다른 글

회전체와 고무판의 접촉  (0) 2018.06.10
07-00 소성 (Bar)  (0) 2018.06.04
06-11 접촉(마찰 O, 페널티법)  (0) 2018.06.03
06-11 접촉(마찰 O, 변위구속, 페널티법)  (0) 2018.06.03
06-01 접촉 (하중구속 + 마찰)  (0) 2018.06.03
06-01 접촉(강제변위)  (0) 2018.06.03
Posted by 공장장 코딩스미스

댓글을 달아 주세요

접촉 문제를 풀기 위해서는, 통상 접촉면에 마찰이 작용한다.

접촉면에 미끄러짐이 발생하고, 마찰력을 작용시켜 접촉문제를 풀어본다.

접촉문제는 비선형해석이기 때문에, 부하를 조금씩 걸어서 풀어야 한다.


위 모델링을 사용하여, 세가지 방법으로 해석을 실행한다.

1) 변위구속(마찰 X)

2) 변위구속(마찰 O, 페널티 방법)

3) 하중구속(마찰 O, 페널티 방법)

4) 하중구속(마찰 O, 라그량쥬 방법)



접촉해석을 페널티법으로 해석하기 위해서는, E_N, E_T 용수철계수를 정의해야 한다. 이 탄성계수는 아래처럼 설정한다.

양 탄성계수는 재료에 따라서 결정되기 때문에 입력할 필요는 없으나, 페널티법을 사용하기 위해서는 설정해야 한다.

페널티법은, 접촉부의 움푹 패이는 것을 상정해서 그 들어가는 양에 비례해서 접촉하중을 설정하고, 접촉문제를 풀기 위해 접촉하중을 만드는 탄성계수를 설정해야 한다.

이 탄성계수는 E_N이라고 한다.

마찰력 uF를 만드는 탄성계수 E_T도 동일한 이유로 설정할 필요가 있다.

이 경우, E_T를 작게(Aluminum의 1/8) 설정하여, 수렴시킬 수 있다.

페널티법 말고 라그란쥬법을 사용하면 마찰계수(COULOMB)만 입력하면 계산할 수 있으므로 설정이 편해진다.


(주) E_N, E_T 탄성계수의 설정 방법(매뉴얼 U2.04.04 인용)

E_N    법선하중 F를 만드는 탄성계수

접촉면의 변위에 의해서 생기는 법선방향의 하중 F를 만드는 탄성계수.

이 탄성계수는, 접촉면의 재료의 탄성계수(young률)을 설정한다. 접촉면의 재료가 다를 경우, 작은 young 률로 설정한다.

사용자 매뉴얼에는 smallest yang module이라고 기술되어 있으므로, 작은 yang 률을 설정한다.

이 탄성계수는 이상적으로 변위 0으로 하는 것이 좋으나, 탄성계수는 E_N= 무한대 로 되기 때문에 풀 수 없다.

따라서, E_N은 클수록 좋지만 너무 크면 수렴하기 어렵다. 너무 작으면 변위(움푹 패이는 정도)가 크기 때문에 재료의 yang 률로 설정한다.


E_T        마찰력 uF를 만드는 탄성계수

마찰력을 풀기 위해, 하중 F가 걸리지 않는 경우는 마찰력 uF가 발생하지 않는다.

하중 F가 걸리는 경우, 걸려진 하중 F에 대해서, 그 수직방향(미끄러지는 방향)에 어느정도의 마찰력 uF가 발생하는지 탄성계수를 E_T로 설정한다.

이 탄성계수는 미끄러지는 방향의 변위에 비례한 하중(마찰력)을 만들기 위한 탄성계수.

단, 마찰력의 최대값은 uF를 넘지않는다.

E_T값도 E_N와 같은 방식(smallest yang module)으로 설정한다.


**E_N : 접촉하는 두 재료 중 yang률이 작은 값으로 설정

**E_T : E_N의 1/10



2) 변위구속(마찰 O, 페널티 방법)





Posted by 공장장 코딩스미스

댓글을 달아 주세요

06-00 접촉(변위구속)과 유사한 해석을 하중 조건을 달리해서 해석한다.


공중에 떠있는 빔에도 하중이 걸리기 때문에, 빔이 기울기가 발생한다.

mesh = LIRE_MAILLAGE(FORMAT='MED', UNITE=3)


mesh = MODI_MAILLAGE(

reuse=mesh, MAILLAGE=mesh, ORIE_PEAU_3D=_F(GROUP_MA=('press', ))

)


model = AFFE_MODELE(

AFFE=_F(MODELISATION=('3D', ), PHENOMENE='MECANIQUE', TOUT='OUI'),

MAILLAGE=mesh

)


mater = DEFI_MATERIAU(ELAS=_F(E=1.303e+11, NU=0.343))


fieldmat = AFFE_MATERIAU(AFFE=_F(MATER=(mater, ), TOUT='OUI'), MAILLAGE=mesh)


ramp = DEFI_FONCTION(NOM_PARA='INST', VALE=(0.0, 0.0, 1.0, 1.0))


listr = DEFI_LIST_REEL(DEBUT=0.0, INTERVALLE=_F(JUSQU_A=1.0, PAS=0.2))


load0 = AFFE_CHAR_MECA(

DDL_IMPO=(

_F(DX=0.0, DY=0.0, DZ=0.0, GROUP_MA=('fix', )),

_F(DX=0.0, DY=0.0, GROUP_MA=('press', ))

),

MODELE=model

)


loadP = AFFE_CHAR_MECA(

MODELE=model, PRES_REP=_F(GROUP_MA=('press', ), PRES=100.0)

)


contact = DEFI_CONTACT(

ALGO_RESO_CONT='NEWTON',

ALGO_RESO_FROT='NEWTON',

ALGO_RESO_GEOM='POINT_FIXE',

FORMULATION='CONTINUE',

FROTTEMENT='COULOMB',

LISSAGE='OUI',

MODELE=model,

ZONE=_F(

ALGO_CONT='PENALISATION',

ALGO_FROT='PENALISATION',

COEF_PENA_CONT=200.0,

COEF_PENA_FROT=400.0,

CONTACT_INIT='INTERPENETRE',

COULOMB=0.4,

GROUP_MA_ESCL=('contBar', ),

GROUP_MA_MAIT=('contBase', ),

SEUIL_INIT=0.1

)

)


resu = STAT_NON_LINE(

CHAM_MATER=fieldmat,

COMPORTEMENT=_F(RELATION='ELAS'),

CONTACT=contact,

CONVERGENCE=_F(ITER_GLOB_MAXI=50, RESI_GLOB_RELA=1e-06),

EXCIT=(_F(CHARGE=load0), _F(CHARGE=loadP, FONC_MULT=ramp)),

INCREMENT=_F(LIST_INST=listr),

METHODE='NEWTON',

MODELE=model,

NEWTON=_F(REAC_ITER=1)

)


resu = CALC_CHAMP(

reuse=resu,

CHAM_MATER=fieldmat,

CONTRAINTE=('SIGM_ELNO', 'SIGM_NOEU'),

CRITERES=('SIEQ_ELNO', 'SIEQ_NOEU'),

MODELE=model,

RESULTAT=resu

)


IMPR_RESU(

FORMAT='MED',

RESU=_F(

MAILLAGE=mesh,

NOM_CHAM=('DEPL', 'SIGM_NOEU', 'SIEQ_NOEU'),

RESULTAT=resu

),

UNITE=80

)


Posted by 공장장 코딩스미스

댓글을 달아 주세요