COCO - CAPE-OPEN to CAPE-OPEN simulation environment
 Help

ICOFEMaterial interface

The ICOFEMaterial is exposed by the COFE material objects. This can be material streams that are obtained by ICOFEDocument.GetStream, or materials created using the material template server that is obtained from ICOFEDocument.GetSimulationContext.

Material objects expose in addition to ICOFEMaterial the following interfaces: ICOFEStream, ICapeIdentification (see CAPE-OPEN Identification Common Interface), ICapeThermoMaterialObject (CAPE-OPEN version 1.0 thermodynamic interface), and ICapeThermoCompounds, ICapeThermoEquilibriumRoutine, ICapeThermoMaterial, ICapeThermoPhases, ICapeThermoPropertyRoutine, ICapeThermoUniversalConstant (CAPE-OPEN version 1.1 thermodynamic interface).

The following methods are exposed by the ICOFEMaterial interface:

GetSupportedPhaseList
declared as: HRESULT GetSupportedPhaseList([out,retval] VARIANT* phaseList);
argument: phaseList: list of phases that are supported by the material
description: Obtains a list of phases that the current material supports. This is not the same list as the PhaseIds method (CAPE-OPEN version 1.0 thermodynamic interface) as this lists the phases that are currently present on the material, like GetPresentPhases (CAPE-OPEN version 1.1 thermodynamic interface); it is however the same list as returned by GetPhaseList (CAPE-OPEN version 1.1 thermodynamic interface).

MaterialType
declared as: [propget] HRESULT MaterialType([out, retval] BSTR* pVal);
return value: pVal: name of the stream type
description: Obtains the stream type for the given material. The stream type can be used to recreate a material of the same type using the material template server that is obtained from ICOFEDocument.GetSimulationContext. Alternatively, one can create a material of the same type of a given material using its Duplicate method (CAPE-OPEN version 1.0 thermodynamic interface) or CreateMaterial method (CAPE-OPEN version 1.1 thermodynamic interface)