728x90
300x250
[Mechanics(역학)] 체적변형률(Volumetric Strain, Bulk Strain)

 

이 글은 체적변형률에 관한 것입니다.
일반 물리하고 흡사하거나 비슷할 수도 있습니다.

 


1. 물체

 

 

그림 1-1. 어떤 물체, 도도(Dodo)

 

그림 1은 어떤 물체이다.

 

힘을 예를 들어서 위의 방향, 옆 방향, 오른쪽 방향으로 준다고 하자.

각각을 X, Y, Z라고 둔다.

 

아래의 그림은 각각의 축 단위로 변형이 일어날 수 있는 범위를 작성한 것이다.

그림 1-2. X, Y, Z축에 대한 변형, 도도(Dodo)

 


2. 체적 변형률

 

a, b, c의 변을 가정하자.

그리고 각 면에 대해서 수직하중을 라고 하자.

 

각 수직하중이 x, y, z축의 각 방향에 각각  의 변형률을 일으키고,
체적이 만큼 변화하였다고 하자.

 

그림 2-1. 변의 관계 (a, b, c)

 

그림 2-1을 변형률에 대한 관계로 살펴보면 다음과 같이 표현할 수 있다.

 

그림 2-2. 변형률 관계

 

[첨부(Attachment)]

physics_object.7z

 

이해가 안 된다면, 아래의 영상을 시청해보도록 하자. 

아래의 영상은 물체의 변형을 표현하기 위해 작성되었다.
위의 물체를 보면 알겠지만, 옆면에 예를 들어서 야구공을 던졌을 때도 일어날 수도 있다.
예) 충격으로 인한 변형 등.

그러나 지금 소개하는 체적변형률은 체적에 관한 변형률이다. 충격에 대한 것이 아니다.
여기에서는 체적에 관한 변형을 소개하고 있다. 이 영상의 한계점은 X, Y, Z좌표(3축)로 자유롭게 표현하지 못하고 있다.
1축(Y) 기준으로 표현되고 있다.

 

 

영상2-1. 변형의 현상 시연(Pad), 도도(Dodo)

 

 


2-1. 식 - 증명하기

 

a, b, c의 변을 가정하자.

그리고 각 면에 대해서 수직하중을 라고 하자.

 

각 수직하중이 x, y, z축의 각 방향에 각각  의 변형률을 일으키고,
체적이 만큼 변화하였다고 하자.

 

 

 

 

이것을 정리하면 아래의 식을 얻어낼 수 있다.

 

 

 

변형률에 대한 공식은 다음과 같다.

 

 

-> 길이에 대한 변형률을 구하는 것이 아니므로 l을 V로 표현하였다.

 

 

체적에 관한 변형률 식을 수립하면 다음과 같이 정의될 수 있다.

 

 

 


2-2. 이 동일한 값으로 변형할 때

 

이 된다.

 


2-3. 이 다른 값으로 변형할 때


 

각각의 변형률을 구해야 한다.

 

 

반응형
728x90
300x250

[Mechanics] Normal and Shear Stress and Strain(수직응력, 전단응력 그리고 변형률)

 

Hello, My name is Dodo.

헬로, 마이 네임이스 도도.

안녕하세요. 내 이름은 도도이다.

This article has explain to write a Stress and Strain.

디스 아티클 헤스 이스플레인 투 롸이트 어 스트레스 엔 스트레인

이 글은 응력과 변형률에 대해서 설명하기 위해 작성되었다.

 


1. Stress(응력)

 

응력 또는 변형력(變形力, 영어: stress)은 역학에서 단위면적당 작용하는 힘을 뜻한다. 응력(應力)이라고도 한다.
오귀스탱 루이 코시가 1822년 처음 고안했다.


Stress has type of two and "Normal, Shear".

1-1. Normal(Sigma, ): 수직응력(normal) 또는 법선응력이라고 부른다.

 

 

 

그림 1-1-1. Tensile Stress(인장 응력), Compressive(압축 응력)

 

 

 

 

 

1-2. Shearing Stress (Tau, ): Shear: 전단응력(Shearing Stress) 또는 접선응력(tangential Stress)라고 부른다.

 

 

그림 1-2-1. Shearing Stress(전단 응력)

 

 

[첨부(Attachment)] 

stress.7z

 

* 단순 응력(Simple stress): 수직 응력과 전단응력이 각각 작용되는 응력

예) 수직 응력만 작용했다. - 단순응력

예) 전단 응력만 작용했다. - 단순응력

 

* 조합응력(combinded Stress): 수직 응력, 전단응력 두 가지 이상 혼합 작용

예) 수직 응력 + 전단응력

예) 수직 응력 + 수직응력

예) 전단 응력 + 수직응력

예) 전단 응력 + 전단응력

* 굽힘응력(bending stress): 굽힘하중이 작용을 받는 물체의 횡단면에 발생되는 응력

* 비틀림응력(torsoional Stress): 비틀림하중이 작용을 받는 물체의 횡단면에 발생되는 응력

 


2. Strain(변형률)

 

변형도(strain) 또는 변형률은 응력으로 인해 발생하는 재료의 기하학적 변형을 나타낸다. 즉, 변형도는 형태나 크기의 변형을 의미한다.

 

 

그림 2-1. 가로 변형률

그림 2-2. 세로 변형률

 

(2-1) 가로 변형률

 

(입실론): 가로 변형률

l'(length prime): 나중길이

l(length) : 처음길이

(델타): l' - l = 나중길이 - 처음 길이

 

(2-2) 세로 변형률 

 

 

[첨부(Attachment)]

strain.7z

 


3. 참고자료(Reference)

 

[1] 변형력, Last Modified 10-29-2016 11:20(UTC+09), Accessed by 2018-07-30, https://ko.wikipedia.org/wiki/변형력

[2] 벤딩, Last Modified 04-28-2018 16:56(UTC), Accessed by 2018-07-30, https://en.wikipedia.org/wiki/Bending

[3] 토션(비틀림), Last Modified 07-20-2018 06:39(UTC), Accessed by 2018-07-30, https://en.wikipedia.org/wiki/Torsion_(mechanics)

[4] 변형도, Last Modified 03-10-2013(UTC+09), Accessed by 2018-07-30, https://ko.wikipedia.org/wiki/변형도

반응형
728x90
300x250

[PC활용] CFD(계산유체역학) - FreeCAD 0.18, BlueCFD 2017-2, cfMesh (MS 윈도우)

 

CAD(2D/3D) 프로그램인 FreeCAD 0.18와 계산유체역학 프로그램 중 하나인 BlueCFD와 재질 등의 처리에서 사용되는 cfMesh에 대해서 소개하려고 한다.

 

FreeCAD는 dwg에 대해서는 열기 기능을 완벽하게는 지원하지 않는다. (2D)

단, STP 등의 3D에 대해서는 지원한다.

 

FreeCAD로 수행할 수 있는 작업에는 FEM, CFD(계산유체역학 / 또는 전산유체역학) 등의 시뮬레이션 또한 수행할 수 있다.

호환이 잘 되는 소프트웨어로는 BlueCFD 프로젝트가 있다.

 

BlueCFD 프로젝트는 윈도우 기반에서 FreeCAD로 작업을 수행할 경우에 사용할 수 있다.

물론 리눅스 기반에서의 환경은 지원한다.

 


