Gebruikersavatar
Merien
Artikelen: 0
Berichten: 124
Lid geworden op: di 21 aug 2007, 22:03

Output uit subroutine in fortran

Hoe kan ik de variabele 'B' uit mijn subroutine laten komen. Het allocaten wil niet lukken. Ideetjes zijn een beetje op.

De personen na mij die moeten namelijk gebruik maken van de 4D matrix 'B' die uit mijn subroutine zou moeten komen, maar tijdens het compilen blijft ie maar om de input 'B' vragen... :eusa_whistle:

Hieronder één van mijn probeerseltjes. Ik hoop dat het idee duidelijk is.

Code: Selecteer alles

program wrapper

implicit none

double precision :: h, current, B_p, H_p

integer :: num_wires, B_path, L_path, H_path

real :: start, finish

double precision, allocatable, dimension (:,:,:,:) :: B

write(*,*) '- h -  voer de stapgrootte in mm in: '

read(*,*) h

write(*,*) '- num_wires -  voer het aantal draden in: '

read(*,*) num_wires

write(*,*) '- I -  voer de stroomsterkte door de spoel in (in ampère): '

read(*,*) current

write(*,*) '- B_p -  voer de breedte van het pad in (in meter): '

read(*,*) B_p

write(*,*) '- H_p -  voer de hoogte van het pad in (in meter): '

read(*,*) H_p

B_path = B_p/(h/1000)+1

L_path = 1.2/(h/1000)+1

H_path = H_p/(h/1000)+1

allocate( B(L_path, B_path, H_path, 3) )

B = 0.0

 call cpu_time(start)

 call Calc_B (h, num_wires, current, B_p, H_p, B) 

 

 call cpu_time(finish)

 write(*,*) 'REKENTIJD: ', finish - start, ' seconden'

end program wrapper

subroutine Calc_B (h, num_wires, current, B_p, H_p, B)

blablabla...
Gebruikersavatar
Merien
Artikelen: 0
Berichten: 124
Lid geworden op: di 21 aug 2007, 22:03

Re: Output uit subroutine in fortran

Hehehe...en toen bleek de compiler niet correct geìnstalleerd... :eusa_whistle:

Alles werkt ](*,)

Terug naar “Informatica en programmeren”