티스토리 툴바


'Study Abroad OR Academic'에 해당되는 글 28건

  1. 2012/02/06 지루하고만...
  2. 2012/01/23 Command-Line Arguments (C/C++ 공통)
  3. 2011/12/06 Random number generator (난수생성 프로그램)
  4. 2011/11/26 HIC Project Report - 111125
  5. 2011/08/11 Get CUDA installed on MacBook Pro (4)
  6. 2011/07/13 Montreal, again
  7. 2011/06/27 출발 대기중 (2)
  8. 2011/06/10 C 언어의 malloc 함수 (2)
  9. 2011/05/27 Fluid mechanics is needed... (3)
  10. 2011/04/27 드디어


이벤트 20개 돌리는 동안 대략 20시간 걸렸고, 이걸 총 100개 돌려야 되니까,
최소 100시간 = 대략 5일 -_- 

 
저작자 표시 비영리 변경 금지

'Study Abroad OR Academic' 카테고리의 다른 글

지루하고만...  (0) 2012/02/06
Montreal, again  (0) 2011/07/13
출발 대기중  (2) 2011/06/27
Fluid mechanics is needed...  (3) 2011/05/27
드디어  (0) 2011/04/27
울고싶음  (0) 2011/04/06
Posted by swstar

댓글을 달아 주세요

C++를 배우기 위해 책을 보는데, command-line arguments에 대한 내용이 있었다.
메인함수를 특별한 방법으로 정의해서,
프로그램을 실행시킬때 커맨드 라인에서 옵션을 지정해줄 수 있다고 한다.

int main(int argc, char *agrv[]){
    // .... 프로그램 내용물
}

이렇게 해서 컴파일 한 뒤에 실행시킬때,

$./[실행파일 이름] [옵션1] [옵션2] ...

이렇게 옵션들을 지정해 주면, 그 갯수와 값들이 argc와 agrv라는 변수들 안에 저장된다.
argc = 옵션의 갯수에 1을 더한 값 (정수)
agrv[i] = i-번째 옵션의 값 (문자열) / i 는 1부터 argc-1 까지의 값을 가질 수 있고,
실행파일의 이름은 agrv[0]에 저장된다고 한다.

예를 들어서 input.dat라는 파일에서 데이터를 받아와서 처리한 다음에,
output.dat라는 파일에 기록하는 프로그램을 run이라는 실행파일로 만들었다면,
프로그램 소스코드 안에서 파일 이름을 지정해주는 대신 위에 나온 방법을 써서

$./run input.dat output.dat

라고 실행시킴으로써, 프로그램의 자유도(?)를 높이는 게 가능하겠다.
이렇게 해서 "input.dat"와 "output.dat"가 agrv[1]과 agrv[2]에 각각 저장이 되면,
이것들을 메인함수 내에서

FILE *fin;
FILE *fout;

fin=fopen(argv[1],"r");
fout=fopen(argv[2],"w"); 

와 같이 쓸수가 있겠다.
저작자 표시 비영리 변경 금지
Posted by swstar
TAG C++, c언어

댓글을 달아 주세요

Description and source files



Sample implementations

Sample 1


Sample 2 (with transformation method)


Sample 3 (with rejection method)


저작자 표시 비영리 변경 금지
Posted by swstar

댓글을 달아 주세요

현재 우리 연구실에서 가지고 있는 QGP(Quark-Gluon Plasma)및 HRG(Hadronic Resonance Gas) 유체역학 프로그램 MUSIC[1,2]과 UrQMD[3]라고 하는 핵 충돌 모델을 결합하는 프로젝트를 진행중인데, 모티브는 핵 충돌에서 발생한 유체의 온도가 어느 경계 이하로 낮아지게 되면, 입자들의 밀도도 낮아져서 유체역학을 쓰기 여려워지는 단계가 오게 되므로, 개별 입자의 움직임을 계산하는 UrQMD가 필요하다는 점에 있습니다.