1. BlueCFD에 사용되는 몇 가지 프로젝트에 관한 것

 

OpenFoam 프로젝트는 이름이 같은 프로젝트가 두 개 있다.

 

표1-1. OpenFoam 프로젝트

 

프로젝트

기술(Description)

프로그램 버전(Program Version)

링크(Link)

 OpenFoam

 OpenFoam.com에서 운영하는 OpenFoam 프로젝트

- 기업 등의 연합으로 운영됨. GNU/GPL

29/06/2018: OpenFOAM v1806

31/12/2017: OpenFOAM v1712

30/06/2017: OpenFOAM v1706

23/12/2016: OpenFOAM v1612+

30/06/2016: OpenFOAM v1606+

13/01/2016: OpenFOAM v3.0+

20/11/2015: OpenFOAM 3.0.0

14/11/2015: OpenFOAM 2.4.0

10/12/2014: OpenFOAM 2.3.1

17/02/2014: OpenFOAM 2.3.0

14/10/2013: OpenFOAM 2.2.2

11/07/2013: OpenFOAM 2.2.1

06/03/2013: OpenFOAM 2.2.0

31/05/2012: OpenFOAM 2.1.1

19/12/2011: OpenFOAM 2.1.0

16/06/2011: OpenFOAM 2.0.0

26/08/2010: OpenFOAM 1.7.1

25/06/2010: OpenFOAM 1.7.0

28/07/2009: OpenFOAM 1.6

14/07/2008: OpenFOAM 1.5

03/08/2007: OpenFOAM 1.4.1

11/04/2007: OpenFOAM 1.4

29/03/2006: OpenFOAM 1.3

22/08/2005: OpenFOAM 1.2

11/03/2005: OpenFOAM 1.1

 http://www.openfoam.com

 OpenFoam

OpenFoam.org에서 운영하는 OpenFoam 프로젝트

- 재단의 성격으로 운영됨.

10th July 2018, OpenFOAM 6

26th July 2017, OpenFOAM 5.0

13th October 2016, OpenFOAM 4.1

28th June 2016, OpenFOAM 4.0

15th December 2015, OpenFOAM 3.0.1

3rd November 2015, OpenFOAM 3.0.0

22nd May 2015, OpenFOAM 2.4.0

10th December 2014, OpenFOAM 2.3.1

17th February 2014, OpenFOAM 2.3.0

14th October 2013, OpenFOAM 2.2.2

11th July 2013, OpenFOAM 2.2.1

6th March 2013, OpenFOAM 2.2.0

31st May 2012, OpenFOAM 2.1.1

19th December 2011, OpenFOAM 2.1.0

4th August 2011, OpenFOAM 2.0.1

16th June 2011, OpenFOAM 2.0.0

26th August 2010, OpenFOAM 1.7.1

25th June 2010, OpenFOAM 1.7.0

28th July 2009, OpenFOAM 1.6

14th July 2008, OpenFOAM 1.5

3rd August 2007, OpenFOAM 1.4.1

11th April 2007, OpenFOAM 1.4

29th March 2006, OpenFOAM 1.3

22nd August 2005, OpenFOAM 1.2

11th March 2005, OpenFOAM 1.1

12th January 2005, OpenFOAM 1.0.2

10th December 2004, OpenFOAM 1.0

 http://www.openfoam.org

 

영어 단어를 소개하겠다.

 

                표1-2. 영어 단어 - 월 읽기

 

번호

월-Month (영어)

한글(Korean)

1

January (제뉴어리)

 1월

2

Feburary (페이브러리)

 2월

3

March (마취)

 3월

4

April (에이프리)

 4월

5

May (메이)

 5월

6

June (준)

6월

7

July (줄라이)

7월

8

August (어거스트)

8월

9

September (세템버)

9월

10

October (악토버)

10월

11

November (노벰버)

11월

12

December (디셈버)

12월

 

                                        표1-3. blueCFD-Core 프로젝트

 

번호

프로젝트

프로그램 버전(Program Version)

기술(Description)

1

blueCFD-Core

(이하 blueCFD)

blueCFD-Core 2017-2,
27 February 2018

◾CMake 3.9.2
◾GCC 7.2.0
◾GDB 8.0.1
◾Git 2.14.1
◾Meld 3.16.4
◾Python 2.7.14
◾Python 3.6.2
◾Gnuplot 5.2.0-3 (updated)
◾Evince 3.26.0
◾Ghostcript 9.21
◦Notepad2 4.2.25

◦ParaView 5.4.1, 64-bit, built with the options:

  - Qt5, OpenGL2, MPI.
◦MS-MPI 7.1

◦MS-MPI 8.1

2

 

blueCFD-Core

(이하 blueCFD)

blueCFD-Core 2017-1,

3 November 2017

◾CMake 3.9.2
◾GCC 7.2.0
◾GDB 8.0.1
◾Git 2.14.1
◾Meld 3.16.4
◾Python 2.7.14
◾Python 3.6.2
◾Gnuplot 5.2.0-1

◾MSys2

◦ParaView 5.4.1, 64-bit,

  - Qt5, OpenGL2, MPI.
◦MS-MPI 7.1

◦MS-MPI 8.1(7.1 대체로 사용가능)

3

blueCFD-Core

(이하 blueCFD)

blueCFD-Core 2016-2,

27 September 2017

◾CMake 3.4.1
◾GCC 5.3.0
◾GDB 7.11
◾Git 2.7.2
◾Meld 3.15.1
◾Python 2.7.11
◾Python 3.5.0

◾MSys2

◦gnuplot 5.0.4

◦Notepad2 4.2.25

◦ParaView 5.1.2, 64-bit,

 - Qt4, OpenGL2, MPI.

◦MS-MPI 7.1

4

blueCFD-Core

(이하 blueCFD)

blueCFD-Core 2016-1,

11 August 2016

◾CMake 3.4.1
◾GCC 5.3.0
◾GDB 7.11
◾Git 2.7.2
◾Meld 3.15.1
◾Python 2.7.11
◾Python 3.5.0
◾MSys2

◦gnuplot 5.0.4

◦Notepad2 4.2.25

◦ParaView 5.1.2, 64-bit,

  - Qt4, OpenGL2, MPI.

◦MS-MPI 7.1

5

blueCFD

Release Notes for blueCFD:

blueCFD 2.3-1 - 2014.03.31
blueCFD 2.1-2 - 2013.02.11
blueCFD 2.1-1 - 2012.02.27
blueCFD 2.0-3 - 2013.04.03
blueCFD 2.0-2 - 2012.02.27
blueCFD 2.0-1 - 2011.12.15
blueCFD 1.7-2 - 2010.11.10
blueCFD 1.7-1 - 2010.08.16
blueCFD 1.6-2 - 2010.01.15
blueCFD 1.6-1 - 2009.11.11

 

6

blueCFD

Release Notes for blueCFD

ThirdParty:

blueCFD ThirdParty 2.1-2 - 2013.02.11
blueCFD ThirdParty 2.1-1 - 2012.02.27
blueCFD ThirdParty 2.0-3 - 2013.04.03
blueCFD ThirdParty 2.0-2 - 2012.02.27
blueCFD ThirdParty 2.0-1 - 2011.12.15

 

 

ThirdParty: 3자(함축의미: 관계)

