"Seegrid will be due for a migration to confluence on the 1st of August. Any update on or after the 1st of August will NOT be migrated"


Species Model Updates

Species has been updated with a view to removing the query aspects of the application from the information model. SpeciesIdentifier has been replaced with SpeciesSummary which is a simplified view of a species object and is used only in the query process. The Species object has been abstracted to cater for SpeciesSummary and the more detailed information contained within a Species itself.I believe any link between SpeciesSummary and Species is implementation specific.

The addition of Phase and phaseDetails models the relationship a Species has with different numbers of phases being temperature and pressure dependant. should be greyed out

-- DalePercival - 23 Feb 2007

I've updated the UML and changed Species to a specialisation of AbstractSpecies called DataSet. This describes more precisly what is intended by a Species that contains attribute information dependant upon a Model. A DataSet is an instance of a Species and it's parameter/value pairs, generated by the application of a thermodynamic Model. A Species object is merely the data concerned with the Elements that comprises the 'mineral' or 'compound'.

-- DalePercival - 08 Mar 2007

Species Model Questions

Should the DataSet contain the attributes of a Model that would allow it to function in a modelling application or should they remain seperate until specifically asked for?

Are there occasions when it would make sense to ask for information about a DataSet without wanting the dataSetConstants as well?

Does the freeEnergyModel become redundant in a dataSetConstant if we have already stated the model in the DataSet?

-- DalePercival - 11 Mar 2007

Should the composition of a species be a list of (element id,number) pairs, much like the equation of a reaction is a list of reagents. This saves the application writer the trouble of parsing the formula. Also, should we allow floats for the coefficients in the formulae.

-- PeterHornby - 20 Aug 2007

Depends on the application? Eg, some components of HCh do it automatically (like Main AND UT2K). Otherwise we could keep the parsed formulas in the database. One (partially implemented option) is to keep the version of formulas in the canonical Hill format (eg, [Ci]Hn... etc) -- still should be parsed but without any recursion, another is to append FreeGs with a special stoichiometric table that is compulsory filled in when one adds another species (preferrably, via a trigger).

Yes we shoul should we allow floats for the coefficients in the formulae.

-- EvgeniyBastrakov - 20 Aug 2007

My preference is a list of (element id,float) pairs because this is closer to one of the CML approaches, and it is the approach I have implemented in ChemicalSystem object. CML also allows the formula approach, however in XML, it is usually best to avoid implied structure in a string. For the same reason, a table is less OO than the (element id,float) list. In fact, the various parsers in the chemistry interface that create ChemicalSystem objects from HCh and UT2K output turn the composition tables into such a list.

In the ChemicalSystem object, charged species are represented by adding an electron term to the (element id,float) list. For example H+ is represented as [(H,1), (e-,-1)] or Cl- as [(Cl,1),(e-,1)]. This way, the charge is part of the composition, and no separate charge field is needed. This last bit is perhaps a bit pedantic, but it does eliminate yet another special case (charge conservation etc.) and reduces processing to that of any other element.

Just for the sake of discussion, the scheme used in ChemicalSystem is as follows.

Species = has a Molecule, Phase, State, other stuff like ActivityModel...etc.

Molecule = list of (ChemicalObject,float) pairs.

ChemicalObject = superclass of Molecule and AtomicObject.

AtomicObject = superclass of Element and Electron.

Can we rename DataSet to Species?

-- PeterHornby - 21 Aug 2007
Topic revision: r10 - 15 Oct 2010, UnknownUser

Current license: All material on this collaboration platform is licensed under a Creative Commons Attribution 3.0 Australia Licence (CC BY 3.0).