온도가 영하로 내려가면 물이 얼어버리는 것처럼, 유체의 온도가 특정 경계 이하로 내려가면, 유체를 형성하고 있던 쿼크(Quark)와 글루온(Gluon) 들이 파이온(pion), 양성자 및 중성자 등의 강입자(hadron)들로 "굳어지는" freeze-out 이 일어납니다. 이것을 정량화하는것은 특정 지점의 온도가 언제 임계점에 도달하는지를 알아내는 것으로 가능합니다.

MUSIC과 UrQMD를 결합하는 일의 주요 이슈는 freeze-out 시각과 좌표계의 차이가 있습니다. 첫번째의 경우 각각의 지점에서 freeze-out이 일어나는 시각은 다 다른데 반해, UrQMD에서는 그 다른 시각에 생성된 강입자들을 (자유운동을 가정하여) 동일 시각에 존재하는 상황으로 정렬시킨 다음, 입자간 충돌 시뮬레이션을 진행합니다. 두번째의 경우 시공간의 특정 사건을 나타내는데 있어 MUSIC과 UrQMD는 각각 다른 변수들을 사용합니다. 따라서 이 둘 사이를 변환해주는 도구가 필요합니다. 첫번째 이슈의 경우 유체와 강입자간의 상호작용에 대해서도 생각해야 하는 상당히 복잡한 문제이므로, 현재 시점에서는 UrQMD의 방식을 그대로 취하고, 두번째 이슈인 변수변환을 해결하는 데 촛점을 맞추고 프로그램을 작성중에 있습니다.

========================================

Our current task is to combine MUSIC[1,2] and UrQMD[3] to recreate cascade where the hydrodynamics does not work very well, but result hadrons still interact with each other. If the bulk fluid resulting from a heavy ion collision cools down to some critical temperature, the energy density (and so the number density) becomes too low to use the hydrodynamic description. This is why we need to adopt a model (such as UrQMD) keeping track of all particles.

We are familiar with the fact that water is frozen as the temperature becomes lower than zero degree Celsius. Similarly, Quark-Gluon Plasma (QGP) is "frozen" to form hadrons (such as pions, protons and neutrons) when the temperature is lower than some critical temperature. We call this process "freeze-out" and can describe it by specifying when a specific point (of space) is frozen out.

In the numerical computation, we need to discretize the space like what is shown in the figure above.

A number of hadrons emerge from each cell of freeze-out hypersurface.

Two main sorts of problems are (1) the timeline of result hadrons and (2) difference in the coordinate system. Basically, UrQMD moves all result hadrons to the same instance assuming freely moving particles, while every point of space is frozen out at different instance. Secondly, Our MUSIC uses a different system of coordinates (to address a spacetime event) from UrQMD. The first issue is quite difficult in the sense that we need to think about possibility of interaction between fluid and hadrons. At this point, adopting how UrQMD deals with the timeline, we focus on how to convert coordinates safely.

[1] B. Schenke, S. Jeon and C. Gale, Phys. Rev. C 82, 014903 (2010)
[2] 
B. Schenke, S. Jeon and C. Gale, Phys. Rev. Lett. 106, 042301 (2011) 
[3] http://urqmd.org/ ; arXiv:nucl-th/9803035
저작자 표시 비영리 변경 금지

'Study Abroad OR Academic > Research Log' 카테고리의 다른 글

HIC Project Report - 111125  (0) 2011/11/26
Posted by swstar

댓글을 달아 주세요


맥북프로에 CUDA를 깔았다.
장착된 그래픽카드가 GeForce 320M 이었는데,
이게 엔비디아 웹사이트의 지원 그래픽카드 리스트에 없어서 설치하기 전에 걱정이 좀 되었지만,
다행히 설치도 제대로 되고 샘플코드 컴파일도 잘 되었다.

한가지 non-trivial 한 과정이 있는데, 홈디렉토리의 .bash_profile 이라는 파일을 건드려서
PATH를 지정해주어야 한다는것.
vim 에디터에는 익숙치 않아서, 특히 종료하려면 :q! (저장안함) 또는 :wq (저장) 이라는 걸 몰라서,
좀 삽질을 하다가 결국 도움말까지 뒤져서 알아냈다.