Release Notes: 출시 기록

 

                                          표1-4. cfMesh 프로젝트

 

 번호

프로젝트

 프로그램 버전(Program Version)

 기술(Description)

 1

 cfMesh

v1.1.2 / 2016-10-11

v1.1.1 / 2015-09-18

v1.1 / 2015-06-15

v1.0.1 / 2015-03-09

v1.0 / 2014-07-02

 https://sourceforge.net/projects/cfmesh/?source=directory

 2

 cfMesh-CfdOF

cfMesh-CfdOF(cfmesh-cfdof.zip) / 2018-07-04

 https://sourceforge.net/projects/cfmesh-cfdof/files/latest/download?source=files

 

 

 

 

 

 

 

 

 

 

 

 

 

                                    표1-5. FreeCAD 프로젝트

 

 번호

프로젝트

Version

Release date

기술(Description)

1

FreeCAD

Old version, no longer supported:0.0.1

29-Oct-02

Initial Upload
--> The birth of FreeCAD

2

FreeCAD

Old version, no longer supported:0.1

27-Jan-03

3

FreeCAD

Old version, no longer supported:0.2

09-Aug-05

4

FreeCAD

Old version, no longer supported:0.3

31-Oct-05

5

FreeCAD

Old version, no longer supported:0.4

15-Jan-06

6

FreeCAD

Old version, no longer supported:0.5

05-Oct-06

7

FreeCAD

Old version, no longer supported:0.6

27-Feb-07

8

FreeCAD

Old version, no longer supported:0.7

24-Apr-09

9

FreeCAD

Old version, no longer supported:0.8

10-Jul-09

10

FreeCAD

Old version, no longer supported:0.9

16-Jan-10

11

FreeCAD

Old version, no longer supported:0.10

24-Jul-10

12

FreeCAD

Old version, no longer supported:0.11

03-May-11

 

13

FreeCAD

Old version, no longer supported:0.12

20-Nov-11

 

14

FreeCAD

Old version, no longer supported:0.13

29-Jan-13

 

15

FreeCAD

Old version, no longer supported:0.14

01-Jul-14

LGPL+v2로 라이센스

변경

16

FreeCAD

Old version, no longer supported:0.15

08-Apr-15

 

17

FreeCAD

Old version, no longer supported:0.16

18-Apr-16

 

18

FreeCAD

Current stable version:0.17

06-Apr-18

 

19

FreeCAD

Future release:0.18

Current Developer Release

 


2. BlueCFD 설치하기

 

 

그림 2-1) BlueCFD-Core / Windows 7 64bit - 설치 진행

 

 

그림 2-2) BlueCFD-Core / Windows 7 64bit - 설치 진행

 

 

그림 2-3) BlueCFD-Core / Windows 7 64bit - 설치 약관

 

 

그림 2-4) BlueCFD-Core / Windows 7 64bit - 설치 경로 설정

 

 

그림 2-5) BlueCFD-Core / Windows 7 64bit - 설치 옵션

 

-> Full Installation

-> Custom installation

 

두 종류로 구성된다.

 

 

그림 2-6) BlueCFD-Core / Windows 7 64bit - 시작메뉴 폴더명 지정

 

 

 

그림 2-7) BlueCFD-Core / Windows 7 64bit - 설치 후 추가 작업 선택하기

 

 

그림 2-7) BlueCFD-Core / Windows 7 64bit - 설치할 내용 점검

 

 

그림 2-8) BlueCFD-Core / Windows 7 64bit - 설치 마법사 진행

 

 

그림 2-9) BlueCFD-Core / Windows 7 64bit - MS MPI (7.1.12437.25) 설치

 

 

그림 2-10) BlueCFD-Core / Windows 7 64bit - MS MPI (7.1.12437.25) 설치

 

 

그림 2-11) BlueCFD-Core / Windows 7 64bit - MS MPI (7.1.12437.25) 설치

 

 

그림 2-12) BlueCFD-Core / Windows 7 64bit - MS MPI (7.1.12437.25) 설치

 

 

그림 2-13) BlueCFD-Core / Windows 7 64bit - MS MPI (7.1.12437.25) 설치

 

 

그림 2-14) BlueCFD-Core / Windows 7 64bit - MS MPI (7.1.12437.25) 설치 완료

 

 

그림 2-15) BlueCFD-Core / Windows 7 64bit - 설치 진행

 

 

그림 2-16) BlueCFD-Core / Windows 7 64bit - 설치 완료

 

 

그림 2-17) BlueCFD Project 홈페이지 - User Guide

 

그림 2-18) BlueCFD-Core 2017 - 설치된 모습 1

 

 

그림 2-19) BlueCFD-Core 2017 - 설치된 모습 2

 

 

그림 2-20) BlueCFD-Core 2017 - 실제 설치 소요 용량 (5.04GB / 5,413,113,856 Byte)

 

한 가지 알아야 할 것은 저장 크기에 대한 단위이다.

 

 

 

 

그림 2-21) blueCFD-Core 2017 / Readme.txt

 

Gnu/GPL 라이센스를 가지고 있다고 되어있다.

 

 

 

그림 2-22) BlueCFD-Core 2017 - Download

 

BlueCFD-Core 2017을 다운 받을 수 있는 곳이다.

소스코드도 배포하고 있다.

 


3. FreeCAD(소개와 설치)

 

FreeCAD라고 해서 오해하면 안 되는 게 CAD(캐드)라고 하면 무조건 OO캐드(이하 "OOOOCAD")를 생각하면 절대 안 된다.

여러 종류의 소프트웨어가 존재한다. 3D Modeler(이하 3D 모델러)도 존재한다.

 

 

그림 3-1) FreeCAD - Official Site

 

 한글(Korean) 

 환영! (Welcome)
 

 FreeCAD는 기본적으로 모든 크기의 실제 개체를 디자인하기 위해 만들어진 파라 메트릭 3D 모델러이다.

 파라 메트릭 모델링을 사용하면 모델 기록으로 돌아가서 매개 변수를 변경하여 설계를 쉽게 수정할 수 있다.

 FreeCAD는 오픈 소스이며 사용자 정의가 가능하고 스크립팅 가능하며 확장 가능하다.

 FreeCAD는 멀티 폼 (Windows, Mac 및 Linux)이며 STEP, IGES, STL, SVG, DXF, OBJ, IFC, DAE 및 기타 여러 파일 형식을 읽고 쓴다.

 FreeCAD를 사용하는 사람은 누구입니까? 몇 가지 사용자 사례 :

 가정 사용자 / 애호가: 빌드하거나 빌드했거나 3D로 인쇄하고 싶은 프로젝트가 있습니까? 모델을 FreeCAD로 모델링해라.
                                 - 
이전의 CAD 경험이 필요하지 않는다. 우리 지역 사회는 당신이 신속하게 그것을 걸 수 있도록 도와 줄 것이다!

 숙련된 CAD 사용자: 직장에서 상용 CAD 또는 BIM 모델링 소프트웨어를 사용하면 FreeCAD의 많은 작업 벤치에서 유사한 도구와 워크 플로우를
                               찾을 수 있다.

 프로그래머: FreeCAD의 거의 모든 기능은 Python에서 액세스 할 수 있습니다. FreeCAD의 기능을 쉽게 확장하고, 스크립트로 자동화하거나,
                   자체 모듈을 만들거나, FreeCAD를 자신의 응용 프로그램에 내장(임베디드) 할 수 있다.

 교육자: 라이센스 구매에 대한 걱정없이 자유 소프트웨어를 학생들에게 가르쳐줘라. 
             
