Exchanged Fields Reference

The Co-Simulation API provides functions for outgoing and incoming fields. Registration functions instruct the API to prepare for exchanging particular fields.

The following code shows an example registration for outgoing fields. This example uses the Property Suite to assign a string (in this case, the field name) to the registered field:

int propertiesId = propertiesSuite->create();

propertiesSuite->addString(propertiesId, "FieldTitle", "Displacement Field");

int displacementId = factorySuite->registerOutgoingField(
  zoneId,
  StarccmplusVertexFieldLocation,
  StarccmplusDisplacementSpecification, 
  StarccmplusDisplacements, 
  propertiesId);

Example registration for incoming fields:

int pressureId = factorySuite->registerIncomingField(
  zoneId,
  StarccmplusFaceFieldLocation,
  StarccmplusPressureSpecification,
  StarccmplusPressure,
  propertiesSuite->create());  

Use the following table in registration functions for data fields:

StarccmplusSpecification StarccmplusFieldType StarccmplusFieldLocation
StarccmplusPressureSpecification StarccmplusPressure StarccmplusFaceFieldLocation
StarccmplusTractionSpecification StarccmplusPressure AND StarccmplusWallShearStress StarccmplusFaceFieldLocation
StarccmplusDisplacementSpecification StarccmplusDisplacements StarccmplusVertexFieldLocation
StarccmplusTemperatureSpecification StarccmplusTemperature StarccmplusFaceFieldLocation
StarccmplusConvectiveFluxSpecification StarccmplusHeatTransferCoefficient AND StarccmplusReferenceTemperature StarccmplusFaceFieldLocation
StarccmplusEnvironmentalFluxSpecification tarccmplusHeatTransferCoefficient AND StarccmplusReferenceTemperature StarccmplusFaceFieldLocation
StarccmplusScalarAuxiliarySpecification StarccmplusScalarAuxiliaryField StarccmplusFaceFieldLocation OR StarccmplusVertexFieldLocation
StarccmplusVectorAuxiliarySpecification StarccmplusVectorAuxiliaryField StarccmplusFaceFieldLocation OR StarccmplusVertexFieldLocation

Use the StarccmplusSpecification to say what quantity your program is going to exchange (incoming or outgoing). Use the StarccmplusFieldType to define the type of data that the codes exchange for that quantity.

StarccmplusFieldType Array Type Array Length Dimension Units
StarccmplusPressure 1 double per face NumberOfFaces Pressure Pa
StarccmplusWallShearStress 3 doubles per face NumberOfFaces * 3 Pressure Pa
StarccmplusDisplacements 3 doubles per vertex NumberOfVertices * 3 Length m
StarccmplusTemperature 1 double per face NumberOfFaces Temperature K
StarccmplusHeatTransferCoefficient 1 double per face NumberOfFaces Power/Length^2-Temperature W/m^2K
StarccmplusReferenceTemperature 1 double per face NumberOfFaces Temperature K
StarccmplusScalarAuxiliaryField 1 double per face or cell NumberOfFaces or NumberOfCells
StarccmplusVectorAuxiliaryField 3 double per face or cell NumberOfFaces or NumberOfCells