나도 hydrodynamic simulation 을 하다보면, 샘플에 나오는것 같은 간지나는 결과물을 얻을 수 있겠지...
라는 머나먼 미래의 공상을 하다가 잠이 들었다. 
저작자 표시 비영리 변경 금지
Posted by swstar
TAG cuda

댓글을 달아 주세요

  1. 2011/08/25 14:18

    그쪽동네는 vim 에디터를 잘 안쓰나보네-_-;;

    • 2011/08/30 03:42

      여기서 좀 쓰이긴 하는것 같다만, 중요한건 "내"가 잘 몰랐다는 거임.

  2. 2011/08/26 11:48

    저거 뭐야. 피카소의 유고작?

    몰라 나 무서워

    • 2011/08/30 03:44

      형을 형상화한 작품... 은 훼이크고,
      2D 유체역학 시뮬레이션이어요.
      저기다 대고 마우스 클릭&드래그질 하면 유체의 흐름이 그에 맞게 생긴다능...

첨에 계획단계에서는 2주는 충분히 긴 시간이라고 생각했었는데,
막상 끝나고 복귀(?)하고나니까, 그게 그렇지가 않다는 생각이 듭니다.
실제로는 비행시간과 시차로 인해 거의 2일을 날려먹었으니,
한국에 있었던 시간은 2주보다 좀 짧았지만, 어쨌든...

핸드폰도 없고 전화번호부도 제대로 남아있지 않으니, 먼저 연락하기도 힘들고,
안그래도 좁은 인간관계에 유학으로 인한 단절을 경험하게 되니, 정말 x같다 이거예요.
그나마, 연락이 닿은 극소수의 친구들이 있었던 건 다행인거죠.
그리고 유학갈때 도와주신 교수님들께 인사도 드렸고,
가족들과도 짧지만 즐거운 시간을 보냈으니, 후회는 없습니다.
저작자 표시 비영리 변경 금지

'Study Abroad OR Academic' 카테고리의 다른 글

지루하고만...  (0) 2012/02/06
Montreal, again  (0) 2011/07/13
출발 대기중  (2) 2011/06/27
Fluid mechanics is needed...  (3) 2011/05/27
드디어  (0) 2011/04/27
울고싶음  (0) 2011/04/06
Posted by swstar

댓글을 달아 주세요

비행기가 오전 출발이라, 지하철 첫차 시간도 좀 어중간하고,
이른 새벽에 일어날 자신도 없고 해서, 미리 공항에 와서 시간을 때우고 있는데...

우리 선생님 내외도 같은 27일에 한국으로 가시는 관계로,
조금 긴장한 상태로 이 글을 쓰는 중이다.
물론 내가 오늘 가는 걸 알고 계시기는 하는데, 그래도 방심할수는 없지...

이 포스팅은 맥북으로 쓰고 있지만, 윈도우가 깔린 다른 노트북도 들고 왔기 때문에,
그걸 꺼내서 삼국지나 좀 할까 하는 생각도 해보았지만, 너무 ㄸㄹㅇ같은 생각이라 걍 접었다.

탑승수속 카운터가 오픈할려면 4시간쯤 남았는데, 지루 하고만...
저작자 표시 비영리 변경 금지

'Study Abroad OR Academic' 카테고리의 다른 글

지루하고만...  (0) 2012/02/06
Montreal, again  (0) 2011/07/13
출발 대기중  (2) 2011/06/27
Fluid mechanics is needed...  (3) 2011/05/27
드디어  (0) 2011/04/27
울고싶음  (0) 2011/04/06
Posted by swstar

댓글을 달아 주세요

  1. 2011/07/11 15:44

    오... 들어오나? ㅇㅅㅇ

    • 2011/07/13 11:06

      맆흘 참 빨리도 단다.
      한국 들어갔다가 다시 몬트리얼로 왔음.

