Código fonte para inewave.nwlistcf.estados

from typing import List


from inewave._utils.escrita import Escrita
from inewave._utils.arquivo import Arquivo
from inewave._utils.dadosarquivo import DadosArquivo
from inewave.nwlistcf.modelos.estados import LeituraEstados
from inewave.nwlistcf.modelos.estados import RegistroEstado


[documentos]class Estados(Arquivo): """ Armazena os dados dos estados visitados pelo NEWAVE existentes no arquivo `estados.rel` do NWLISTCF. Esta classe armazena os estados de cada uma das variáveis envolvidas no problema e da função objetivo, para cada registro e REE dentro do registro. Cada registro possui um modelo próprio, armazenando os estados das variáveis em uma array específica. """ def __init__(self, dados: DadosArquivo): super().__init__(dados) @classmethod def le_arquivo(cls, diretorio: str, nome_arquivo="estados.rel") -> 'Estados': leitor = LeituraEstados(diretorio) r = leitor.le_arquivo(nome_arquivo) return cls(r) def escreve_arquivo(self, diretorio: str, nome_arquivo="estados.rel"): escritor = Escrita(diretorio) escritor.escreve_arquivo(self._dados, nome_arquivo) @property def registros(self) -> List[RegistroEstado]: registros: List[RegistroEstado] = [] for b in self._blocos: registros += b.dados return registros