달력

11

« 2019/11 »

  •  
  •  
  •  
  •  
  •  
  • 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.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.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 공장장 코딩스미스

댓글을 달아 주세요

2018.06.03 13:58

06-01 접촉(강제변위) salome-meca/튜토리얼2018.06.03 13:58

Box 위에 빔이 있은 상태에서 빔의 상면에 강제 변위를 주어 밑으로 눌렀을 때,

Box 윗면과 빔의 아래면이 접촉에 의해 변형이 일어나는 것을 해석.




모델링



결과물




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


mesh = MODI_MAILLAGE(

reuse=mesh,

MAILLAGE=mesh,

ORIE_PEAU_3D=_F(GROUP_MA=('press', 'contBar', 'fix', 'contBase'))

)


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(

DDL_IMPO=_F(DZ=-0.0002, GROUP_MA=('press', )), MODELE=model

)


contact = DEFI_CONTACT(

FORMULATION='DISCRETE',

MODELE=model,

ZONE=_F(

ALGO_CONT='CONTRAINTE',

GROUP_MA_ESCL=('contBar', ),

GROUP_MA_MAIT=('contBase', )

)

)


resu = STAT_NON_LINE(

CHAM_MATER=fieldmat,

COMPORTEMENT=_F(RELATION='ELAS'),

CONTACT=contact,

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

INCREMENT=_F(LIST_INST=listr),

MODELE=model

)


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=2

)


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

06-11 접촉(마찰 O, 변위구속, 페널티법)  (0) 2018.06.03
06-01 접촉 (하중구속 + 마찰)  (0) 2018.06.03
06-01 접촉(강제변위)  (0) 2018.06.03
01-00 해석 및 후처리(결과 보기)  (0) 2018.05.29
01-00 (메쉬)  (0) 2018.05.29
01-00 (모델링)  (0) 2018.05.28
Posted by 공장장 코딩스미스

댓글을 달아 주세요

우분투를 설치할 때, 사용 언어를 English(United State), 장소는 한국으로 설정하였다.


바탕화면 아이콘으로 실행한 salome-meca 2017 에서 해석 시뮬레이션을 Run하면 EncoderErrorcode가 계속 뜬다.


터미널에서


$ LANG='en_EN.uft8' ./salome


로 salome 실행 후, Run하면 문제가 없다.


혹시나 해서, 설정에서 사용 언어 및 장소를 English & US로 바꿔서 재부팅하고, 바탕화면 아이콘으로 salome 실행 후 run하였더니, 문제없더라.

'salome-meca' 카테고리의 다른 글

Ubuntu salome-meca 2017 실행 시 주의할 점  (0) 2018.06.02
Salome-meca 2017 설치(Ubuntu 18.04 LTS)  (0) 2018.06.02
Salome-meca 2017 설치 (Windows)  (0) 2018.05.27
[Salome-meca]1.시작  (0) 2018.05.27
Posted by 공장장 코딩스미스

댓글을 달아 주세요

2018.06.02 08:31

Salome-meca 2017 설치(Ubuntu 18.04 LTS) salome-meca2018.06.02 08:31

최신에 배포된 Ubuntu 18.04 LTS에서 Salome-meca 2017을 설치한다.


먼저 code-aster.org에서 salome-meca 2017을 다운받는다. Ubuntu에 설치된 Firefox 브라우저에서 다운하면 종종 실패해서 컴퓨터를 부셔버릴 수 있다.


wget 커맨드를 써서 다운로드 받으면 된다. 실패 시, retry 할 수 있는 옵션을 주면 문제없이 다운을 이어 받을 수 있다.


wget --tries=70 -c "https://www.code-aster.org/FICHIERS/Salome-Meca-2017.0.2-LGPL-2.tgz"


다운 완료 후, 다운 받은 파일이 손상되지 않았는지 checksum 비교해야 한다.


$ md5sum Salome-Meca-2017.0.2-LGPL-2.tgz

