Skip to main content

System Coupling C++ library 2025 R1

C++ Interfaces for Participant Library

Last update: 17.07.2025

Provides C++ interfaces to the System Coupling participant library. More...

Classes

struct  sysc::Dimensionality
 Provide a structure for dimensionality. More...
 
struct  sysc::TimeStep
 Provide a struct for time step. More...
 
struct  sysc::SolutionControl
 Provide a structure containing solution control. More...
 
struct  sysc::SetupInfo
 Provide a structure for System Coupling setup information. More...
 
struct  sysc::SetupFileInfo
 Provide a structure for writing System Coupling setup files. More...
 
struct  sysc::ResultsInfo
 Provide a structure for writing System Coupling results files. More...
 
struct  sysc::ValidityStatus
 Provide a struct that contains information about validity. More...
 
struct  sysc::MeshValidityStatus
 Provide a struct that contains information about mesh validity. More...
 
class  sysc::InputComplexScalarData
 Provide a class for input complex scalar data. More...
 
class  sysc::InputComplexVectorData
 Provide a class for input complex vector data. More...
 
class  sysc::InputScalarData
 Provide a class for input scalar data. More...
 
class  sysc::InputVectorData
 Provide a class for input vector data. More...
 
struct  sysc::ElementIdData
 Element id access struct, provides read-only access to the mesh element ids. More...
 
struct  sysc::ElementTypeData
 Element types access struct, provides read-only access to the mesh element types. More...
 
struct  sysc::ElementNodeCountData
 Describes element node counts. More...
 
struct  sysc::ElementNodeConnectivityData
 Describes element-to-node connectivity. More...
 
struct  sysc::FaceCellConnectivityData
 Describes face-to-cell connectivity. More...
 
struct  sysc::CellIdData
 Cell ids struct, provides read-only access to the mesh cell ids. More...
 
struct  sysc::NodeData
 Node data access struct, provides read-only access to the mesh nodes. More...
 
struct  sysc::FaceData
 Face data access struct, provides read-only access to the mesh faces. More...
 
struct  sysc::CellData
 Cell data access struct, provides read-only access to the mesh cells. More...
 
class  sysc::OutputComplexScalarData
 Provide a class for output complex scalar data. More...
 
class  sysc::OutputComplexVectorData
 Provide a class for output complex vector data. More...
 
class  sysc::OutputIntegerData
 Provide a class for output integer data. More...
 
class  sysc::OutputScalarData
 Provide a class for output scalar data. More...
 
class  sysc::OutputVectorData
 Provide a class for output vector data. More...
 
class  sysc::Parameter
 Provide a class for a System Coupling parameter. More...
 
class  sysc::PointCloud
 Provide a point cloud access class. More...
 
class  sysc::Region
 Provide a class for a System Coupling region. More...
 
class  sysc::SurfaceMesh
 Provide a surface mesh access class. More...
 
class  sysc::SystemCoupling
 Provide the main class for interacting with the System Coupling participant library. More...
 
class  sysc::Variable
 Provide a class for a System Coupling variable. More...
 
class  sysc::VolumeMesh
 Provide a volume mesh access class. More...
 
class  sysc::RealAttribute
 Provide a class for a real-valued attribute. More...
 
class  sysc::IntegerAttribute
 Provide a class for an integer-valued attribute. More...
 
class  sysc::CouplingInterface
 Provide a class for a coupling interface. More...
 
class  sysc::DataTransfer
 Provide a class for a data transfer. More...
 

Typedefs

using sysc::OpaqueDataAccess = void *
 
using sysc::RegionName = std::string
 
using sysc::VariableName = std::string
 
using sysc::CouplingInterfaceName = std::string
 
using sysc::RestartPoint = std::string
 
using sysc::TargetDataLocation = std::string
 
using sysc::DisplayName = std::string
 
using sysc::AttributeName = std::string
 
using sysc::ParameterName = std::string
 
using sysc::InputScalarDataAccess = InputScalarData(const RegionName &, const VariableName &)
 Provide function prototype for access to input scalar data. More...
 
using sysc::InputScalarDataAccessWithPointer = InputScalarData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to input scalar data. More...
 