학부때부터 수치계산 할때면 항상 C언어를 써 왔지만,
배열과 포인터의 등가관계에 대해서는 극히 최근에야 알게 되었다.

예를 들어서
1) double a[10]; 을 선언했다면, 배열의 이름 a는 포인터 변수이고,
그 값은 a[0]의 주소가 된다는 점이나,
2) stdlib.h 에 선언되어 있는 malloc 함수를 이용하면, 포인터로 배열을 대신할수 있다는 점 등...
다시말해서
double a[10]; 을 선언하는 것과,
double *a;
a=malloc(10*sizeof(double)); 을 선언하는 게 같다는 것.

이걸 응용해서, 다중 포인터(ex: **ptr, ***ptr)로 행렬이나 텐서변수를 만드는 방법도
삽질끝에 알아냈다. (사실 Numerical Recipes 에 나오는 건데, 원리를 몰랐다.)

이게 유용한 이유는, 어떤 함수가 행렬이나 텐서 등을 변수로 받아야 할 때가 있는데,
다중배열만 가지고는 이걸 구현하기가 힘들었다.
대신에 위에 나온 방법을 쓰면, nrow by ncolume 의 실수 행렬을 받는 함수를
function(double **ptr, int nrow, int ncolumn){ }
같은 형식으로 쉽게 구현이 가능하니까 말이다.

웬만한 C언어 텍스트에는 다 나오는 내용임에도, 야매로 배워서 모르고 있었다.
이래서 기본이 중요함... CUDA도 공부해야 되는데, 이건 또 언제하냐... -_-;
저작자 표시 비영리 변경 금지
Posted by swstar
TAG malloc

댓글을 달아 주세요

  1. 2011/06/12 23:01

    비밀댓글입니다

예전에 천체물리 들을때 Landau 의 Fluid Mechanics 를 구입했었는데,
그 당시에는 몇 글자 읽어보지도 않았던 책이 다시 필요하게 되었다.
여기 오기 전에는 나의 짧디짧은 생각으로 유체는 별로 볼 일이 없을 것이라 여겨서
안들고 왔는데, 들고올걸 그랬다. -_-;;
물론 도서관에서 빌려서 보면 되긴 하겠다만, 항상 곁에 두고 보기가 힘들것이고... 해서,
이번에 한국 가면 들고와야겠다.
저작자 표시 비영리 변경 금지

'Study Abroad OR Academic' 카테고리의 다른 글

Montreal, again  (0) 2011/07/13
출발 대기중  (2) 2011/06/27
Fluid mechanics is needed...  (3) 2011/05/27
드디어  (0) 2011/04/27
울고싶음  (0) 2011/04/06
후유증  (2) 2011/03/11
Posted by swstar

댓글을 달아 주세요

  1. 2011/05/27 11:18

    와 글만봤는데 피곤해지고 있어.

  2. 2011/05/27 21:19

    와 글만봤는데 피곤해지고 있어 (2)

  3. 2011/05/28 00:05

    제가 부주의했나 봐요..
    그림도 적절히 넣었으면, 독자들께서 피곤하지 않았을 텐데..

[!] 학기종료
아마 다음학기에는 코스웍 들을 필요 없을듯..

[@] 여기 온 이후로 처음으로 머리를 깎았다.
어느정도 예상은 했는데, 머리깎는건 사람 손이 가는 일이라 비싸다. -_- 무려 25불;;

본격적으로 summer activity 를 시작하기 전에 좀만 쉬어야지...
저작자 표시 비영리 변경 금지

'Study Abroad OR Academic' 카테고리의 다른 글

출발 대기중  (2) 2011/06/27
Fluid mechanics is needed...  (3) 2011/05/27
드디어  (0) 2011/04/27
울고싶음  (0) 2011/04/06
후유증  (2) 2011/03/11
지옥의 강행군  (2) 2011/02/28
Posted by swstar

댓글을 달아 주세요

이전버튼 1 2 3 이전버튼