그들은 집에서 동일한 버전을 설치하고 학교를 그만두고 계속 사용할 수 있다.

 영어(English)

 Welcome!

 

 FreeCAD is a parametric 3D modeler made primarily to design real-life objects of any size.

 Parametric modeling allows you to easily modify your design by going back into your model history and changing its parameters.

 FreeCAD is open-source and highly customizable, scriptable and extensible.

 FreeCAD is multiplatfom (Windows, Mac and Linux), and reads and writes many open file formats such as

 STEP, IGES, STL, SVG, DXF, OBJ, IFC, DAE and many others.

 

 Who is FreeCAD for? A couple of user cases:

 

 The home user/hobbyist: Got yourself a project you want to build, have built, or 3D printed? Model it in FreeCAD.

 No previous CAD experience required. Our community will help you get the hang of it quickly!

 The experienced CAD user. If you use commercial CAD or BIM modeling software at work, you will find similar tools and workflow among the many 

 workbenches of FreeCAD.

 

 The programmer: Almost all of FreeCAD's functionality is accessible to Python.

                             You can easily extend FreeCAD's functionality, automatize it with scripts, build your own modules or even embed FreeCAD

                             in your own application.

 The educator: Teach your students a free software with no worry about license purchase.

                         They can install the same version at home and continue using it after leaving school.

 

 

그림 3-2) FreeCAD - Download Site

 

FreeCAD는 크게 3가지 버전으로 제공된다.

= Windows(윈도우) 32bit, 64bit(비트), Mac(맥) 64bit, AppImage (Linux) 64bit (앱이미지 (리눅스))

 

 


3. FreeCAD 환경설정 / 부가기능 추가하기

 

 

그림 3-1) 도구(T)-> Addon manager

 

 

그림 3-2) cfdOf - Addon manager

 

 

그림 3-3) 편집(E)->환경설정(P) / FreeCAD 0.18

 

 

그림 3-4) OpenFoam-5.x 경로 설정

 

 

그림 3-5) CFD / cfMesh 다운 받았던 파일의 설치 경로 지정 또는 Install cfMesh 클릭하기

 

cfMesh는 GUI 인터페이스 창에서는 설치가 다 된 것처럼 보일 수 있겠으나 실제로는 1시간~2시간 정도 설치 시간이 소요된다.

 

 

영상 3-1) cfMesh - FreeCAD with cfdOf

 

 

그림 3-6) Run-dependency checker 클릭 결과

 


4. 실습 - Computational Fluid Dynamics(CFD)

 

본격적인 CFD 실습을 진행하도록 하겠다.

 

 

그림 4-1) OpenSim / Tutorials 홈페이지

 

OpenSim에서 Elbow (CFD Tutorial 1)을 클릭한다.

 

 

그림 4-2) CFD Workbench (최소 요구사항)

 

윈도우와 리눅스 기종을 요구한다.

윈도우에서는 blueCFD에 OpenFoam이 빌드된 것을 요구하고 있다.

 

리눅스에서 사용되는 프로그램도 물론 Windows에서도 최근에는 지원한다.

 

 

그림 4-3) Sketch, FreeCAD

 

해당 설명서를 보고 도면을 작성했다.

그림 4-4까지 진행 완료한 도면이다.

 

아래에 첨부하였다.

 

Elbow.7z

 

 

 

그림 4-4) Pad the Sketch, FreeCAD

 

그림 4-4를 살펴봤을 때, 윈도우 환경에서 진행한 실험 영상은 아닌 것으로 보인다.

 

 

그림 4-5) Flow Process - Creating the mesh

 

그림 4-5에서는 CFD Mesh by GMSH라는 창에서 Mesh를 진행하고 있다.

최근 버전에서는 화면 인터페이스가 차이가 있다.

 

작업한 파일이다. 참고하면 된다.

Elbow-AdvancedCFD.7z

 

 

그림 4-6) 시연한 cfMesh, snappyHexMesh, gmsh

gmsh의 경우에는 윈도우 Kernel.dll과 충돌하는 현상이 발생한다.

 

 

그림 4-7) 충돌 발생한 gmsh, FreeCAD

 

 

 

 


5. 시연

 

아래의 영상은 도도가 직접 외국의 영상을 참고하여 시연한 영상이다.

 

 

영상 5-1) FreeCAD 0.18, BlueCFD와 cfMesh 시연하기

 

참고 링크이다.

https://www.reddit.com/r/OpenFOAM/comments/7wcf20/freecad_fem_openfoam_cfd_workbench_video_tutorial/

 

시연에서 문제가 있다면, 버전의 차이점이 있을 수 있다.

외국 영상에서 사용된 BlueCFD 버전 등 차이가 있을 수 있으니 참고 바란다.

 

이 영상이 사소한 것 같지만, 무척 중요한 것을 소개하고 있다.

 


6. 결론(Conclusion)

 

윈도우 기반에서 동작하기 위해서는 아직까지는 난재들이 존재한다고 볼 수 있다.

Oracle VirtualBox(GNU/GPL) 또는 WIndows 8, 10에서 지원하는 Virtual PC 등을 활용하여 리눅스를 구동한 후에 진행한다면 시도해볼만한 가치가 있다고
보여진다.

 

앞서 OpenFoam 실습 영상(영상 5-1)을 자세히 보면, Core에 관한 사항이 등장한다.

코어 갯수라는 것은 아래의 그림에서 간단하게 소개할 수 있다.

 

 

그림 6-1) 프로세서의 논리적 또는 물리적 갯수

 

실제 i5-3230M 기종의 경우에는 물리적 CPU는 1개이다.

단, 논리적인 CPU는 4개이다.

 

#include < stdio.h >

 

int main(){

 

    return 0;

}

 

그림 6-2) 슈도코드 / C언어

 

이러한 코드로 프로그래밍을 작성한다면, 실제 존재하는 프로세서의 자원을 다 사용할 수가 없다.

논리적인 CPU 1개를 점유하여 사용하는 꼴 밖에 되지 않는다.

 

내가 왜 FreeCAD와 BlueCFD를 이 코너에 소개하는 이유가 있다.

 

 

그림 6-3) 그림 4-5에서 설계한 Elbow - 예

 

그림 6-3처럼 Elbow를 설계했다고 하자. 이 물체에는 공기(Air), 물(Water), 가스(Gas) 등의 기체, 액체가 유입될 수가 있다.

물론 가스(Gas)는 기체에 해당된다. 물은 액체에 해당된다.

 

 

그림 6-4) 그림 6-3에 물을 호수로 발사한 그림

 

그림 6-4는 물을 발사한 그림이다.

아래의 그림처럼 물은 초당 ?Pa로 elbow 객체에 액체를 주입하게 될 것이다.

 

그림 6-5) Elbow에 물을 초당 발사하는 경우

 

 

그림 6-6) 경계값을 설정하며, 물이 넘치지 않도록 막은 경우

 

그림 6-5와 그림 6-6은 물이 실제로 유입되고 있는 모습이다.

 

 

그림 6-7) 물이 다 주입된 상태

 

