ffcx

FEniCS Form Compiler (FFCx).

FFCx compiles finite element variational forms into C code.

ffcx.get_options(priority_options: dict[str, dtype[Any] | None | type[Any] | _SupportsDType[dtype[Any]] | str | tuple[Any, int] | tuple[Any, SupportsIndex | Sequence[SupportsIndex]] | list[Any] | _DTypeDict | tuple[Any, Any] | int | float] | None = None) dict[str, int | float | dtype[Any] | None | type[Any] | _SupportsDType[dtype[Any]] | str | tuple[Any, int] | tuple[Any, SupportsIndex | Sequence[SupportsIndex]] | list[Any] | _DTypeDict | tuple[Any, Any]][source]

Return (a copy of) the merged option values for FFCX.

Parameters:

priority_options – take priority over all other option values (see notes)

Returns:

merged option values

Note

This function sets the log level from the merged option values prior to returning.

The ffcx_options.json files are cached on the first call. Subsequent calls to this function use this cache.

Priority ordering of options from highest to lowest is:

  • priority_options (API and command line options)

  • $PWD/ffcx_options.json (local options)

  • $XDG_CONFIG_HOME/ffcx/ffcx_options.json (user options)

  • FFCX_DEFAULT_OPTIONS in ffcx.options

XDG_CONFIG_HOME is ~/.config/ if the environment variable is not set.

Example ffcx_options.json file:

{ “epsilon”: 1e-7 }