Commit graph

637 commits

Author SHA1 Message Date
Ingmar Schoegl
f5f7227e79 [Thermo] reformat NasaPoly2::validate warning 2019-11-10 22:56:20 -05:00
Ingmar Schoegl
54c12fc59c [Thermo] add support for concentration string in findIsomers 2019-10-29 21:26:57 -04:00
Ingmar Schoegl
3ef99f966c [Thermo] add functions findIsomer/addSpeciesAlias 2019-10-29 21:26:57 -04:00
Ingmar Schoegl
ee41824b1e [SpeciesThermo] address review comments 2019-10-23 13:53:56 -04:00
Ingmar Schoegl
d43774e721 [SpeciesThermo] enable cython constructors for Nasa9PolyMultiTempRegion
Further:
* Add unit tests for ShomatePoly2 and Mu0Poly
2019-10-23 13:53:56 -04:00
Ingmar Schoegl
cf8d2efa09 [SpeciesThermo] assign nCoeffs in C++ layer 2019-10-23 13:53:56 -04:00
Ingmar Schoegl
dc66407cf2 [Thermo] address code review comments 2019-10-23 13:45:29 -04:00
Ingmar Schoegl
63da219947 [Thermo] deprecate name/id support in Phase::speciesIndex 2019-10-23 13:45:29 -04:00
Ingmar Schoegl
7c08e17f08 [Thermo] deprecate Phase::id and Phase::setID
* Merge usage of 'id' and 'name' in the context of Phase objects
* Raise deprecation warnings for Phase::id and Phase::setID
2019-10-23 13:45:29 -04:00
Ingmar Schoegl
6e5d45273a [Thermo] replace 'phase_id' by 'name'
* 'name' corresponds to the YAML entry
* rename Solution keyword 'phaseid' to 'name' (instead of 'phase_id')
* rename ck2yaml argument '--id' to '--name' (instead of '--phase-id')
* ensure that C++ Phase::m_id is always the same as Phase::m_name
2019-10-23 13:45:29 -04:00
Ingmar Schoegl
5928d63746 [Thermo] address discussion and review comments
* rename C++ object to 'Solution' (from 'SolutionBase')
* remove 'phaseID' from 'Solution' ('id' remains assigned to 'Phase')
* remove 'type' from C++ object (no polymorphism anticipated)
* assign 'name' to 'Solution' (link back from 'Phase' until deprecated)
* clarify 'phase' as 'phase_id' in Python interface
* address various feedback in review comments
2019-10-23 13:45:29 -04:00
Ingmar Schoegl
3bf09fbd7f [Base] rename Base.h/.cpp to SolutionBase.h/.cpp 2019-10-23 13:45:29 -04:00
Ingmar Schoegl
f71954ac96 [Base] associate phase ID with SolutionBase object 2019-10-23 13:45:29 -04:00
Ingmar Schoegl
b5137d40a3 [Base] remove redundant unique_name attribute
* Resolve conflation of gas.ID and gas.name in unit tests
* Also fixes #691
2019-10-23 13:45:29 -04:00
Bryan W. Weber
55fe2233b1 [Thermo/YAML] Rename water-IAPWS95 to liquid-water-IAPWS95
The water-IAPWS95 instantiates either WaterSSTP or PDSS_water objects,
both of which are intended for liquid phases only. Clarify the phase
name to liquid-water-IAPWS95 to allow a future phase that could
represent the full liquid<->vapor phase space.
2019-10-06 16:45:21 -04:00
Ray Speth
b44f189569 [Thermo] Avoid NaN in entropy with small negative mass fractions
Avoid NaN results in entropy_mole calculations when there are small negative
mass fractions. Consistent with the approach used elsewhere,
e.g. IdealGasPhase::getPartialMolarEntropies.
2019-09-24 17:38:15 -04:00
Paul
c4aff04418 Updated URL in references to Cantera's license. 2019-09-23 22:02:33 -04:00
Ingmar Schoegl
9ce255302e Implement faster fallback for non-canonical/lowercase name lookup 2019-09-23 21:53:06 -04:00
Ingmar Schoegl
5e692e893a Isolate lowercase fallback in speciesIndex 2019-09-23 21:53:06 -04:00
Ingmar Schoegl
717635d3e6 Add case-sensitive/lowercase logic to Phase::species
Further:
* revert unit tests to previous species definitions (some case mis-matches)
* remove non-essential comments
* opt to maintain case-sensitive species maps with lowercase as fallback
2019-09-23 21:53:06 -04:00
Ingmar Schoegl
2231141e32 [Thermo] add flag that makes species names case sensitive
* store species information with case sensitive names
* retain lookup for non-case sensitive species names, e.g. Phase::speciesIndex
* implement flag that enforces case sensitive species names as a member
variable of Phase
* add exception handling for species that are not uniquely defined unless case
sensitive (e.g. Cs and CS in nasa.cti if cs is specified and case sensitivity
is not enforced)
* deprecate Phase::species(std::string&)
2019-09-23 21:53:06 -04:00
Ingmar Schoegl
e0fe5eed59 [Thermo] fix compiler warning for RedlichKwongMFTP 2019-09-23 21:53:06 -04:00
Ray Speth
27f30c6a2d Use more precise atomic masses for deuterium and tritium 2019-08-09 15:15:30 -04:00
Bryan W. Weber
fc01d7f3de Make format of atomic weights struct consistent
In the atomic weights struct in Elements.cpp, ensure that there is no
space before the closing brace of an element and that there is one
space between the longest element name and a 3-digit weight.
2019-08-09 15:15:30 -04:00
Bryan W. Weber
b5a7575bc0 [Doc] Fix element function exception documentation
For several elements-related functions, the documentation listed
incorrect or incomplete exceptions that could be thrown from that
function.
2019-08-09 15:15:30 -04:00
Ray Speth
a7363e4b54 Update mass of electron "element" to 2018 CODATA value 2019-08-09 15:15:30 -04:00
Bryan W. Weber
dc96fb5fe8 Update atomic weights with 2018 IUPAC/CIAAW data
Use data from the periodic table at
http://www.ciaaw.org/atomic-weights.htm and
https://iupac.org/wp-content/uploads/2018/12/IUPAC_Periodic_Table-01Dec18.pdf
Elements without any atomic weight in either table do not have a stable
isotope. These are deleted from elements.xml and have their atomic
weight set to -1.0 in Elements.cpp. Add elements after plutonium that
were not previously listed. None of these elements have stable
isotopes.