그림 6-8) 물이 넘쳐도 계속 물을 주입하고 있는 상태 (? Pa/s의 값은 일정함)

 

나는 "시뮬레이션" 프로그램을 다룰 수 있으면 현상을 체험하거나 관찰하는데 매우 큰 도움이 된다고 주장한다.

데이터를 물론 직접 수동으로 식을 수립하여 수동으로 구할 수도 있지만, 계산에 있어서 한계가 있다.

 

개선된 식 등이 있을 수가 있고, 여러 문제가 있을 수 있다.

물론 이러한 시뮬레이션 프로그램을 돌리면서 사람에 의한 계통오차 등을 줄일 수 있다.

흥미로운 주제라고 여겨져서 작성하게 되었다.

 


7. 실습 2 - 인벤터를 활용한 FreeCAD with BlueCFD, cfMesh

 

 

영상7-1) 실습 - FreeCAD with BlueCFD, cfMesh

 

Mesh의 수치 범위를 재조정하여 진행하니 동작은 하는데, 수치 그래프가 출력되지 않았다.

에러 없이 출력되었으며, 해석까지 진행하였다.

 

아래의 첨부 자료는 도출(Extrude 또는 Pad)의 값을 달리한 실습을 진행하였다.

 

1mm로 진행한 Elbow와, 1000 mm로 도면을 각각 두 가지로 진행하였다.

진행하면서 얻어낸 실습물은 다음과 같다.

 

FreeCAD 0.18에서 cfMesh를 진행할 때 Base Elements의 값에서 상관관계가 있음을 확인할 수 있었다.

 

1mm로 작업한 도면으로 Base Elements를 0에 두고 Mesh를 산출하였을 때 이상적인 수치로 1.6 정도가 나왔으나 계산이 되지 않아서 Mesh 처리된 그래픽 결과물을 도출할 수 없었다. 0.6으로 수정하여 진행하였더니 Mesh 계산값이 반영된 그래픽 결과물을 얻어낼 수 있었다.

 

1000mm로 작업한 도면으로 Base Elements를 0에 두고 Mesh를 산출하였는데 이상적인 수치로 20 (mm) 정도가 나왔다. 19, 18, 17, 16, ...., 11 mm까지 계산을 진행하였지만, 그래픽 도출을 할 수 없었다. 10mm로 두고 진행하였더니 Mesh 계산 값이 반영된 그래픽 결과물을 얻어낼 수 있었다.

 

Elbow.7z

 

출력에 대한 것이다.

OpenFoam으로 그래프 도출을 시도하였는데 되지 않았다. Ux, Uy, Uz값에 문제가 있는지 확인 등을 하였다.

opensimsa/cfd/elbow 프로젝트의 설명대로 값을 최대한 동일하게 넣었음에 불구하고 동작하지 않았다.

 

이상으로 실습을 마친다.

 


8. 참고자료(Reference)

 

1. 표1-1, Release History, https://www.openfoam.com/download/release-history.php, Accessed by 2018-07-20

2. 표1-1, Release History, https://openfoam.org/download/history/, Accessed by 2018-07-20

3. 표1-3, blueCAPE´s Official Website - blueCFD-Core Release Notes, http://joomla.bluecape.com.pt/index.php?option=com_mamblog&Itemid=43&task=show&action=view&id=66, Accessed by 2018-07-20

4. Release Notes : blueCFD-Core Project, http://bluecfd.github.io/Core/ReleaseNotes/, Accessed by 2018-07-20

5. 표1-4, cfMesh-CfdOF, https://sourceforge.net/projects/cfmesh-cfdof/, Accessed by 2018-07-20

6. FreeCAD: An open-source parametric 3D CAD modeler, https://www.freecadweb.org, Accessed by 2018-07-20

7. Releases · FreeCAD/FreeCAD · GitHub, https://github.com/FreeCAD/FreeCAD/releases, Accessed by 2018-07-20

8. 표1-5, https://en.wikipedia.org/wiki/FreeCAD, Accessed by 2018-07-20

9. 그림 4-1, https://opensimsa.github.io/training.html, Accessed by 2018-07-20

10. opensim/Documentation/CFD/Elbow at master · opensimsa/opensim · GitHub, https://github.com/opensimsa/opensim/tree/master/Documentation/CFD/Elbow, Accessed by 2018-07-20

11. MS MPI 9 SDK, https://msdn.microsoft.com/en-us/library/bb524831(v=vs.85).aspx, Accessed by 2018-07-20

12. MPI 8, https://www.microsoft.com/en-us/download/details.aspx?id=55494, Accessed by 2018-07-20

13. Computational Fluid Dynamics (CFD) workbench using OpenFOAM, https://forum.freecadweb.org/viewtopic.php?t=21576, Accessed by 2018-07-20

-> FreeCADweb Forum이다. 글을 남겨도 무방하다.

반응형
728x90
300x250

[PC활용] ParaView-5.5.2-Qt5 - 유한요소 해석 프로그램

 

PC활용 ParaView-5.5.2에 대해서 소개하고자 한다.

이 프로그램은 전산 과학 분야에서 사용할 수 있는 오픈소스 프로그램이다.

 

운영체제: 윈도우 7, ParaView 5.5.2 Qt5
리눅스 등에서도 지원하니 더 찾아보면 도움이 될 것으로 보인다.

 


 

ParaView는 전산 과학 분야의 많은 데이터를 처리 할 수있을 정도로 유연하다.

 

실제로 표준 데스크톱 응용 프로그램은 광범위한 응용 프로그램 도메인을 다루는 100 가지 이상의 다양한 파일 형식을 읽을 수 있다. 
 ParaView는 특히 유한 요소, 유한 볼륨 및 포인트 세트 방법과 같은 기술을 사용하는 과학 분야에 적합하다.
일반적으로 이러한 기술은 실제 세계에서 모양으로 인식하고 인식 할 수있는 3 차원 공간에 포함 된 엔티티의 결과를 계산하는 데 적용된다.
ParaView는 확장 가능하지만 주로이 유형의 데이터에 맞게 조정 된 VTK의 데이터 모델을 상속 받는다.
독자가 과학 데이터 세트를 위해 존재하거나 그렇지 않으면 VTK의 데이터 구조 중 하나로 번역 될 수있는 경우, ParaView를 사용하면 쉽게보고
분석 할 수 있다.

 

https://www.paraview.org/paraview-license/

 

ParaView 5.5.2는 BSD License를 적용 받는다.

 

Developer(s) / (개발자)
Sandia National Laboratory, Kitware Inc, Los Alamos National Laboratory

Stable(안정화된 버전)
release 5.5.2[1] / June 19, 2018; 18 days ago[1] 

Written in(작성 언어)
C, C++, Fortran, Python

Operating system(운영체제)
Unix/Linux, macOS, Microsoft Windows

Type(유형)
Scientific visualization, Interactive visualization

License(라이센스)
BSD

Website
www.paraview.org

 

 

 대규모 데이터 시각화가 쉬워졌다.

 ParaView는 오픈 소스, 다중 플랫폼 데이터 분석 및 시각화 응용 프로그램이다.
 
ParaView 사용자는 질적 및 양적 기술을 사용하여 데이터를 분석하기위한 시각화를 신속하게 구축 할 수 있다.
 