using sysc::InputVectorDataAccess = InputVectorData(const RegionName &, const VariableName &)
 Provide function prototype for access to input vector data. More...
 
using sysc::InputVectorDataAccessWithPointer = InputVectorData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to input vector data. More...
 
using sysc::OutputScalarDataAccess = OutputScalarData(const RegionName &, const VariableName &)
 Provide function prototype for access to output scalar data. More...
 
using sysc::OutputScalarDataAccessWithPointer = OutputScalarData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to output scalar data. More...
 
using sysc::OutputVectorDataAccess = OutputVectorData(const RegionName &, const VariableName &)
 Provide function prototype for access to output vector data. More...
 
using sysc::OutputVectorDataAccessWithPointer = OutputVectorData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to output vector data. More...
 
using sysc::InputComplexScalarDataAccess = InputComplexScalarData(const RegionName &, const VariableName &)
 Provide function prototype for access to input complex scalar data. More...
 
using sysc::InputComplexScalarDataAccessWithPointer = InputComplexScalarData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to input complex scalar data. More...
 
using sysc::InputComplexVectorDataAccess = InputComplexVectorData(const RegionName &, const VariableName &)
 Provide function prototype for access to input complex vector data. More...
 
using sysc::InputComplexVectorDataAccessWithPointer = InputComplexVectorData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to input complex vector data. More...
 
using sysc::OutputComplexScalarDataAccess = OutputComplexScalarData(const RegionName &, const VariableName &)
 Provide function prototype for access to output complex scalar data. More...
 
using sysc::OutputComplexScalarDataAccessWithPointer = OutputComplexScalarData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to output complex scalar data. More...
 
using sysc::OutputComplexVectorDataAccess = OutputComplexVectorData(const RegionName &, const VariableName &)
 Provide function prototype for access to output complex vector data. More...
 
using sysc::OutputComplexVectorDataAccessWithPointer = OutputComplexVectorData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to output complex vector data. More...
 
using sysc::SurfaceMeshAccess = SurfaceMesh(const RegionName &)
 Provide alias for function that provides access to surface mesh. More...
 
using sysc::SurfaceMeshAccessWithPointer = SurfaceMesh(OpaqueDataAccess, const RegionName &)
 Provide alias for function that provides access to surface mesh. More...
 
using sysc::VolumeMeshAccess = VolumeMesh(const RegionName &)
 Provide alias for function that provides access to volume mesh. More...
 
using sysc::VolumeMeshAccessWithPointer = VolumeMesh(OpaqueDataAccess, const RegionName &)
 Provide alias for function that provides access to volume mesh. More...
 
using sysc::PointCloudAccess = PointCloud(const RegionName &)
 Provide alias for function that provides access to point cloud. More...
 
using sysc::PointCloudAccessWithPointer = PointCloud(OpaqueDataAccess, const RegionName &)
 Provide alias for function that provides access to point cloud. More...
 
using sysc::RestartPointCreation = RestartPoint()
 Provide an alias for function prototype that creates restart points. More...
 
using sysc::TargetDataCreation = TargetDataLocation(bool)
 Provide an alias for function prototype that write target data. More...
 
using sysc::TargetDataCreationWithPointer = TargetDataLocation(OpaqueDataAccess, bool)
 Provide an alias for function prototype that write target data. More...
 
using sysc::ZoneCountAccess = std::uint16_t(OpaqueDataAccess, const RegionName &)
 Function prototype to get the number of zones for a given region.
 
using sysc::SurfaceMeshMultiZoneAccess = SurfaceMesh(OpaqueDataAccess, const RegionName &, std::uint16_t zoneIndex)
 Function prototype to get the mesh zone, given region name and zone index. More...
 
using sysc::VolumeMeshMultiZoneAccess = VolumeMesh(OpaqueDataAccess, const RegionName &, std::uint16_t zoneIndex)
 Function prototype to get the mesh zone, given region name and zone index. More...
 
using sysc::PointCloudMultiZoneAccess = PointCloud(OpaqueDataAccess, const RegionName &, std::uint16_t zoneIndex)
 Provide alias for function that provides access to point cloud. More...
 