These elements are retained/added so their symbols, names, and atomic
numbers can still be retrieved and the mapping of atomic number to
index - 1 in the struct is maintained.

Modify the element weight lookup functions to throw errors when an
element with no weight is requested (i.e., the weight is -1.0 in the
struct).
2019-08-09 15:15:30 -04:00
Ray Speth
b77f368ead [Input] Instantiate BinarySolutionTabulatedThermo from YAML 2019-06-25 22:30:59 -04:00
Ray Speth
53faf54ceb [Thermo] Add ThermoPhase.standardConcentrationUnits method
This method returns the units of the concentration-like terms appearing
in rate expressions, and are needed in order to convert rate constants
from user-specified input units to Cantera's MKS+kmol system.
2019-06-25 22:30:59 -04:00
Ray Speth
8037497dd3 [Python] Implement Species constructors from YAML files/strings 2019-06-25 22:30:59 -04:00
Ray Speth
672b55a72f Add AnyValue::getMapWhere function 2019-06-25 22:30:59 -04:00
Ray Speth
d77a5979a8 [Input] Provide context for more errors in YAML processing 2019-06-25 22:30:59 -04:00
Ray Speth
b1273301cc [Input] Create Metal objects from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
088e0031fd [Input] Create LatticePhase and LatticeSolidPhase from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
f1937bfada [Input] Create IdealSolidSolnPhase objects from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
3011374ff6 [Input] Create ConstDensityThermo objects from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
ecc1cf0db2 [Input] Create PureFluid objects from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
9e98aef969 [Input] Create RedlichKwongMFTP objects from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
26bd71af53 [Input] Create Surface and Edge phases from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
48a32ae8bf [Thermo] Enable creation of ThermoPhase objects from YAML file names 2019-06-25 22:30:59 -04:00
Ray Speth
45d5099979 Create PDSS_HKFT objects from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
3028c14a10 Improve setting of default energy and pressure units
Only treat activation energies as a special case, rather than all molar
energies. Units of activation energy can be set either explicitly or by setting
units for energy and quantity. Only the case where activation energies are given
as temperatures needs to be specified explicitly.

Allow setting of default energy units, which allows calories to be used.

Also add dyn/cm^2 as an option for pressure units.
2019-06-25 22:30:59 -04:00
Ray Speth
56612115f3 [Input] Create HMWSoln objects from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
7d964dae47 [Input] Create MaskellSolidSoln objects from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
d8a1337933 [Input] Create RedlichKister objects from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
4f30f1156d [Input] Fix reference pressure on constant cp thermo created from YAML
Also make 298.15 the default reference temperature
2019-06-25 22:30:59 -04:00
Ray Speth
72d345619f [Input] Create PDSS_SSVol objects from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
1e8b8b538c [Input] Create IdealGasVPSS and PDSS_IdealGas objects from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
a3024d7699 [Input] Create IonsFromNeutral objects from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
8b47274765 [Input] Create DebyeHuckel and PDSS_Water objects from YAML definitions 2019-06-25 22:30:59 -04:00