Este paquete funciona con Firedrake para generar métodos Runge-Kutta a partir de una forma UFL semi-discreta. Hemos agregado un símbolo de UFL para derivados de tiempo y podemos producir UFL para el método completamente discreto a partir de una forma semi-discreta y un cuadro de carnicero. Están disponibles varios de estos cuadros, y algunas funciones de utilidad para el tiempo y el paso de tiempo adaptativo siempre que el cuadro tenga un método de orden inferior integrado.
Una crítica de larga data de los métodos RK completamente implícitos, especialmente para PDE, es que requieren una resolución algebraica muy grande para todas las etapas simultáneamente. Sin embargo, podemos usar la infraestructura de solucionador de Firedrake para abordar este problema, y también recuperar la mayor parte de la eficiencia comparativa de DIRK o métodos explícitos.
El núcleo de Irksome se basa en la manipulación de UFL y, por lo tanto, debe ser adaptable a trabajar con fenéticos u otros paquetes basados en UFL, pero la versión actual solo funciona con FiredRake. Como tal, requiere una instalación que funcione moliendo. Recomendamos instalar Irksome a través de la opción --install irksome
al instalador FiredRake. Dada una instalación preexistente de FiredRake, uno puede obtener molesto con opciones para firedrake-update
. Alternativamente, dado un entorno virtual activo FiredRake, uno puede clonar molesto y ejecutar python setup.py install
o un comando PIP equivalente dentro de su directorio de nivel superior.