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:
chcp 1252
set PATH= %PATH%c:\cepel\anatem\v12_0_0\;
set ANATEM= c:\cepel\anatem\v12_0_0\
[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:
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).
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.
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.