using sysc::InputScalarDataMultiZoneAccess = InputScalarData(OpaqueDataAccess, const RegionName &, const VariableName &, std::uint16_t zoneIndex)
 Function prototype to get the input scalar data, given region name and zone index.
 
using sysc::OutputScalarDataMultiZoneAccess = OutputScalarData(OpaqueDataAccess, const RegionName &, const VariableName &, std::uint16_t zoneIndex)
 Function prototype to get the output scalar data, given region name and zone index.
 
using sysc::InputVectorDataMultiZoneAccess = InputVectorData(OpaqueDataAccess, const RegionName &, const VariableName &, std::uint16_t zoneIndex)
 Function prototype to get the input vector data, given region name and zone index.
 
using sysc::OutputVectorDataMultiZoneAccess = OutputVectorData(OpaqueDataAccess, const RegionName &, const VariableName &, std::uint16_t zoneIndex)
 Function prototype to get the input vector data, given region name and zone index.
 
using sysc::InputScalarVariableAccess = InputScalarData(const std::string &, const std::string &)
 This alias will be deprecated - use InputScalarDataAccess instead.
 
using sysc::InputVectorVariableAccess = InputVectorData(const std::string &, const std::string &)
 This alias will be deprecated - use InputVectorDataAccess instead.
 
using sysc::OutputScalarVariableAccess = OutputScalarData(const std::string &, const std::string &)
 This alias will be deprecated - use OutputScalarDataAccess instead.
 
using sysc::OutputVectorVariableAccess = OutputVectorData(const std::string &, const std::string &)
 This alias will be deprecated - use OutputVectorDataAccess instead.
 

Enumerations

enum  sysc::AnalysisType { Steady = 0 , Transient = 1 }
 Provide an enum for coupled analysis type.
 
enum class  sysc::TimeIntegration { Implicit = 0 , Explicit = 1 }
 Provide an enum for time integration.
 
enum class  sysc::Dimension { D2 = 2 , D3 = 3 }
 Provide an enum for participant dimension.
 
enum  sysc::TensorType { Scalar = 0 , Vector = 1 }
 Provide enum for variable tensor types.
 
enum  sysc::RegionDiscretizationType { MeshRegion = 0 , PointCloudRegion = 1 }
 Provide enum for region discretization types.
 
enum class  sysc::InterfaceSide { One = 1 , Two = 2 }
 Provide enum for coupling interface side.
 
enum  sysc::Location { Node = 0 , Element = 1 }
 Provide enum for variable mesh locations.
 
enum  sysc::QuantityType {
  Unspecified = 0 , Force = 1 , IncrementalDisplacement = 2 , Temperature = 3 ,
  HeatRate = 4 , HeatTransferCoefficient = 5 , ConvectionReferenceTemperature = 6 , ModeShape = 7 ,
  ElectricalConductivity = 8
}
 Provide an enum for variable quantity types. More...
 
enum  sysc::ConvergenceStatus {
  Diverging = -1 , NotYetConverged = 0 , Converged = 1 , Complete = 2 ,
  NotEvaluated = 3
}
 Provide enum for participant's solver convergence status. More...
 
enum class  sysc::DataType { Real = 0 , Complex = 1 }
 Provide enum for variable data types.
 
enum  sysc::Topology { Surface = 2 , Volume = 3 }
 Provide enum for region topologies.
 
enum  sysc::PrimitiveType {
  sysc::Float = 0 , sysc::Double = 1 , sysc::Int32 = 2 , sysc::Int64 = 3 ,
  sysc::UnsignedInt16 = 4 , sysc::UnsignedInt64 = 5
}
 Provide enum for supported primitive types. More...
 
enum class  sysc::ElementTypes : std::uint16_t {
  Tri3 = 5u , Tri6 = 6u , Quad4 = 7u , Quad8 = 8u ,
  Tet4 = 9u , Tet10 = 10u , Hex8 = 11u , Hex20 = 12u ,
  Wedge6 = 13u , Wedge15 = 14u , Pyramid5 = 15u , Pyramid13 = 16u ,
  Polygon = 18u , Polyhedron = 19u
}
 Provide an enum for element types. More...
 