데이터 탐색은 ParaView의 일괄 처리 기능을 사용하여 3D 또는 프로그래밍 방식으로 대화식으로 수행 할 수 있다.
 
ParaView는 분산 메모리 컴퓨팅 리소스를 사용하여 대용량 데이터 세트를 분석하기 위해 개발되었다.
 
슈퍼 컴퓨터에서 실행되어 작은 데이터의 경우 랩톱뿐만 아니라 petascale의 데이터 세트를 분석 할 수 있다.
 
ParaView는 애플리케이션 프레임워크이자 턴키 애플리케이션이다.

 ParaView 코드 기반은 모든 구성 요소를 재사용하여 수직 어플리케이션을 신속하게 개발할 수 있도록 설계 되었다.
 
이러한 유연성 덕분에 ParaView 개발자는 특정 문제 영역에 대한 특정 기능을 갖춘 애플리케이션을 신속하게 개발할 수 있다.
 
ParaView는 분산 및 공유 메모리 병렬 및 단일 프로세서 시스템에서 실행된다.
 
Windows, Mac OS X, Linux, SGI, IBM Blue Gene, Cray 및 다양한 Unix 워크 스테이션, 클러스터 및 수퍼 컴퓨터에 성공적으로 배포되었다.

 ParaView는 데이터 처리 및 렌더링 엔진으로 Visualization Toolkit (VTK)을 사용하고 Qt®를 사용하여 작성된 사용자 인터페이스를 가지고 있다. 

 ParaView 팀의 목표는 다음과 같다.

 • 오픈 소스, 다중 플랫폼 시각화 응용 프로그램 개발.
 • 대규모 데이터 세트를 처리하기위한 분산 계산 모델을 지원한다.
 • 개방적이고 유연하며 직관적 인 사용자 인터페이스를 만든다.
 • 개방형 표준을 기반으로 확장 가능한 아키텍처를 개발해라.
 

 
 ParaView의 역사

 ParaView 프로젝트는 Kitware Inc.와 Los Alamos National Laboratory 간의 공동 작업으로 2000년에 시작되었다.
 
초기 자금은 US Department of Energy ASCI Views 프로그램과 3 년 계약으로 제공되었다.
 
최초 공개 버전인 ParaView 0.6은 2002년 10월에 발표되었다.

 ParaView와는 별도로 Kitware는 2001년 12월 웹 기반 시각화 시스템을 개발하기 시작했다.
 이 프로젝트는 미 육군 연구소의 1 단계 및 2 단계 SBIR에서 자금을 지원 받았으며 결국 ParaView Enterprise Edition이 되었다.
 
PVEE는 ParaView의 클라이언트 / 서버 아키텍처 개발에 크게 기여했다.

 프로젝트가 시작된 이래로 Kitware는 Sandia, Los Alamos National Laboratories, 육군 연구소 및 기타 여러 학술 및 정부 기관과 성공적으로
 협력하여 개발을 지속했다.
프로젝트는 여전히 강력 해지고 있다.

 2005년 9월, Kitware, Sandia National Labs 및 CSimSoft는 ParaView 3.0의 개발을 시작했다.

 이는 보다 사용자 친화적인 사용자 인터페이스 재작성 및 정량 분석 ​​프레임 워크 개발에 중점을 둔 주요한 노력이었다.

 ParaView 3.0은 2007 년 5 월에 출시되었다.

 

 


1. ParaView-5.5.2-Qt5 다운로드 / 설치

 

http://www.paraview.org/download

 

이 사이트에 접속하면 다운로드 받을 수 있다.

 

 

그림 1-1) ParaView 5.5.2 - Qt5 설치하기

 

위의 사이트에 접속해서 ParaView-5.5.2-Qt5-Windows-64bit.exe를 다운받아서 설치한다.

 

 

영상 1-1. 설치 진행 - 도도(Dodo)

 

영상 1-1에서는 설치 진행을 보여주고 있다.

 


2. ParaView-5.5.2-Qt5 실행하기

 

 

그림 2-1) ParaView 5.5.2 실행하기

 

 

그림 2-2) ParaView 실행 장면, 도도(Dodo)

 

 

 

그림 2-3) ParaView - RenderView 예, 도도(Dodo)

 

 

그림 2-4) ParaView - Gas 실험

 


3. ParaView의 도메인

 

아래의 그림은 파라뷰를 통해서 구조해석, 유체 해석 등의 기능을 수행하는 것에 대해서 간단하게 소개하고 있다.

참고하면 도움이 될 것이다.

 

3-1. ParaView for Structural Analysis

 

 

그림 3-1) Crushed can time varying test data set can.ex2.

 

구조 분석을위한 ParaView

ParaView는 FEM (Finite Element Method)을 기반으로 입력 메쉬와 솔버의 결과를 표시하는 훌륭한 도구이다.
이 솔버는 많은 영역에서 사용되지만 특히 기계, 토목 및 자동차 엔지니어링 분야에서 자주 사용된다.
FEM의 "Elements"와 "Nodes"는 VTK 용어로 "Cells"과 "Points"에 자연스럽게 매치된다.
일단 적합한 리더 모듈이 선택되면, ParaView는 입력 메쉬, 찾기 및
파생 된 벡터 양에 따라 메쉬를 변형하고 임의의 색상 표를 통해 노드 및 요소에
결과 값을 매핑한다.

Stock ParaView는 잘 알려진 FEM 중심 솔버와 파일 형식에 대한 독자를 포함한다 :
• Ansys
• Ensight
• Exodus
• LS-Dyna
• Spyplot
• Tecplot
• XDMF

이러한 ParaView 리소스는 구조 분석가가 자주 사용한다.
• 계산기 필터(Calculator filters)
• 그라디언트 필터(Gradient filter)
• 메쉬 품질 필터(Mesh Quality filter)
• 시간별 플롯 필터(Plot Over Time filter)
• 시간 인터폴 레이터 필터(Temporal Interpolator filter)
• 임시 통계 필터(Temporal Statistics filter)
• 임계 값 필터(Threshold filter)
• 벡터 필터로 워프(Warp by Vector filter)


 

3-2. ParaView for Fluid Dynamics

 

 

그림 3-2. 유체 실험

 

유체 역학을 위한 ParaView

CFD 솔버는 많은 영역에서 사용되지만 특히 우주 항공 및 자동차 공학에서 자주 사용된다.
CFD 패키지의 데이터를 ParaView로 가져 오는 데 적합한 리더가 주어지면 많은 후 처리 작업(Post-Processing)에 액세스 할 수 있다.
당연히 계산 된 수량을 포함하거나 포함하지 않은 계산 메쉬를 표면 또는 볼륨 렌더링 된 형태로 직접 표시 할 수 있다.
병렬 유선형 필터는 데이터 내의 전체 흐름 방향을 보여준다.
이러한 정성적 능력 외에도 ParaView를 사용하면 예를 들어 대화형 선택 항목(예 : 계산된 양 계산)으로 계산기 데이터를 선택하고
실제 데이터 값을 텍스트 또는 차트 형식으로 표시 할 수 있다.
데이터의 흥미로운 부분에서 어떤 일이 일어나고 있는지 알아 내고 싶을 때 세부 사항으로 뛰어 들고있는 이 기능이 중요하다.

