A equação do calor é discretizada no espaço com FV (ou FEM), e uma equação semi-discreta é obtida (sistema de EDOs). Essa abordagem, conhecida como método de linhas , permite alternar facilmente de uma discretização temporal para outra, sem duplicação de código. Em particular, você pode reutilizar qualquer integrador de tempo para EDOs sem muito esforço. Isso é muito conveniente porque se você decidir alterar sua discretização espacial de FV para dizer FE, você ainda terá uma equação semi-discreta e seus integradores de tempo ainda funcionarão.
Agora estou tentando implementar o método de rothe para o mesmo problema. No entanto, discretizar no tempo primeiro me obriga a reescrever a discretização espacial para cada esquema de discretização temporal que eu queira usar. Isso elimina a reutilização de integradores de tempo que eu tinha anteriormente e torna muito complicado escrever software modular que pode discretizar um PDE usando o método de linhas ou o método de Rothe.
Existe uma maneira de implementar as duas abordagens, sem duplicação de código?
Editar:
Em problemas dominados por convecção, a discretização da EF precisa de estabilização no tempo e no espaço, tornando o método de Rothe a "melhor" opção. No entanto, este não é o caso dos métodos FV / DG.
No método das linhas, o PDE é discretizado primeiro no espaço e depois no tempo. No método de Rothe, o PDE é discretizado primeiro no tempo e depois no espaço. A terceira possibilidade é discretizar simultaneamente no espaço e no tempo (também conhecidas como discretizações espaço-temporais). Uma discussão sobre o método de linhas e o método de Rothe pode ser encontrada aqui . Para mais informações, o livro "Métodos de elementos finitos para problemas de fluxo" da Donea e Huerta é um bom recurso.