Detailed Description

Provides C++ interfaces to the System Coupling participant library.

Typedef Documentation

◆ AttributeName

using sysc::AttributeName = typedef std::string

An alias for attribute name.

Definition at line 237 of file CommonTypes.hpp.

◆ CouplingInterfaceName

using sysc::CouplingInterfaceName = typedef std::string

An alias for coupling interface name.

Definition at line 233 of file CommonTypes.hpp.

◆ DisplayName

using sysc::DisplayName = typedef std::string

An alias for display name.

Definition at line 236 of file CommonTypes.hpp.

◆ InputComplexScalarDataAccess

Provide function prototype for access to input complex scalar data.

This function takes in the region and variable names and returns an InputComplexScalarData object which provides access to the field data for that variable on that region.

Definition at line 114 of file FunctionTypes.hpp.

◆ InputComplexScalarDataAccessWithPointer

Provide function prototype for access to input complex scalar data.

This function takes the opaque pointer that is passed when this function is registered, as well as the region and variable names and returns an InputComplexScalarData object which provides access to the field data for that variable on that region.

Definition at line 124 of file FunctionTypes.hpp.

◆ InputComplexVectorDataAccess

Provide function prototype for access to input complex vector data.

This function takes in the region and variable names and returns an InputComplexVectorData object which provides access to the field data for that variable on that region.

Definition at line 133 of file FunctionTypes.hpp.

◆ InputComplexVectorDataAccessWithPointer

Provide function prototype for access to input complex vector data.

This function takes the opaque pointer that is passed when this function is registered, as well as the region and variable names and returns an InputComplexVectorData object which provides access to the field data for that variable on that region.

Definition at line 143 of file FunctionTypes.hpp.

◆ InputScalarDataAccess

Provide function prototype for access to input scalar data.

This function takes in the region and variable names and returns an InputScalarData object which provides access to the field data for that variable on that region.

Definition at line 38 of file FunctionTypes.hpp.

◆ InputScalarDataAccessWithPointer

Provide function prototype for access to input scalar data.

This function takes the opaque pointer that is passed when this function is registered, as well as the region and variable names and returns an InputScalarData object which provides access to the field data for that variable on that region.

Definition at line 48 of file FunctionTypes.hpp.

◆ InputVectorDataAccess

Provide function prototype for access to input vector data.

This function takes in the region and variable names and returns an InputVectorData object which provides access to the field data for that variable on that region.

Definition at line 57 of file FunctionTypes.hpp.

◆ InputVectorDataAccessWithPointer

Provide function prototype for access to input vector data.

This function takes the opaque pointer that is passed when this function is registered, as well as the region and variable names and returns an InputVectorData object which provides access to the field data for that variable on that region.

Definition at line 67 of file FunctionTypes.hpp.

◆ OpaqueDataAccess

using sysc::OpaqueDataAccess = typedef void*

Declare an opaque pointer type.

Definition at line 229 of file CommonTypes.hpp.

◆ OutputComplexScalarDataAccess

Provide function prototype for access to output complex scalar data.

This function takes in the region and variable names and returns an OutputComplexScalarData object which provides access to the field data for that variable on that region.

Definition at line 152 of file FunctionTypes.hpp.

◆ OutputComplexScalarDataAccessWithPointer

Provide function prototype for access to output complex scalar data.

This function takes the opaque pointer that is passed when this function is registered, as well as the region and variable names and returns an OutputComplexScalarData object which provides access to the field data for that variable on that region.

Definition at line 162 of file FunctionTypes.hpp.

◆ OutputComplexVectorDataAccess

Provide function prototype for access to output complex vector data.

This function takes in the region and variable names and returns an OutputComplexVectorData object which provides access to the field data for that variable on that region.

Definition at line 171 of file FunctionTypes.hpp.

◆ OutputComplexVectorDataAccessWithPointer

Provide function prototype for access to output complex vector data.

This function takes the opaque pointer that is passed when this function is registered, as well as the region and variable names and returns an OutputComplexVectorData object which provides access to the field data for that variable on that region.

