2014-04-28 3 views
0

구성의 입자에 이름을 지정하기 만하면됩니다. 예 : 예를 들어, 입방체 입체 구조에 N=125 입자가 있고 두 종류의 입자가 있습니다. AB입니다. 난수 생성기 r=ran(0,1)을 사용하고 r<0.5 인 경우 입자는 A이고 그렇지 않은 경우 입자는 B입니다. 그리고 나서 A, B을 사용하여 에너지 등의 다른 속성을 계산하고 싶습니다.포트란의 입자에 이름을 지정하십시오.

어떻게하면됩니까?

이가! 혼합 구성

subroutine init_order(rx,ry,rz,n) 
use LJ_POT 
    implicit none 

을 구성하는 입자에 배정 밀도 RX (NUM), 공예 (NUM), RZ (NUM) 정수 I, J를 초기 위치를 지정하는 내 코드입니다, K, N 실제 U * 8, IR1

open(10,file='conf.in',status='unknown') 
ir1=19375.d0 
n=0 
    do i=1,nx 
    do j=1,ny 
    do k=1,nz 
    n=n+1 
    rx(n)=(dble(i)-0.5d0)*gsize 
    ry(n)=(dble(j)-0.5d0)*gsize 
    rz(n)=(dble(k)-0.5d0)*gsize 

    call usran(ir1,u) 
    if (u.le.0.5d0) then 
     write(10,*) rx(n),ry(n),rz(n),'red' 
    else if (u.gt.0.5d0) then 
     write(10,*) rx(n),ry(n),rz(n),'blue' 
    end if 
    end do 
    end do 
    end do 
    close(10) 

(175) 포맷 (도 4 (f12.5)) 복귀 단부 루틴

N=8이 구성 할 17,451,515,

:

0.75000000000000000 0.75000000000000000 0.75000000000000000 빨간색을

0.75000000000000000 0.75000000000000000 2.2500000000000000 블루

0.75000000000000000 2.2500000000000000 0.75000000000000000 블루

0.75000000000000000 2.2500000000000000 2.2500000000000000 블루

2.25000000000 00000 0.75000000000000000 0.75000000000000000 블루

2.2500000000000000 0.75000000000000000 2.2500000000000000 빨간색

2.2500000000000000 2.2500000000000000 0.75000000000000000 빨간색

2.2500000000000000 2.2500000000000000 2.2500000000000000 빨간색

+4

이것은 매우 유엔이다. 명확한. 몇 가지 코드를 보여줄 수 있습니까?당신의 입자는 무엇입니까, 파생 된 유형 또는 그냥 변수의 무리입니까? 그것이 서있는 것처럼 질문은 종결 될 운명입니다. –

답변

1

당신이 파생 유형의 통화를 묘사 :

type particle 
real x(3) 
character*4 color 
end type 

로 다음

p(i)%x(j) = 0. 

및 컬러/이름으로 좌표를 참조

type particle p(1000) 

을 : 입자 형태의 배열을 선언 당신이 오래된 학교를 갈 수 물론

p(i)%color = 'red' 

단지를 사용 별도 배열 :

real p(3,1000) 
integer color(1000) 

p(j,i)=0 
color(i)='red' 
+0

친애하는 George 고맙지 만 나는'x (3)'이 무슨 뜻인지 이해하지 못한다. 좌표는 무엇입니까? – Moji

+0

. 원하는 경우'rx, ry, rz'를 정의 할 수 있습니다. 그런 다음'p (i) % rx = .. '등의 값을 가질 수 있습니다. – agentp

관련 문제