팬 / 노즐 및 접지면 유선형. UFO-CFD : http://richardsoncfd.weebly.com/
팬 / 노즐 및 접지면 유선형. UFO-CFD : http://richardsoncfd.weebly.com/

ParaView에는 다음과 같은 CFD 코드에 대한 것 :
• CGNS
• Chombo
• Exodus
• Fluent
• Nek5000
• OpenFOAM
• Plot3D
• Tecplot
• XDMF

ParaView 리소스는 CFD 분석가가 자주 사용한다.
• 계산기 필터(Calculator filters)
• 연결 필터(Connectivity filter)
• Vorticity 및 Q Criteria를 계산하기위한 Gradient filter의 옵션(Gradient filter’s option to compute Vorticity and Q Criterion)
• 글리프 필터(Glyph filter)
• 유로 필터 (줄무늬 선, 흐름 추적기, 표면 흐름, 입자 경로) (Flowpath filters (Streak Line, Stream Tracer, Surface Flow, Particle Path))
• 표면 LIC 플러그인 (Surface LIC plugin)
• 라인 오버 플롯 (Plot over Line)
• 프로브 필터 및 포인트 스프라이트 플러그인 (Probe filter and Point Sprite Plugin)
• 볼륨 렌더링
(Volume rendering)

 

3-3. ParaView for Astrophysics

 

천체 물리학을위한 ParaView

실제로 표준 데스크톱 응용 프로그램은 광범위한 응용 프로그램 도메인을 다루는 100가지 이상의 다양한 파일 형식을 읽을 수 있다.

ParaView는 특히 유한 요소, 유한 볼륨 및 포인트 세트 방법과 같은 기술을 사용하는 과학 분야에 적합하다.
일반적으로 이러한 기술은 실제 세계에서 모양으로 인식하고 인식 할 수있는 3 차원 공간에 포함 된 엔티티의 결과를 계산하는 데 적용된다.
ParaView는 확장 가능하지만 주로이 유형의 데이터에 맞게 조정 된 VTK의 데이터 모델을 상속 받는다.
독자가 과학 데이터 세트를 위해 존재하거나 그렇지 않으면 VTK의 데이터 구조 중 하나로 번역 될 수 있는 경우, ParaView를 사용하면 쉽게보고 분석
할 수 있다.
특히 천체 물리학에서, 다양한 해상도의 겹쳐진 균일 한 격자로 계산 영역을 이산화함으로써, 관심 영역 (ROI)에서 고 충실도 정확도를 달성 할 수 있기 때문에 적응형 메쉬 미세 조정(AMR) 기술이 널리 보급되어 있으며, 다른 곳에서는 보존되어 있다.

Halo 찾기 알고리즘 또한 일반적으로, 예를 들어 AMR 시뮬레이션에서 메쉬를 정제해야하는 위치를 결정하는 데 사용된다.
천체 물리학과 우주론 시뮬레이션으로 생성된 데이터 크기는 극단적인 경향이 있으며, 결과를 시각화하려면 ParaView의 확장성이 필요하다.


 

 

ParaView 자료는 천체 물리학 및 우주론 데이터를 분석하는 데 유용하다.

• 계산기 필터(Calculator filters)

• CosmoReader - Cosmo 및 Gadget2 입자 형식 (CosmoReader – Cosmo and Gadget2 particle formats)
• 수요 중심 AMR 슬라이스(Demand driven AMR slices)
• 엔초 리더 - AMR 천체 물리 시뮬레이션(Enzo Reader – AMR astrophysics simulations)
• 플래시 리더 - AMR 천체 물리 시뮬레이션(Flash Reader – AMR astrophysics simulations)
• GenericIO - HACC 우주론 입자 형식(GenericIO – HACC cosmology particle formats)
• 포인트 스프라이트 플러그인에서 GPU 렌더링 포인트 스프라이트(GPU rendered point sprites in the Point Sprite Plugin)
• yt 플러그인의 HOP Halo finder 필터(HOP Halo finder filter from the yt plugin)
• LANL Friend Friend of Friend Halo 파인더 필터(LANL Friend of Friend Halo finder filter)

 

3-4. ParaView for Climate Science

 

지구 환경 과학 분야는 복잡하고 끊임없이 변화하는 지구를 이해하기 위해 대규모의 데이터 집약적인 분석 패러다임을 빠르게 채택하고 있다.

감지 기술, 모델링 및 시뮬레이션, 데이터 저장, 컴퓨팅 기능 및 정교한 소프트웨어의 발전으로 인해이 분야에서 분석되는 데이터의 크기, 복잡성 및
다양성이 모두 증가했다.
ParaView는 고성능 컴퓨터에서 매우 큰 데이터 세트를 처리하도록 개발되었으므로이 과학 커뮤니티에 특히 유용하다.
예를 들어, Ultrascale Visualization and Climate Data Analysis (UV-CDAT) 프로젝트는 ParaView를 다른 오픈 소스 도구와 함께 사용하여
원격 및 지역 기후 데이터 세트를 분석하고 시각화하는 강력한 응용 프로그램을 만든다.

- 지표 온도, VHEr 및 해저 측량을 보여주는 MIT 일반 순환 모델 데이터의 시각화.
- 지표 온도, VHEr 및 해저 측량을 보여주는 MIT 일반 순환 모델 데이터의 시각화.
해군 연구소의 DoD HPCMP PETTT의 이미지 숀 지글러 (Sean Ziegler)

 
Visualization of MIT General Circulation Model data showing surface temperature, VHEr and bathymetry. Image curtesy Sean Ziegler at DoD HPCMP PETTT for the Naval Research Laboratory.

지형, 지구 및 환경 과학 분야에 대한 ParaView의 관심 분야는 다음과 같다.

• 배치 파이썬 스크립팅 기능(Batch python scriptability)
• 대규모 데이터 세트의 클라이언트 / 서버 원격 시각화(Client/Server remote visualization of large datasets)
• CAM 판독기(CAM reader)
• GDAL 리더(GDAL reader)
• MOC 리더(MOC reader)
• MPAS 리더(MPAS reader)
• NetCDF (CF) 리더(NetCDF (CF) reader)
• Python 프로그래밍 가능한 필터(Python Programmable filter)
• 구조화되지 않은 POP 판독기(Unstructured POP reader)

 

 

3-5. ParaView for Point Cloud

 

포인트 클라우드

ParaView는 다양한 소스의 점 구름 데이터를 시각화하고 처리하는 자연스러운 도구이다.
ParaView를 사용하면 깊이 카메라, 고정식 LiDAR 스캐너, 차량용 또는 공중 LiDAR 등 다양한 소스의 점군 데이터를 대화식으로 시각화하고
처리 할 수 있는 가상 워크 벤치를 만들 수 있다.
적용 분야로는 로봇 공학, 3D 매핑, 수술 지침, 시뮬레이션 모델 생성 등이 있다.
PCL-ParaView 플러그인을 추가하면 Paraview 플랫폼 내에 다양한 점군 처리 도구가 제공된다.

이 유형의 분석에 유용한 ParaView 기능은 다음과 같다.
• 서브 샘플링, 자르기 및 임계 값 데이터를위한 내장 기능
• 시차 데이터 지원
• 사용자 정의 알고리즘을위한 Python 프로그래밍 가능 필터
• 스트리밍 및 병렬 처리
• 눈 돔 조명과 같은 고급 시각화 기술
• 플러그인 메커니즘

 