Definition at line 181 of file FunctionTypes.hpp.

◆ OutputScalarDataAccess

Provide function prototype for access to output scalar data.

This function takes in the region and variable names and returns an OutputScalarData object which provides access to the field data for that variable on that region.

Definition at line 76 of file FunctionTypes.hpp.

◆ OutputScalarDataAccessWithPointer

Provide function prototype for access to output scalar data.

This function takes the opaque pointer that is passed when this function is registered, as well as the region and variable names and returns an OutputScalarData object which provides access to the field data for that variable on that region.

Definition at line 86 of file FunctionTypes.hpp.

◆ OutputVectorDataAccess

Provide function prototype for access to output vector data.

This function takes in the region and variable names and returns an OutputVectorData object which provides access to the field data for that variable on that region.

Definition at line 95 of file FunctionTypes.hpp.

◆ OutputVectorDataAccessWithPointer

Provide function prototype for access to output vector data.

This function takes the opaque pointer that is passed when this function is registered, as well as the region and variable names and returns an OutputVectorData object which provides access to the field data for that variable on that region.

Definition at line 105 of file FunctionTypes.hpp.

◆ ParameterName

using sysc::ParameterName = typedef std::string

An alias for parameter name.

Definition at line 238 of file CommonTypes.hpp.

◆ PointCloudAccess

using sysc::PointCloudAccess = typedef PointCloud(const RegionName&)

Provide alias for function that provides access to point cloud.

This function takes in a region name and returns a PointCloud object which provides access to the point cloud of that region.

Definition at line 225 of file FunctionTypes.hpp.

◆ PointCloudAccessWithPointer

Provide alias for function that provides access to point cloud.

This function takes the opaque pointer that is passed when this function is registered, as well as the region name and returns a PointCloud object which provides access to the point cloud of that region.

Definition at line 233 of file FunctionTypes.hpp.

◆ PointCloudMultiZoneAccess

using sysc::PointCloudMultiZoneAccess = typedef PointCloud( OpaqueDataAccess, const RegionName&, std::uint16_t zoneIndex)

Provide alias for function that provides access to point cloud.

This function is provided for consistency only. Only one point cloud zone per region is supported.

Definition at line 287 of file FunctionTypes.hpp.

◆ RegionName

using sysc::RegionName = typedef std::string

An alias for region name.

Definition at line 231 of file CommonTypes.hpp.

◆ RestartPoint

using sysc::RestartPoint = typedef std::string

An alias for restart point.

Definition at line 234 of file CommonTypes.hpp.

◆ RestartPointCreation

Provide an alias for function prototype that creates restart points.

This function may be called only during outputs update, and is expected to return a unique string identifier for a given restart point.

Definition at line 241 of file FunctionTypes.hpp.

◆ SurfaceMeshAccess

Provide alias for function that provides access to surface mesh.

This function takes in a region name and returns a SurfaceMesh object which provides access to the surface mesh of that region. Topology of this region must be surface.

Definition at line 190 of file FunctionTypes.hpp.

◆ SurfaceMeshAccessWithPointer

Provide alias for function that provides access to surface mesh.

This function takes the opaque pointer that is passed when this function is registered, as well as the region name and returns a SurfaceMesh object which provides access to the surface mesh of that region. Topology of this region must be surface.

Definition at line 199 of file FunctionTypes.hpp.

◆ SurfaceMeshMultiZoneAccess

using sysc::SurfaceMeshMultiZoneAccess = typedef SurfaceMesh( OpaqueDataAccess, const RegionName&, std::uint16_t zoneIndex)

Function prototype to get the mesh zone, given region name and zone index.

Certain restrictions apply:

  • Surface mesh objects must provide correct face ids.

Definition at line 270 of file FunctionTypes.hpp.

◆ TargetDataCreation

Provide an alias for function prototype that write target data.

This function may be called only during user friendly mapping workflow after Map() command, and is expected to return a unique string identifier for a target data file location.

Definition at line 249 of file FunctionTypes.hpp.

◆ TargetDataCreationWithPointer

Provide an alias for function prototype that write target data.

