Skip to main content

System Coupling C++ library 2024 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
 
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::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.
 
using sysc::InputScalarDataAccessWithPointer = InputScalarData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to input scalar data.
 
using sysc::InputVectorDataAccess = InputVectorData(const RegionName &, const VariableName &)
 Provide function prototype for access to input vector data.
 
using sysc::InputVectorDataAccessWithPointer = InputVectorData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to input vector data.
 
using sysc::OutputScalarDataAccess = OutputScalarData(const RegionName &, const VariableName &)
 Provide function prototype for access to output scalar data.
 
using sysc::OutputScalarDataAccessWithPointer = OutputScalarData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to output scalar data.
 
using sysc::OutputVectorDataAccess = OutputVectorData(const RegionName &, const VariableName &)
 Provide function prototype for access to output vector data.
 
using sysc::OutputVectorDataAccessWithPointer = OutputVectorData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to output vector data.
 
using sysc::InputComplexScalarDataAccess = InputComplexScalarData(const RegionName &, const VariableName &)
 Provide function prototype for access to input complex scalar data.
 
using sysc::InputComplexScalarDataAccessWithPointer = InputComplexScalarData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to input complex scalar data.
 
using sysc::InputComplexVectorDataAccess = InputComplexVectorData(const RegionName &, const VariableName &)
 Provide function prototype for access to input complex vector data.
 
using sysc::InputComplexVectorDataAccessWithPointer = InputComplexVectorData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to input complex vector data.
 
using sysc::OutputComplexScalarDataAccess = OutputComplexScalarData(const RegionName &, const VariableName &)
 Provide function prototype for access to output complex scalar data.
 
using sysc::OutputComplexScalarDataAccessWithPointer = OutputComplexScalarData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to output complex scalar data.
 
using sysc::OutputComplexVectorDataAccess = OutputComplexVectorData(const RegionName &, const VariableName &)
 Provide function prototype for access to output complex vector data.
 
using sysc::OutputComplexVectorDataAccessWithPointer = OutputComplexVectorData(OpaqueDataAccess, const RegionName &, const VariableName &)
 Provide function prototype for access to output complex vector data.
 
using sysc::SurfaceMeshAccess = SurfaceMesh(const RegionName &)
 Provide alias for function that provides access to surface mesh.
 
using sysc::SurfaceMeshAccessWithPointer = SurfaceMesh(OpaqueDataAccess, const RegionName &)
 Provide alias for function that provides access to surface mesh.
 
using sysc::VolumeMeshAccess = VolumeMesh(const RegionName &)
 Provide alias for function that provides access to volume mesh.
 
using sysc::VolumeMeshAccessWithPointer = VolumeMesh(OpaqueDataAccess, const RegionName &)
 Provide alias for function that provides access to volume mesh.
 
using sysc::PointCloudAccess = PointCloud(const RegionName &)
 Provide alias for function that provides access to point cloud.
 
using sysc::PointCloudAccessWithPointer = PointCloud(OpaqueDataAccess, const RegionName &)
 Provide alias for function that provides access to point cloud.
 
using sysc::RestartPointCreation = RestartPoint()
 Provide an alias for function prototype that creates restart points.
 
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.
 
using sysc::VolumeMeshMultiZoneAccess = VolumeMesh(OpaqueDataAccess, const RegionName &, std::uint16_t zoneIndex)
 Function prototype to get the mesh zone, given region name and zone index.
 
using sysc::PointCloudMultiZoneAccess = PointCloud(OpaqueDataAccess, const RegionName &, std::uint16_t zoneIndex)
 Provide alias for function that provides access to point cloud.
 
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. More...
 
enum class  sysc::Dimension { D2 = 2 , D3 = 3 }
 Provide an enum for participant dimension. More...
 
enum  sysc::TensorType { Scalar = 0 , Vector = 1 }
 Provide enum for variable tensor types. More...
 
enum  sysc::RegionDiscretizationType { MeshRegion = 0 , PointCloudRegion = 1 }
 Provide enum for region discretization types. More...
 
enum class  sysc::InterfaceSide { One = 1 , Two = 2 }
 Provide enum for coupling interface side. More...
 
enum  sysc::Location { Node = 0 , Element = 1 }
 Provide enum for variable mesh locations. More...
 
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. More...
 
enum  sysc::Topology { Surface = 2 , Volume = 3 }
 Provide enum for region topologies. More...
 
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 216 of file CommonTypes.hpp.

◆ CouplingInterfaceName

using sysc::CouplingInterfaceName = typedef std::string

An alias for coupling interface name.

Definition at line 213 of file CommonTypes.hpp.

◆ DisplayName

using sysc::DisplayName = typedef std::string

An alias for display name.

Definition at line 215 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.

◆ InputScalarDataMultiZoneAccess

using sysc::InputScalarDataMultiZoneAccess = typedef InputScalarData( OpaqueDataAccess, const RegionName &, const VariableName &, std::uint16_t zoneIndex)

Function prototype to get the input scalar data, given region name and zone index.

Definition at line 278 of file FunctionTypes.hpp.