4. 지원가능한 확장자

 

그림 4-1. 확장자

 

ParaView 5.5.2가 지원하는 확장자가 조금 많다.

스프레드시트로 정리하였으니 참고하면 도움이 될 것으로 보인다.

 

ParaView(extension).7z

 


5. 참고자료(Reference)

 

1. Download | ParaView, https://www.paraview.org/download/, Accessed by 2018-07-19

2. 그림 3-1), ParaView for Structural Analysis, https://www.paraview.org/structural-analysis/, Accessed by 2018-07-19

3. 그림 3-2. 유체 실험, ParaView for Fluid Dynamics, https://www.paraview.org/fluid-dynamics/, Accessed by 2018-07-19

4. ParaView for Astrophysics, https://www.paraview.org/astro-physics/, Accessed by 2018-07-19

5. ParaView for Climate Science, https://www.paraview.org/climate-science/, Accessed by 2018-07-19

6. ParaView for Point Cloud, https://www.paraview.org/lidar/, Accessed by 2018-07-19

7. ParaView, Wikipedia, https://en.wikipedia.org/wiki/ParaView, Accessed by 2018-07-19

8. Overview, ParaView, https://www.paraview.org/overview/, Accessed by 2018-07-19

 


6. 프로젝트와 관련된 사항

 

https://gitlab.kitware.com/paraview/paraview

소스코드가 있다.

 

이 프로젝트에 기여하고 싶다면, 해당 프로젝트에 참여해도 괜찮다.

반응형
728x90
300x250
[Mechanics] 역학을 공부하면서

 

역학이라는 게 정말 중요하다고 주장한다.

기계 가공을 하는데 있어서도 재료를 결정할 수가 있다.

 

재료역학에서 가장 중요한 식은 응력에 관한 식이다.

 


1. 재료역학에서 중요한 식

 

 

 

 수직응력(Normal Stress)

전단응력(Shearing Stress)

 

 

수직응력과 전단응력에 관한 식이다. 식으로는 큰 차이를 느끼진 못 한다.

그래서 몇 가지 간단한 시뮬레이션을 주제를 잡고 진행하게 되었다.

 

다음은 안전계수(factor of safety ; S)에 관한 식이다.

 

 

 

 안전계수(factor of safety ; S)

 

안전계수를 정하는 것은 정말 중요한 일이다.

말 그대로 재료를 사용하는데 있어서 파괴 등이 일어나지 않고, 적정한 범위를 유지하려면 중요한 식이다.

 

아래의 코드는 하드코딩(Hard-Coding)으로 작성한 자바 프로그램 코드이다.

 

 

 /*
 * Created: 2018-05-29
 * Subject: Calculate.java
 * Author: Dodo
 */

 public class Calculate {
 
      private final double PI = 3.14159265359;
 
      public Calculate() {
 
      }
 
      public double generalArea(double dimension) {
             return ( PI / 4 ) * (dimension * dimension);
      }
 
      public Stress getStress(Stress value) {
   
             double weight = value.getWeight();
             double area = value.getArea();
             double stress = weight / area;
  
             value.setStress(stress);
             return value;
     }

     public double getSafety(Stress allow, Stress yield) {
  
             double safety = allow.getStress() / yield.getStress();
             return safety;
     }

}

 Calculate.java

 

 

 /*
  * Created: 2018-05-29
  * Subject: Stress.java
  * Author: Dodo
*/

public class Stress {
 
       private double stress;
       private double weight;
       private double area;

   

       public Stress() {
            this.stress = 0;
            this.weight = 0;
            this.area = 0;
       }
 
       public Stress(double stress, double weight, double area) {
            this.stress = stress;
            this.weight = weight;
            this.area = area;
       }

 

       public double getStress() {
            return stress;
       }
 
       public void setStress(double stress) {
            this.stress = stress;
       }
 
       public double getWeight() {
            return weight;
       }
 
       public void setWeight(double weight) {
            this.weight = weight;
       }
 
       public double getArea() {
            return area;
       }
 
       public void setArea(double area) {
            this.area = area;
       }
  
 } 

 Stress.java

 

 /*
 * Created: 2018-05-29
 * Subject: Program.java
 * Author: Dodo
*/

 

 import java.io.File;
 import java.io.FileWriter;

 public class Program {
 
       private static final int MAX = 10000;
 
       public static void main(String[] args) {
              experiment();
       }
 
       public static void experiment() {
   
              String txt = "테스트입니다!!" ;
              String fileName = "test11.txt" ;      
       
              int retval1 = -1;
              int retval2 = -1;

 

              try{
                   // 파일 객체 생성
                   File file = new File(fileName) ;

                   // true 지정시 파일의 기존 내용에 이어서 작성
                   FileWriter fw = new FileWriter(file, true) ;

                   // 계산
                   Calculate calculate = new Calculate();

                   int count = 1;
      
                   double weight = 10;
                   double area = 0;  
                   double dimension = 0;
       
                   double resultStress = 0;
                   double targetMin = 8.1;
                   double targetMax = 9.4;

           

                   String strTxt ;
      
                   strTxt = "count,weight,dimension,area,stress,result";
                   // 파일안에 문자열 쓰기

                   fw.write(strTxt);
                   fw.write("\r\n");
                   fw.flush();
      
                   for ( int i = 0; i < MAX; i++ ) {
       
                      weight = i;
       
                      for ( int j = 0; j < MAX; j++ ) {
        
                           dimension = j;
                           area = calculate.generalArea(dimension);
        
                           resultStress = weight / area;
         
                           strTxt = count + "," + weight + "," + dimension + "," + area + "," + resultStress + " ,실험";
                
                           retval1 = Double.compare (resultStress, targetMin);
                           retval2 = Double.compare(resultStress, targetMax);
        
                           if ( retval1 > 0 && retval2 < 0 ) {
                                  strTxt = count + "," + weight + "," + dimension + "," + area + "," + resultStress + " ,참";
                           } // end of if
        
                           // 파일안에 문자열 쓰기
                          fw.write(strTxt);
                          fw.write("\r\n");
                          fw.flush();
        
                          count++;
         
                   } // end of for
      
               } // end of for

               // 객체 닫기
               fw.close();

        }catch(Exception e){
               e.printStackTrace();
        } // try~catch
       
    }
 
}

 Program.java

 

내가 찾고자 하는 것은 다른 것이 아니었다.

 

double weight = 10;
double area = 0;  

double dimension = 0;
       
double resultStress = 0;
double targetMin = 8.1; // (MPa)
double targetMax = 9.4; // (MPa)

 

주어진 응력(Sigma_{Min})은 8.1MPa, 응력(Sigma_{Max})은 9.4MPa이다.

이 범위에 부합하는 임의의 W, A, D을 결정할 수 있는 수치의 값이 어떠한지를 나는 찾고 싶었다.

 

 

 

이러한 주제이다.

사람이 풀라고 하면 못 푸는 문제이다.

 


맺음) 역학은 물체에 힘이 작용할 때 현상을 공부하는 것이다.

 

이러한 기본적인 식 이외에도 무수히 식이 많다.

다 외우는 건 한계가 있으며, 역학을 재미있게 공부하는 것은 현상을 이해하는 것이 중요하다고 본다.

반응형

+ Recent posts