# Alternative Transient Program

ATP Es una herramienta de software que permite la simulación digital de fenómenos transitorios de naturaleza electromagnética y electromecánica con fines de diseño, especificación de equipos o definición de parámetros eléctricos.
El software resuelve sistemas eléctricos, monofásico o polifásicos, calculando el valor que adquieren a lo largo del tiempo las variables del mismo. Trabaja con modelos que caracterizan el comportamiento de sus distintos elementos constitutivos: resistencias, inductancias, condensadores, elementos de parámetros concentrados y/o distribuidos; máquinas, interruptores, etc.
Su capacidad permite resolución de sistemas de hasta 6000 nodos, 1000 ramas, 900 fuentes, 1200 interruptores, 90 máquinas síncronas y 2250 elementos no lineales.

## Historia

En los años 60, Herman Dommell desarrollo para la Bonneville Power Administration (BPA) una aplicación computacional digital para simulación de circuitos eléctricos, sistemas electromecánicos y sistemas de control llamada Electromagnetic Transients Program (EMTP).
En 1984 inicia el desarrollo de EMTP para su ejecución en computadores personales por parte de DCG y del Electric Power Research Institute (EPRI) con fines comerciales. Un grupo de usuarios alternativo, partiendo de los códigos que eran abiertos desarrollados por (BPA), rechazaron la iniciativa y continuaron con la opción libre y abierta originaría y continuaron con el proyecto, denominándolo Alternative Transient Program (ATP), lo que hizo accesible el EMTP a un mayor número de usuarios.
Lo anterior impulsó la elaboración de trabajos y la divulgación de la nueva herramienta informática por muchos usuarios. Desde entonces, la herramienta se ha desarrollado a través de contribuciones de usuarios alrededor del mundo, independientes de EMTP.
A finales de los años 80 se presentó la primera versión de la herramienta ATPDraw, desarrollada de manera independiente y que permitía dibujar un circuito en ambiente gráfico en lugar de tener que escribir un archivo de texto con la información de la simulación deseada.

### Historia en Colombia

El software fue traído a Colombia por Luis Fernando Blandon, trabajador de la oficina de planificación de ISA, en 1985, luego de un curso de capacitación en la herramienta que realizó en Brasil. En 1998, se creó el grupo nacional de EMTP con el fin de mejorar la difusión de la herramienta en el país.

## Licenciamiento

A pesar de que la herramienta EMTP que realizó BPA se mantiene en dominio público, ATP requiere un licenciamiento. El software es gratuito y su licenciamiento se realiza con grupos de usuarios.

## Funcionamiento
### Entorno de trabajo

El software se compone de un compilador ATP y una serie de programas complementarios que facilitan el uso de la herramienta. Las herramientas complementarias son: editores de texto, editor gráfico de circuitos eléctricos y aplicaciones para visualización de los resultads obtenidos.

### Compilador ATP

Es el núcleo de la aplicación y es la que permite compilar los datos del circuito de entrada con los resultados obtenidos. Los archivos de entrada al compilador se caracterizan por tener extensiones *.dat o *.atp. Los archivos de salida, en donde se registran los resultados de las simulaciones, son de extensión *.lis o *.pl4.
Existen dos versiones de compiladores ATP:
* Watcom ATP: Versión que funciona en WIndows. Permite nombres de archivos de gran longitud, grandes archivos de datos y desarrollo multitarea.
* GNU ATP: Es la versión que se ha construido con compilarodes libres del mundo GNU. Exusteb tres versiobes GNU ATP/MingW32, GNU ATP/digpp y GNU ATP/Linux. EEUG disstribuye solamente la primera, que funciona en entorno Windows.

#### Subrutina MODELS

