../../_images/first_step.png

Modo Shell

Dentro da pasta de instalação do Anatem, existem dois executáveis do Anatem: o anatem.exe e o iAnatem.exe. O primeiro diz respeito ao executável por linha de comando do programa, enquanto que o segundo é a versão em GUI.

Para se utilizar o Anatem na versão linha de comando, basta abrir o executável dentro da pasta de trabalho desejada. Por exemplo, caso o usuário queria executar um arquivo de dentro da pasta cujo caminho completo é “c:\teste”, a seguinte linha de comando deverá ser observada:

c:\teste > c:\Cepel\Anatem\v12_0_0\anatem.exe

Desta forma, o executável (anatem.exe) será instanciado dentro da pasta de trabalho “c:\teste\” e todos os arquivos informados deverão estar relativos a esta pasta. Uma forma mais producente, contudo, está na adição às variáveis de ambiente relativas ao Anatem.

Os sistemas Windows mais novos apresentam dois shells (Prompt de Comando e PowerShell) e ambos podem ser utilizados. As instruções necessárias para simulação no Anatem, e que devem ser informadas a cada nova sessão do shell, se encontram a seguir:

Listagem 5 Definição de variáveis de ambiente pelo terminal/cmd
chcp 1252
set PATH= %PATH%c:\cepel\anatem\v12_0_0\;
set ANATEM= c:\cepel\anatem\v12_0_0\
Listagem 6 Definição de variáveis de ambiente pelo powershell
[Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding(1252)
$env:Path += "C:\Cepel\Anatem\v12_0_0\"

A primeira linha no procedimento para cada shell é necessária uma vez que o Anatem utiliza o sistema de caracteres estendido do Windows (para a representação de acentos e outras marcações). Para executar o programa, após as definições das variáveis de ambiente, é preciso apenas evocar o comando:

Listagem 7 Evocando o Anatem no modo shell
Anatem

Ao iniciar a execução, o programa verifica no ambiente do sistema operacional se os nomes lógicos TEM$DADOS, TEM$SAVCA, TEM$MODEL, TEM$PRINT, TEM$PLOTA, TEM$LOG, TEM$SNAP e TEM$ARQSN estão associados a arquivos ou dispositivos de entrada/saída. Caso existam, estes arquivos serão associados às respectivas unidades lógicas (#1, #2, #3, #4, #8, #9, #10 e #11). Após esta verificação, as unidades lógicas que não estiverem associadas receberão as seguintes associações padrão:

Unidade lógica

Nome lógico

Arquivo/Dispositivo associado

#1

TEM$DADOS

Console (CON)

#2

TEM$SAVCA

SAVECASE.SAV SAVECASE.DAT Nulo (NUL)

#3

TEM$MODEL

Nulo (NUL)

#4

TEM$PRINT

Console (CON)

#5

TEM$INPUT

Console (CON)

#6

TEM$VIDEO

Console (CON)

#8

TEM$PLOTA

Nulo (NUL)

#9

TEM$LOG

Nulo (NUL)

#10

TEM$SNAP

Nulo (NUL)

#11

TEM$ARQSN

Nulo (NUL)

Observações:

1) A unidade lógica #2 é associada automaticamente ao arquivo SAVECASE.SAV ou ao arquivo SAVECASE.DAT, nesta ordem, se um destes arquivos existir no diretório corrente do usuário. Caso contrário esta unidade lógica é associada a um dispositivo nulo (NUL).

  1. As unidades lógicas #5 e #6 estão sempre associadas à console e não podem ser redirecionadas com o Código de Execução ULOG.

  2. A unidade lógica #22 é associada a um arquivo temporário em disco, criado em tempo de execução e eliminado ao término desta.

Qualquer modificação na associação das unidades lógicas pode ser efetuada através do Código de Execução ULOG. Embora as unidades lógicas 5 e 6 não possam ser redirecionadas pelo programa, é possível fazê-lo através da linha de comando do DOS usando os operadores -i e >. Um exemplo seria o seguinte comando:

Anatem -i arquivo_de_entrada  > arquivo_de_saída

Este comando faz com que o Anatem leia os comandos a partir do arquivo_de_entrada como se estes estivessem sendo fornecidos através do console. As mensagens a serem escritas na tela são, por outro lado, direcionadas para o arquivo_de_saída. O programa detecta que houve redirecionamento da unidade lógica de entrada padrão e estabelece um comportamento compatível com a execução em batch (eliminação de comandos interativos durante a execução).

Portanto para se executar vários casos em “batch” é possível criar um único arquivo de “batch” do DOS (geralmente com extensão .BAT ) que contenha vários comandos de execução do Anatem, um para cada caso desejado, redirecionando a entrada para o arquivo de dados correspondente. Por exemplo, para se processar n casos em sequência basta executar um arquivo CASOS.BAT com os seguintes comandos:

Anatem -i caso_1.stb
Anatem -i caso_2.stb
...
Anatem -i caso_n.stb

Sendo caso_1.stb, caso_2.stb, …, caso_n.stb os arquivos de dados de cada caso. Se um dos casos for interrompido, o sistema executará os casos restantes na sequência.

O usuário deve se atentar para o redirecionamento da unidade lógica de saída (comando >) no modo batch, uma vez que a cada novo comando do Anatem, o arquivo_de_saida deverá ser sobrescrito se este for o mesmo para cada chamada do programa.

Dica

Para ativar o paralelismo de solução, utilize o argumento -n seguido do número de núcleos desejado. Para máxima eficiência global, recomenda-se utilizar no máximo o número de núcleos físicos de um computador.

Por exemplo, um processador i7 com 4 núcleos físicos e 8 virtuais tem melhor desempenho com a seguinte chamada:

Anatem -i caso_1.stb -n 4

Esta forma de chamar o Anatem é semelhante à utilização da opção SPMD no código EXSI, com a diferença que é possível controlar o número de núcleos a serem utilizados.