This function may be called only during user friendly mapping workflow after Map() command, and is expected to return a unique string identifier for a target data file location.

Definition at line 257 of file FunctionTypes.hpp.

◆ TargetDataLocation

using sysc::TargetDataLocation = typedef std::string

An alias for target data location.

Definition at line 235 of file CommonTypes.hpp.

◆ VariableName

using sysc::VariableName = typedef std::string

An alias for variable name.

Definition at line 232 of file CommonTypes.hpp.

◆ VolumeMeshAccess

using sysc::VolumeMeshAccess = typedef VolumeMesh(const RegionName&)

Provide alias for function that provides access to volume mesh.

This function takes in a region name and returns a VolumeMesh object which provides access to the volume mesh of that region. Topology of this region must be volume.

Definition at line 208 of file FunctionTypes.hpp.

◆ VolumeMeshAccessWithPointer

Provide alias for function that provides access to volume mesh.

This function takes the opaque pointer that is passed when this function is registered, as well as the region name and returns a VolumeMesh object which provides access to the volume mesh of that region. Topology of this region must be volume.

Definition at line 217 of file FunctionTypes.hpp.

◆ VolumeMeshMultiZoneAccess

using sysc::VolumeMeshMultiZoneAccess = typedef VolumeMesh( OpaqueDataAccess, const RegionName&, std::uint16_t zoneIndex)

Function prototype to get the mesh zone, given region name and zone index.

This function is provided for consistency only. Only one volume zone per region is supported.

Definition at line 279 of file FunctionTypes.hpp.

Enumeration Type Documentation

◆ ConvergenceStatus

Provide enum for participant's solver convergence status.

Possible values are Converged, NotYetConverged, Diverging, Complete (can be used if, for example, direct solver is used), and NotEvaluated.

Definition at line 27 of file CommonTypes.hpp.

27  {
28  Diverging = -1,
29  NotYetConverged = 0,
30  Converged = 1,
31  Complete = 2,
32  NotEvaluated = 3
33 };

◆ ElementTypes

enum sysc::ElementTypes : std::uint16_t
strong

Provide an enum for element types.

Tri3: Trilateral element with corner nodes only.

         *2 
        / \    
       /   \   
      /     \
     /       \ 
    /         \      
  0*-----------*1

Tri6: Trilateral element with corner and mid-side nodes.

         *2 
        / \    
       /   \   
     5*     *4
     /       \ 
    /         \      
  0*-----*-----*1        
         3

Quad4: Quadrilateral element with corner nodes only.

  3*-----------*2
   |           | 
   |           | 
   |           | 
   |           |
   |           |
   |           |
   |           |
  0*-----------*1

Quad8: Quadrilateral element with corner and mid-side nodes.

         6
  3*-----*-----*2
   |           | 
   |           | 
   |           | 
  7*           *5
   |           |
   |           |
   |           |
  0*-----*-----*1
         4 

Tet4: Tetrahedral element with corner nodes only.

        3
        *            
       /|\           
      / | \          
     /  |  \
    /   |   \        
   /    |    \       
 0*- - -|- - -*2     
   \    |    /       
    \   |   /        
     \  |  /        
      \ | /          
       \|/           
        *1           

Tet10: Tetrahedral element with corner and mid-side nodes.

        3
        *              
       /|\             
      / | \            
    7*  |  *9          
    /   |   \          
   /    *8   \         
 0*- - *|- - -*2       
   \   6|    /         
    \   |   /          
    4*  |  *5          
      \ | /            
       \|/             
        *1             

Hex8: Hexahedral element with corner nodes only.

    7*-----------*6 
    /|          /|  
   /           / |  
  /  |        /  |  
 /   |       /   |
/    |      /    |  

4*--------—*5 |
| | | |
| 3*- - -|- - -*2 | / | /
| | /
| / | /
| | /
|/ |/
0*--------—*1

Hex20: Hexahedral element with corner and mid-side nodes.

          14             
    7*-----*-----*6   
    /|          /|   
   /           / |     
15*  |      13*  |    
 /   *19     /   *18     
/  12|      /    |     

4*--—*--—*5 |
| | | |
| 3*- - *|- - -*2 | / 10| / 16* 17 / | *11 | *9 | | / |/ |/ 0--—*--—*1 8

Wedge6: Wedge element with corner nodes only.

  3*-----------*5
   |\         /|
   | \       / |
   |  \     /  |
   |   \   /   |
   |    \ /    |
   |     *4    |
   |     |     |
  0*- - -|- - -*2
    \    |    /
     \   |   /
      \  |  /
       \ | /
        \|/
         *
         1

Wedge15: Wedge element with corner and mid-side nodes.

        11
  3*-----*-----*5
   |\         /|
   | \       / |
   |  *9  10*  |
 12*   \   /   *14
   |    \ /    |
   |     *4    |
   |     |     |
  0*- - -|*8- -*2
    \    |    /
     \ 13*   /
     6*  |  *7
       \ | /
        \|/
         *
         1

Pyramid5: Pyramid element with corner nodes only.

             *4                           4
            /|\                           *
           / | \                         /|\
          /  |  \                       // \\
         /   |   \                     / | | \
        /    |    \                   / /   \ \
      3*- - -|- - -*2                /  |   |  \
      /      |    /                 /  /     \  \
     /       |   /                3*- -|- - -|- -*2
    /        |  /                  |  /       \  |
   /         | /                   |  |       |  |
  /          |/                    | /         \ |
0*-----------*1                    | |         | |
                                   |/           \|
                                   *-------------*
                                   0             1

Pyramid13: Pyramid element with corner and mid-side nodes.

             *4                           4
            /|\                           *
           / | \                         /|\
        12*  |  *11                     // \\
         /   |   \                     / | | \
        /    |7   \                 12* /   \ *11
      3*- - -|* - -*2                /  |   |  \
      /      *10  /                 /  /  7  \  \
     /       |   /                3*- -|- * -|- -*2
  8 *        |  * 6                |  *9    10*  |
   /         | /                   |  |       |  |
  /          |/                   8* /         \ *6
0*-----*-----*1                    | |         | |
     5                             |/           \|
                                   *------*------*
                                   0      5      1

Polygon: Arbitrary polygon.

Polyhedron: Arbitrary polyhedron.

Definition at line 231 of file ElementTypes.hpp.

231  : std::uint16_t {
232  Tri3 = 5u,
233  Tri6 = 6u,
234  Quad4 = 7u,
235  Quad8 = 8u,
236  Tet4 = 9u,
237  Tet10 = 10u,
238  Hex8 = 11u,
239  Hex20 = 12u,
240  Wedge6 = 13u,
241  Wedge15 = 14u,
242  Pyramid5 = 15u,
243  Pyramid13 = 16u,
244  Polygon = 18u,
245  Polyhedron = 19u
246 };

◆ PrimitiveType

Provide enum for supported primitive types.

Enumerator
Float 

Single-precision floating point.

Double 

Double-precision floating point.

Int32 

Signed 32-bit integer.

Int64 

Signed 64-bit integer.

UnsignedInt16 

Unsigned 16-bit integer.

UnsignedInt64 

Unsigned 64-bit integer.

Definition at line 220 of file CommonTypes.hpp.

220  {
221  Float = 0,
222  Double = 1,
223  Int32 = 2,
224  Int64 = 3,
225  UnsignedInt16 = 4,
226  UnsignedInt64 = 5
227 };
@ UnsignedInt64
@ UnsignedInt16

◆ QuantityType

Provide an enum for variable quantity types.

Quantity type provides information about the physical meaning of the variable. This can be useful for detecting validation errors during the coupled analysis setup. If the variable does not match any of the provided quantity types, quantity type can be set to unspecified.

Definition at line 63 of file CommonSettings.hpp.

63  {
64  Unspecified = 0,
65  Force = 1,
66  IncrementalDisplacement = 2,
67  Temperature = 3,
68  HeatRate = 4,
69  HeatTransferCoefficient = 5,
70  ConvectionReferenceTemperature = 6,
71  ModeShape = 7,
72  ElectricalConductivity = 8
73 };

Connect with Ansys