을 입력하여 홈페이지에 있는 md5 코드와 일치해야 한다.


다운을 받고, 압축을 풀어서 실행시킨다.


$ tar xvf Salome-Meca-2017.0.2-LGPL-2.tgz (압축 풀기)

$ ./Salome-Meca-2017.0.2-LGPL-2.run (설치 시작)


설치를 시작하면, 터미널 창에 아래와 같이 표시될 것이다.


===============================================
Self Extracting salome_meca V2017.0.2 Installer
===============================================

Enter the salome_meca install directory [default=/home/서버이름/salome_meca] :


>>기본 경로를 사용할 것이므로, 엔터를 누른다. 그러면, 언어 선택 옵션이 아래와 같이 표시된다. 영어로 설치할 것이므로, N을 입력 후 엔터 누른다.


===============================================
Self Extracting salome_meca V2017.0.2 Installer
===============================================

Enter the salome_meca install directory [default=/home/spider/salome_meca] :
salome_meca is in English, do you want to be in French ? [y/N] : N
Installation of salome_meca V2017.0.2 in /home/spider/salome_meca/V2017.0.2 ...
Verifying archive integrity...
All good.
Done                                                                           
./create_appli.sh: line 108: /salome_prerequisites.sh: No such file or directory
./create_appli.sh: line 109: /salome_modules.sh: No such file or directory
Creating salome_meca application in /home/spider/salome_meca/appli_V2017.0.2 ...
sed: can't read /.config_appli_template.xml: No such file or directory
grep: salome_context.cfg: No such file or directory
salome_meca post-installation ...
./create_appli.sh: line 240: python: command not found
./create_appli.sh: line 263: ./salome_post_install.py: No such file or directory
The salome_meca application was successfully created.
To run the application:
$ /home/spider/salome_meca/appli_V2017.0.2/salome
Adjusting wishexecutable /home/spider/salome_meca/V2017.0.2/tools/Code_aster_frontend-20170/etc/codeaster/profile.sh
Initialize terminal and editor for Code_aster


>> ./create_appli.sh 스크립트 실행에 문제가 있는 것을 알 수 있다. 해결을 위해 python을 설치한다.

$sudo apt-get install python
입력하여, 2.7 phthon을 설치한다. 설치 후, ./create_appli.sh 스크립트를 실행시킨다.

$ cd ./salome_meca/V2017.0.2
$ ./create_appli.sh


Enter salome_meca virtual application directory [default=/home/spider/salome_meca/appli_V2017.0.2] :
Creating salome_meca application in /home/spider/salome_meca/appli_V2017.0.2 ...
salome_meca post-installation ...
Adjusting the file : /home/spider/salome_meca/appli_V2017.0.2/SalomeApp.xml
The salome_meca application was successfully created.
To run the application:

$ cd appli_V2017.02/
$ ./salome

이걸로 salome-meca 2017 ubuntu 설치 완료한다.



'salome-meca' 카테고리의 다른 글

Ubuntu salome-meca 2017 실행 시 주의할 점  (0) 2018.06.02
Salome-meca 2017 설치(Ubuntu 18.04 LTS)  (0) 2018.06.02
Salome-meca 2017 설치 (Windows)  (0) 2018.05.27
[Salome-meca]1.시작  (0) 2018.05.27
Posted by 공장장 코딩스미스

댓글을 달아 주세요

보고 따라하면 됩니다.


<<빔 해석 해석 설정 파일 작성>>






<<빔 해석 결과 보기>>



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

06-11 접촉(마찰 O, 변위구속, 페널티법)  (0) 2018.06.03
06-01 접촉 (하중구속 + 마찰)  (0) 2018.06.03
06-01 접촉(강제변위)  (0) 2018.06.03
01-00 해석 및 후처리(결과 보기)  (0) 2018.05.29
01-00 (메쉬)  (0) 2018.05.29
01-00 (모델링)  (0) 2018.05.28
Posted by 공장장 코딩스미스

댓글을 달아 주세요