Skip to content

Problems with IonFlow implementation #913

@ischoegl

Description

@ischoegl

Problem description

Simulations involving IonFlow have some remaining convergence issues: e.g. the example ion_burner_flow.py packaged with 2.4 shows poor convergence (with a potential band-aid fix in #912). Additional issues surfaced while reviewing the code. Overall, the following should be addressed:

  • Convergence of simulations appears to depend on domain size, which is not intuitive
  • The Python attribute IonFlameBase.electric_field_enabled (as well as the C++ counterparts) has no effect on the actual solution - the implementation is incomplete as the C++ vector m_do_electric_field is set but never used.
  • It is unclear why the Poisson equation shouldn't be solved at individual grid points as apparently intended by the boolean vector IonFlow::m_do_electric_field (is this physical?)
  • It is not possible to impose an external electric field (the upstream residual enforces zero electric field at the inlet)
  • The solution stage approach is not consistent with simulations of other effects (e.g. soret is enabled by a boolean flag): now that there are no longer three solution stages (as in early IonFlow versions), simply toggling the electric_field_enabled switch should suffice.

System information

  • Cantera version: 2.5.0a4
  • OS: any
  • Python/MATLAB/other software versions: any

Attachments

Issues: #909, #911 (superseded by this issue), #912 (most relevant changes were transferred to #905)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions