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 |