Pular para o conteúdo

Compilação

Responder tópico
  • Denunciar
  • Indicar

1. Compilação

Enviado em 19/02/2015 - 16:25h

Estou com um programa no fortran onde ele ordena átomos. Neste programa não está contido para escrever um arquivo de saida. Eu tenho que colocar um comando na hora de compilar para escrever um novo arquivo com os átomos ordenados. Tipo dou o comando gfortran arq.f e depois executando ./a.out (tenho que colocar neste momento um comando par a sair o novo arquivo) Alguém saberia dizer como faz?

Obrigada

Responder tópico

2. Re: Compilação

Enviado em 19/02/2015 - 16:29h

juhlyana escreveu:

Estou com um programa no fortran onde ele ordena átomos. Neste programa não está contido para escrever um arquivo de saida. Eu tenho que colocar um comando na hora de compilar para escrever um novo arquivo com os átomos ordenados. Tipo dou o comando gfortran arq.f e depois executando ./a.out (tenho que colocar neste momento um comando par a sair o novo arquivo) Alguém saberia dizer como faz?

Obrigada


Ju ja procurou na documentaçaõ oficial desse aplicativo?

voce teria um exemplo mais simples disso?

qual é o ambiente em questao para compilação desse código?


3. Re: Compilação

Enviado em 19/02/2015 - 16:36h

Tente

# gfortran < arq.f | tee arq.out

ou

# gfortran < arq.f > arq.out

4. Compilação

Enviado em 19/02/2015 - 18:09h

IZhaq_melo escreveu:

juhlyana escreveu:

Estou com um programa no fortran onde ele ordena átomos. Neste programa não está contido para escrever um arquivo de saida. Eu tenho que colocar um comando na hora de compilar para escrever um novo arquivo com os átomos ordenados. Tipo dou o comando gfortran arq.f e depois executando ./a.out (tenho que colocar neste momento um comando par a sair o novo arquivo) Alguém saberia dizer como faz?

Obrigada


Ju ja procurou na documentaçaõ oficial desse aplicativo?

voce teria um exemplo mais simples disso?

qual é o ambiente em questao para compilação desse código?



Já procurei sim e não achei...

Estou usando o Ubuntu no terminal.

Então este programa tem de gerar um arquivo com extensão .xyz
Este é o programa

real x(9999),y(999),z(999),ordx(999),ordy(999),ordz(999)
character*2 simbolo(99999),simbord(999)
integer natomo,menor
read(5,*) natomo
do i=1,natomo
read(5,*) simbolo(i),x(i),y(i),z(i)
enddo
do j=1,natomo
ordz(j)=9999
do i=1,natomo
if(z(i).lt.ordz(j)) then
ordx(j)=x(i)
ordy(j)=y(i)
ordz(j)=z(i)
menor=i
simbord(j)=simbolo(i)
endif
enddo
x(menor)=99999
y(menor)=99999
z(menor)=99999
enddo
do j=1,natomo
print*,simbord(j),ordx(j),ordy(j),ordz(j)+16
enddo
end


Como pode notar não é colocado nenhum momento para gerar o .xyz
e vou ter que dar algum comando para gerar este arquivo depois de excecutar..


5. Re: Compilação

Enviado em 17/03/2015 - 17:53h

juhlyana escreveu:

Estou com um programa no fortran onde ele ordena átomos. Neste programa não está contido para escrever um arquivo de saida. Eu tenho que colocar um comando na hora de compilar para escrever um novo arquivo com os átomos ordenados. Tipo dou o comando gfortran arq.f e depois executando ./a.out (tenho que colocar neste momento um comando par a sair o novo arquivo) Alguém saberia dizer como faz?

Obrigada


Pelo que entendi, você não tem um arquivo onde os resultados são colocados depois que o programa é rodado.

No meu caso eu coloco
open(1,file='nomedoarquivo.dat') 
no começo do programa, para abrir o arquivo.

Depois onde eu quero que os resultados sejam armazenados eu coloco
write(1,*) a1, a2 
. No meu caso ele costuma ser no final do programa. Imagine que a1 e a2 sejam os resultados recolhidos.

6. Re: Compilação

Enviado em 17/03/2015 - 19:42h


Resolvido

7. Re: Compilação

Enviado em 17/03/2015 - 20:18h

juhlyana escreveu:


Resolvido


Como você resolveu?


8. Re: Compilação

Enviado em 18/03/2015 - 14:47h


Com este programa eu teria que dar apenas este comando:

./a.aout <arquivodeentreda.xyz> saida.xyz

Este programa é de ordenar átomos tenho que ter um:
arquivo de entrada.xyz
e
o de saida.xyz

como esta no comando acima.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder