Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Verify, catalog, and document Cantera ThermoPhase classes. #6

Open
decaluwe opened this issue Jun 15, 2019 · 1 comment
Open

Verify, catalog, and document Cantera ThermoPhase classes. #6

decaluwe opened this issue Jun 15, 2019 · 1 comment
Labels
documentation Improvements or additions to documentation work-in-progress An enhancement that someone is currently working on

Comments

@decaluwe
Copy link
Member

Cantera's ThermoPhase class list contains approximately 30-some classes, representing a range of phase-types. However, these classes also represent a range of utility, functionality, and documentation. Some models are improperly or incompletely implemented, some lack coherent documentation, some lack examples required to demonstrate use cases and implementation details, while others lack the test coverage required to maintain functionality with updates to the codebase. Beyond a handful of core models, it is at present difficult for an interested user to understand the functionality, purpose, and implementation details for many of Cantera's available models. Lastly, there
are a handful of classes with only marginal utility -- classes that largely duplicate functionality that is already present elsewhere in the thermophase classes or that implement models with either dubious physical validity or limited possible use cases.

Simultaneously, the 'Science' section on Cantera's website provides a logical space to document the scientific theory underpinning Cantera's various classes, but is at present underutilized. This would be a great venue for both cataloging and documenting Cantera's various thermophase classes.

This issue, therefore proposes two/three main tasks:

  1. A thorough review of Cantera's thermophase classes (current as of 15 June, 2019). The review should identify:
  • Overall summary of the model, including general use cases.
  • Identify governing equations for phase (p-v-T) behavior
  • Identify the expressions used for activity concentration, standard concentration, and standard-state chemical potential.
  1. Identify models which can be deprecated. This might be justified by any combination of: poor or incomplete implementation, a lack of documentation or test suite coverage to verify correct functionality, or functionality that is largely duplicated in other thermophase classes. Classes which currently see moderate or heavy usage should not be candidates for deprecation, regardless of any of the above conditions (i.e. we would rather attempt to rectify the deficiencies, in place of deprecating the model).

  2. After completing steps 1 and 2, Move documentation of the thermophase classes to https://cantera.org/science. This should include a brief overview of the available classes, consisting of some subsection of the review in part 1, with links available to a more in-depth documentation of each class (i.e. duplication of the docstrings available in the class's header file).

We will use this space to document progress through this review and documentation.

@ischoegl
Copy link
Member

ischoegl commented May 3, 2022

Fwiw, here is an alphabetic list taken from the most recent YAML API docs (Cantera 2.6), which could serve as a starting point (there may be others):

  • binary-solution-tabulated
  • compound-lattice
  • constant-density
  • Debye-Huckel
  • edge
  • electron-cloud
  • fixed-stoichiometry
  • HMW-electrolyte
  • ideal-gas
  • ideal-molal-solution
  • ideal-condensed
  • ideal-solution-VPSS
  • ideal-surface
  • ions-from-neutral-molecule
  • lattice
  • liquid-water-IAPWS95
  • Margules
  • Maskell-solid-solution
  • Peng-Robinson
  • plasma
  • pure-fluid
  • Redlich-Kister
  • Redlich-Kwong

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation work-in-progress An enhancement that someone is currently working on
Projects
None yet
Development

No branches or pull requests

3 participants