◆ InputScalarVariableAccess

using sysc::InputScalarVariableAccess = typedef InputScalarData(const std::string &, const std::string &)

This alias will be deprecated - use InputScalarDataAccess instead.

Definition at line 311 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.

◆ InputVectorDataMultiZoneAccess

using sysc::InputVectorDataMultiZoneAccess = typedef InputVectorData( OpaqueDataAccess, const RegionName &, const VariableName &, std::uint16_t zoneIndex)

Function prototype to get the input vector data, given region name and zone index.

Definition at line 294 of file FunctionTypes.hpp.

◆ InputVectorVariableAccess

using sysc::InputVectorVariableAccess = typedef InputVectorData(const std::string &, const std::string &)

This alias will be deprecated - use InputVectorDataAccess instead.

Definition at line 314 of file FunctionTypes.hpp.

◆ OpaqueDataAccess

using sysc::OpaqueDataAccess = typedef void*

Declare an opaque pointer type.

Definition at line 209 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.

◆ OutputScalarDataMultiZoneAccess

using sysc::OutputScalarDataMultiZoneAccess = typedef OutputScalarData( OpaqueDataAccess, const RegionName &, const VariableName &, std::uint16_t zoneIndex)

Function prototype to get the output scalar data, given region name and zone index.

Definition at line 286 of file FunctionTypes.hpp.

◆ OutputScalarVariableAccess

using sysc::OutputScalarVariableAccess = typedef OutputScalarData(const std::string &, const std::string &)

This alias will be deprecated - use OutputScalarDataAccess instead.

Definition at line 317 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.

◆ OutputVectorDataMultiZoneAccess

using sysc::OutputVectorDataMultiZoneAccess = typedef OutputVectorData( OpaqueDataAccess, const RegionName &, const VariableName &, std::uint16_t zoneIndex)

Function prototype to get the input vector data, given region name and zone index.

Definition at line 302 of file FunctionTypes.hpp.

◆ OutputVectorVariableAccess

using sysc::OutputVectorVariableAccess = typedef OutputVectorData(const std::string &, const std::string &)

This alias will be deprecated - use OutputVectorDataAccess instead.

Definition at line 320 of file FunctionTypes.hpp.

◆ ParameterName

using sysc::ParameterName = typedef std::string

An alias for parameter name.

Definition at line 217 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 271 of file FunctionTypes.hpp.

◆ RegionName

using sysc::RegionName = typedef std::string

An alias for region name.

Definition at line 211 of file CommonTypes.hpp.

◆ RestartPoint

using sysc::RestartPoint = typedef std::string

An alias for restart point.

Definition at line 214 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 254 of file FunctionTypes.hpp.

◆ VariableName

using sysc::VariableName = typedef std::string

An alias for variable name.

Definition at line 212 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 263 of file FunctionTypes.hpp.

◆ ZoneCountAccess

using sysc::ZoneCountAccess = typedef std::uint16_t(OpaqueDataAccess, const RegionName &)

Function prototype to get the number of zones for a given region.

Definition at line 247 of file FunctionTypes.hpp.

Enumeration Type Documentation

◆ AnalysisType

Provide an enum for coupled analysis type.

Definition at line 18 of file CommonSettings.hpp.

18 {
19 Steady = 0,
20 Transient = 1
21};

◆ 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 26 of file CommonTypes.hpp.

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

◆ DataType

enum class sysc::DataType
strong

Provide enum for variable data types.

Definition at line 35 of file CommonTypes.hpp.

35 {
36 Real = 0,
37 Complex = 1
38};

◆ Dimension

enum class sysc::Dimension
strong

Provide an enum for participant dimension.

Definition at line 24 of file CommonSettings.hpp.

24 {
25 D2 = 2,
26 D3 = 3
27};

◆ ElementTypes

enum class 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};

◆ InterfaceSide

enum class sysc::InterfaceSide
strong

Provide enum for coupling interface side.

Definition at line 42 of file CommonSettings.hpp.

42 {
43 One = 1,
44 Two = 2
45};

◆ Location

Provide enum for variable mesh locations.

Definition at line 48 of file CommonSettings.hpp.

48 {
49 Node = 0,
50 Element = 1
51};

◆ 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 200 of file CommonTypes.hpp.

200 {
201 Float = 0,
202 Double = 1,
203 Int32 = 2,
204 Int64 = 3,
205 UnsignedInt16 = 4,
206 UnsignedInt64 = 5
207};
@ 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 61 of file CommonSettings.hpp.

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

◆ RegionDiscretizationType

Provide enum for region discretization types.

Definition at line 36 of file CommonSettings.hpp.

36 {
37 MeshRegion = 0,
38 PointCloudRegion = 1
39};

◆ TensorType

Provide enum for variable tensor types.

Definition at line 30 of file CommonSettings.hpp.

30 {
31 Scalar = 0,
32 Vector = 1
33};

◆ Topology

Provide enum for region topologies.

Definition at line 154 of file CommonTypes.hpp.

154 {
155 Surface = 2,
156 Volume = 3
157};

Connect with Ansys