CapeThermoMaterialWrapperGetCompoundList Method

Returns the list of all Compounds. This includes the Compound identifiers recognised and extra information that can be used to further identify the Compounds.

Definition

Namespace: CapeOpen
Assembly: CapeOpen (in CapeOpen.dll) Version: 1.0.0.0 (1.0.0.0)
private void GetCompoundList(
	ref string[] compIds,
	ref string[] formulae,
	ref string[] names,
	ref double[] boilTemps,
	ref double[] molwts,
	ref string[] casnos
)

Parameters

compIds  String
List of Compound identifiers
formulae  String
List of Compound formulae
names  String
List of Compound names.
boilTemps  Double
List of boiling point temperatures.
molwts  Double
List of molecular weights.
casnos  String
List of Chemical Abstract Service (CAS) Registry numbers.

Remarks

If any item cannot be returned then the value should be set to UNDEFINED. The same information can also be extracted using the GetCompoundConstant method. The equivalences between GetCompoundList arguments and Compound constant Physical Properties, as specified in section 7.5.2, is as follows:

compIds - No equivalence. compIds is an artefact, which is assigned by the component that implements the GetCompoundList method. This string will normally contain a unique Compound identifier such as "benzene". It must be used in all the arguments which are named “compIds” in the methods of the ICapeThermoCompounds and ICapeThermoMaterial interfaces.

Formulae - chemicalFormula

names - iupacName

boilTemps - normalBoilingPoint

molwts - molecularWeight

casnos casRegistryNumber

When the ICapeThermoCompounds interface is implemented by a Material Object, the list of Compounds returned is fixed when the Material Object is configured.

For a Property Package component, the Property Package will normally contain a limited set of Compounds selected for a particular application, rather than all possible Compounds that could be available to a proprietary Properties System.

In order to identify the Compounds of a Property Package, the PME, or other client, will use the casnos argument rather than the compIds. This is because different PMEs may give different names to the same Compounds and the casnos is (almost always) unique. If the casnos is not available (e.g. for petroleum fractions), or not unique, the other pieces of information returned by GetCompoundList can be used to distinguish the Compounds. It should be noted, however, that for communication with a Property Package a client must use the Compound identifiers returned in the compIds argument.

Exceptions

ECapeNoImplThe operation GetCompoundList is “not” implemented even if this method can be called for reasons of compatibility with the CAPE-OPEN standards. That is to say that the operation exists, but it is not supported by the current implementation.
ECapeUnknownThe error to be raised when other error(s), specified for the GetCompoundList operation, are not suitable.
ECapeBadInvOrderThe error to be raised if the Property Package required the SetMaterial method to be called before calling the GetCompoundList method. The error would not be raised when the GetCompoundList method is implemented by a Material Object.

See Also