Módulo de Simulação#

Essa seção traz instruções de como executar uma simulação.

Arquivo de configuração#

O único input para executar uma simulação, é a descrição dos parâmetros de entrada. Isso é feito através do arquivo de configuração, como por exemplo:

Arquivo de configuração da simulação do caso de validação Rocha et. al (2020)#
sim_name: simulation_example
domain:
  height: 0.21
  spatial_divisions: 220
suspension:
  initial_conc: 0.1391
  max_conc: 0.19
solid_phase:
  particle_diam: 0.0000408
  particle_esphericity: 0.8
  density: 2709
fluid_phase:
  density: 891.4
  power_law:
    M: 30.13
    n: 0.21
simulation_parameters:
  timestep: 100
  total_time: 31536000 # 31536000
equation_parameters:
  delta: 0.58
  k0: 27.99
  beta: 0.19
  ref_conc: 0.14
  p_ref: 18.62
export:
  frequency: 100
report:
  frequency: 1000

Uso#

Todos os exemplos deste manual serão baseados no uso a partir de Jupyter notebooks. Consultar o notebook referente ao exemplo de uma simulação.

Para automações de casos de teste, é conveniente poder rodar o software a partir da linha comando. O comando para rodar o módulo de simulação a partir do terminal é:

poetry run python -m modules.simulation --c <CONFIG_PATH>

O argumento –c indica o caminho para o arquivo de configuração da simulação.

Dados de saída#

Os dados de saída da simulação se encontram em Settling-Simulator/out/<NOME_DA_SIMULAÇÃO>.

Nessa pasta, são salvos as séries temporais das propriedades da suspensão, no formato .csv, e também no formato VTK.

Os dados brutos das propriedades da suspensão, estão divididos de acordo com o tipo de propriedade:

  • Cell data: Dados nos centros dos volumes (Permeabilidade e Concentração).

  • Point data: Dados nas fronteiras dos volumes (Velocidade e Gradientes).

A estrutura da pasta dos dados de saída da simulação é como se segue:

NOME_DA_SIMULAÇÃO/
    data/
        cell_data.csv # Dados brutos nos centros dos volumes
        point_data.csv # Dados brutos nas fronteiras dos volumes
    vtp/
        suspension.vtm # Arquivo multiblock (VTK)
        suspension/
            suspension_*.vtp # Série temporal polydata (VTK)
    config.yaml # Cópia do arquivo de configuração