MODELS es una subrutina que, al igual que TACS, fue desarrollada e incorporada en ATP por Laurent Dubé en 1989. Es un lenguaje de programación MODELS de descripción técnica, en el cual se utiliza un grupo de instrucciones sencillas (módulos) que permiten la representación y el estudio de sistemas variables en el tiempo, al igual que la representación de sistemas físicos complejos.
MODELS se puede definir como un lenguaje de programación para desarrollar modelos de componentes y construir librerías, representar componences o procesos numéricos. Es un lenguaje simple al que se familizarica con rapidez.

##### Aplicaciones que componen el software

Los siguientes son algunas aplicaciones y usos de MODELS en ATP:
* Inserción de fuentes de tensión o corriente, basadas en funciones de tiempo u obtenidas trámite archivos externos.
* Inserción de resistencias no lineales, variables en el tiempo, dependientes de la tensión o corriente u obtenidas a través de listados de puntos.
* Control de interruptores, dependencia de los mismos en con funciones de tiempo, dependiente de variables como corriente,o tensión o basados en funciones.
* Medidores de parámetros eléctricos como potencia, energía factor de potencia, frecuencia, valores RMS en las distintas partes de la red.
* Obtención de funciones de transferencia o equivalentes Thevenin o Norton.

##### Características del lenguaje de programación

Algunas características de MODELS son:
* Emplea sintaxis regular para el uso de variables, órdenes, expresiones y funciones.
* Usa diversas variables con valores dados de acuerdo con procedimientos establecidos en el model, que pueden ser: numéricos o lógicos.
* Permite el uso de funciones numéricas y lógicas predefinidas. Permite la definición de funciones por el usuarios, elementos parametrizados, listados de puntos y funciones programadas externamente.
* Permite la implementación de condiciones y ciclos (if, while, for...) para estructurar la formad de ejecución de un procedimiento.
* Permite el uso de comentarios dentro de una descripción que facilita la lectura.
* Tiene un campo de nombres individuales para cada model. Esto permite asignar nombres a las variables usadas, sin causar conflicto con nombres utilizados en otras instancias de la simulación.
* Replicabilidad de un mismo componente.
* Facilita la división de un bloque para reducir complejidad. Los sub-bloques se denominan submodels.
* Condicionar la ejecución de un model.
* Permite el control de errores.

#### TACS

TACS es el acrónimo en inglés de Transients Analysis of Control Systems. TACS es un subprograma de ATP que simula un computador análogo en forma de bloques de control. La teoría de incorporación y manejo de los dispositivos de control.
Algunos de los ítems incluidos en TACS son:
* Interruptor controlado en el tiempo (TACSSWITCH) por medio de model.
* Fuente controlada en el tiempo (TACSSOURCE) por medio de model.
* Resistencia controalda por medio de model.

### ATPDraw

Este programa permite crear los archivos con los datos de la simulación de forma gráfica. Permite la selección de componentes a partir de una librería en donde hay elementos circuitales; permite la edición de los parámetros de los mismos.
Permite crear modelos que no se encuentran en la librería base, utilizando opciones como Data Base Module o $INCLUDE.
Los archivos producidos con este software tienen extensión *.adp o *.cir y se pueden convertir a archivos *.atp, que maneja el compilador ATP.
Desde la herramienta gráfica se pueden iniciar otros programas: correr el compilador ATP, abrir las herramientas gráficas de salida o el editor de texto.

## Usos

ATP es útil para los siguientes tipos de análisis:
* Fallas y cálculos de corrientes a tierra. Permite representar o modelar elementos eléctricos para simular la corriente producida por una falla en un sistema eléctrico.
* Sobretensiones atmosféricas, temporales y de maniobra.
* Armónicos
* Conexión / desconexión de transformadores, reactancias y condensadores.
* Arranque de motores.
* Estabilidad transitoria.
* Coordinación de aislamiento.
* Protecciones.
* Sistema de transporte impulsados por eléctricida-
* Compensadores estáticos de potencia reactiva: STATCOM, SVC, UPFC y TCSC.
* Ferroresonancias.
* Regímenes estacionarios sinusoidales, incorporando elementos lineales y no lineales.