Skip to main content

System Coupling Participant library 2025 R2

File syscMeshDefinitionF.fi

Last update: 17.07.2025

Location: syscMeshDefinitionF.fi

Classes

Namespaces

Source

module fortran
!
! Copyright ANSYS, Inc. 
! Unauthorized use, distribution, or duplication is prohibited.
!
! Provide free-form Fortran interface for
! System Coupling Participant Library.
!
! *********************************************************************
!! \brief Node data access struct, provides read-only access to the 
!! mesh nodes.
!!
!! To create and/or initialize SyscNodeDataF, it is highly
!! recommended to use one of the functions within 
!! `syscGetNodeDataF` interface. These functions will
!! initialize all members to the correct values and will help to 
!! avoid back-compatibility issues in the future. For example:
!!
!! \code
!!
!! SyscNodeDataF nodeData
!! nodeData = syscGetNodeDataF(nodeCoords)
!!
!! \endcode
type :: syscnodedataf
  type(syscoutputintegerdataf) :: nodeids
  type(syscoutputvectordataf) :: nodecoords
end type syscnodedataf
!
!**********************************************************************
interface syscgetnodedataf
!
!**********************************************************************
!! \brief Create a mesh node data access struct.
!!
!! Returns an empty mesh node data access struct.
!! All members will be assigned default values.
!**********************************************************************
function syscgetnodedataf() result (ret)
  import :: syscnodedataf
  type(SyscNodeDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetNodeDataF
!DIR$ ENDIF
end function syscgetnodedataf
!
!**********************************************************************
!! \brief Create a mesh node data access struct, given node ids and 
!! node coords in same order.
!**********************************************************************
function syscgetnodedataf_ic(nodeIds, nodeCoords) result (ret)
!
  import :: syscnodedataf, syscoutputintegerdataf, &
            syscoutputvectordataf
  type(SyscOutputIntegerDataF), intent(in) :: nodeIds  
  type(SyscOutputVectorDataF), intent(in) :: nodeCoords
  type(SyscNodeDataF) :: ret
!
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetNodeDataF_IC
!DIR$ ENDIF
!
end function syscgetnodedataf_ic
!
!**********************************************************************
!! \brief Creates a mesh node data access struct, given node 
!! coordinates in ascending node ids order.
!**********************************************************************
function syscgetnodedataf_c(nodeCoords) result (ret)
  import :: syscnodedataf, syscoutputvectordataf
  type(SyscOutputVectorDataF), intent(in) :: nodeCoords
  type(SyscNodeDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetNodeDataF_C
!DIR$ ENDIF
  end function syscgetnodedataf_c
!
end interface syscgetnodedataf
!
! *********************************************************************
!! \brief Element types access struct, provides read-only access to 
!! the mesh element types.
!!
!! To create and/or initialize SyscElementTypeDataF, it is highly
!! recommended to use one of the functions within 
!! `syscGetElementTypeDataF` interface. These functions will
!! initialize all members to the correct values and will help to 
!! avoid back-compatibility issues in the future. For example:
!!
!! \code
!!
!! SyscElementTypeDataF eTypeData
!! eTypeData = syscGetElementTypeDataF(elementTypes)
!!
!! \endcode
type :: syscelementtypedataf
  type(syscoutputintegerdataf) :: elementtypes
end type syscelementtypedataf
!
!**********************************************************************
interface syscgetelementtypedataf
!
!**********************************************************************
!! \brief Create a mesh node data access struct.
!!
!! Returns an empty mesh node data access struct. Element types integer
!! array access will be set to empty.
!**********************************************************************
function syscgetelementtypedataf_empty() result (ret)
  import :: syscelementtypedataf
  type(SyscElementTypeDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetElementTypeDataF_Empty
!DIR$ ENDIF
end function syscgetelementtypedataf_empty
!
!**********************************************************************
!! \brief Create a mesh node data access struct, given node ids and 
!! node coords in same order.
!**********************************************************************
function syscgetelementtypedataf(elementTypes) result (ret)
  import :: syscelementtypedataf, syscoutputintegerdataf
  type(SyscOutputIntegerDataF), intent(in) :: elementTypes
  type(SyscElementTypeDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetElementTypeDataF
!DIR$ ENDIF
end function syscgetelementtypedataf
!
end interface syscgetelementtypedataf
!
! *********************************************************************
!! \brief Element node count access struct.
! *********************************************************************
type :: syscelementnodecountdataf
  type(SyscOutputIntegerDataF) :: elementNodeCounts
end type syscelementnodecountdataf
!
!**********************************************************************
interface syscgetelementnodecountdataf
!**********************************************************************
!! \brief Returns an empty element node count data access struct.
!**********************************************************************
function syscgetelementnodecountdataf_empty() result (ret)
  import :: syscelementnodecountdataf
  type(SyscElementNodeCountDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetElementNodeCountDataF_Empty
!DIR$ ENDIF
end function syscgetelementnodecountdataf_empty
!
!**********************************************************************
!! \brief Create an element node count node data access struct, given
!! element node counts array.
!**********************************************************************
function syscgetelementnodecountdataf(elemNodeCounts) &
  result(ret)
  import :: syscelementnodecountdataf, syscoutputintegerdataf
  type(SyscOutputIntegerDataF), intent(in) :: elemNodeCounts
  type(SyscElementNodeCountDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetElementNodeCountDataF
!DIR$ ENDIF
end function syscgetelementnodecountdataf
!
end interface syscgetelementnodecountdataf
!
! *********************************************************************
!! \brief Element-to-node connectivity struct.
! *********************************************************************
type :: syscelementnodeconnectivitydataf
  type(SyscOutputIntegerDataF) :: elemNodeIds
end type syscelementnodeconnectivitydataf
!
!**********************************************************************
interface syscgetelementnodeconnectivitydataf
!**********************************************************************
!! \brief Returns an empty element-to-node connectivity struct.
!**********************************************************************
function syscgetelementnodeconnectivitydataf_empty() result (ret)
  import :: syscelementnodeconnectivitydataf
  type(SyscElementNodeConnectivityDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetElementNodeConnectivityDataF_Empty
!DIR$ ENDIF
end function syscgetelementnodeconnectivitydataf_empty
!
!**********************************************************************
!! \brief Create an element-to-node connectivity struct, given
!! element node ids array.
!**********************************************************************
function syscgetelementnodeconnectivitydataf(elemNodeConn) &
  result(ret)
  import :: syscelementnodeconnectivitydataf, syscoutputintegerdataf
  type(SyscOutputIntegerDataF), intent(in) :: elemNodeConn
  type(SyscElementNodeConnectivityDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetElementNodeConnectivityDataF
!DIR$ ENDIF
end function syscgetelementnodeconnectivitydataf
!
end interface syscgetelementnodeconnectivitydataf
!
! *********************************************************************
!! \brief Face-to-cell connectivity struct.
! *********************************************************************
type :: syscfacecellconnectivitydataf
  type(SyscOutputIntegerDataF) :: cell0Ids
  type(SyscOutputIntegerDataF) :: cell1Ids
end type syscfacecellconnectivitydataf
!
!**********************************************************************
interface syscgetfacecellconnectivitydataf
!**********************************************************************
!! \brief Returns an empty face-to-cell connectivity struct.
!**********************************************************************
function syscgetfacecellconnectivitydataf_empty() result (ret)
  import :: syscfacecellconnectivitydataf
  type(SyscFaceCellConnectivityDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetFaceCellConnectivityDataF_Empty
!DIR$ ENDIF
end function syscgetfacecellconnectivitydataf_empty
!
!**********************************************************************
!! \brief Create a face-to-cell connectivity struct, given cell0Ids
!! and cell1Ids arrays.
!**********************************************************************
function syscgetfacecellconnectivitydataf(cell0Ids, cell1Ids) &
  result(ret)
  import :: syscfacecellconnectivitydataf, syscoutputintegerdataf
  type(SyscOutputIntegerDataF), intent(in) :: cell0Ids
  type(SyscOutputIntegerDataF), intent(in) :: cell1Ids
  type(SyscFaceCellConnectivityDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetFaceCellConnectivityDataF
!DIR$ ENDIF
end function syscgetfacecellconnectivitydataf
!
end interface syscgetfacecellconnectivitydataf
!
! *********************************************************************
!! \brief Cell id data struct.
! *********************************************************************
type :: sysccelliddataf
  type(SyscOutputIntegerDataF) :: cellIds
end type sysccelliddataf
!
!**********************************************************************
interface syscgetcelliddataf
!**********************************************************************
!! \brief Returns an empty cell id data struct.
!**********************************************************************
function syscgetcelliddataf_empty() result (ret)
  import :: sysccelliddataf
  type(SyscCellIdDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetCellIdDataF_Empty
!DIR$ ENDIF
end function syscgetcelliddataf_empty
!
!**********************************************************************
!! \brief Create a cell id data struct, given cell ids array.
!**********************************************************************
function syscgetcelliddataf(cellIds) result (ret)
  import :: sysccelliddataf, syscoutputintegerdataf
  type(SyscOutputIntegerDataF), intent(in) :: cellIds
  type(SyscCellIdDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetCellIdDataF
!DIR$ ENDIF
end function syscgetcelliddataf
!
end interface syscgetcelliddataf
!
! *********************************************************************
!! \brief Element id data struct.
! *********************************************************************
type :: syscelementiddataf
  type(SyscOutputIntegerDataF) :: elementIds
end type syscelementiddataf
!
!**********************************************************************
interface syscgetelementiddataf
!**********************************************************************
!! \brief Returns an empty element id data struct.
!**********************************************************************
function syscgetelementiddataf_empty() result (ret)
  import :: syscelementiddataf
  type(SyscElementIdDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetElementIdDataF_Empty
!DIR$ ENDIF
end function syscgetelementiddataf_empty
!
!**********************************************************************
!! \brief Create a element id data struct, given element ids array.
!**********************************************************************
function syscgetelementiddataf(elementIds) result (ret)
  import :: syscelementiddataf, syscoutputintegerdataf
  type(SyscOutputIntegerDataF), intent(in) :: elementIds
  type(SyscElementIdDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetElementIdDataF
!DIR$ ENDIF
end function syscgetelementiddataf
!
end interface syscgetelementiddataf
!
! *********************************************************************
!! \brief Face data access struct, provides read-only access to the 
!! mesh faces.
!
type :: syscfacedataf
  type(syscelementiddataf) :: faceids
  type(syscelementtypedataf) :: facetypes
  type(syscelementnodecountdataf) :: facenodecounts
  type(syscelementnodeconnectivitydataf) :: facenodeconnectivity
  type(syscfacecellconnectivitydataf) :: facecellconnectivity
end type syscfacedataf
!
!**********************************************************************
interface syscgetfacedataf
!
!**********************************************************************
!! \brief Create a mesh face data access struct.
!!
!! Returns an empty mesh face data access struct.
!! All members will be assigned default values.
!**********************************************************************
function syscgetfacedataf() result (ret)
  import :: syscfacedataf
  type(SyscFaceDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetFaceDataF
!DIR$ ENDIF
end function syscgetfacedataf
!
!**********************************************************************
!! \brief Create a mesh face data access struct.
!**********************************************************************
function syscgetfacedataf_itn(faceIds, faceTypes, &
  faceNodeConnectivity) result (ret)
!
  import :: syscfacedataf, syscelementiddataf, &
            syscelementtypedataf, syscelementnodeconnectivitydataf
  type(SyscElementIdDataF), intent(in) :: faceIds  
  type(SyscElementTypeDataF), intent(in) :: faceTypes  
  type(SyscElementNodeConnectivityDataF), intent(in) :: &
    faceNodeConnectivity
  type(SyscFaceDataF) :: ret
!
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetFaceDataF_ITN
!DIR$ ENDIF
!
end function syscgetfacedataf_itn
!
!**********************************************************************
!! \brief Create a mesh face data access struct.
!**********************************************************************
function syscgetfacedataf_cn(faceNodeCounts, faceNodeConnectivity) &
  result(ret)
!
  import :: syscfacedataf, syscelementnodecountdataf, &
            syscelementnodeconnectivitydataf
  type(SyscElementNodeCountDataF), intent(in) :: faceNodeCounts  
  type(SyscElementNodeConnectivityDataF), intent(in) :: &
    faceNodeConnectivity
  type(SyscFaceDataF) :: ret
!
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetFaceDataF_CN
!DIR$ ENDIF
!
end function syscgetfacedataf_cn
!
end interface syscgetfacedataf
!
! *********************************************************************
!! \brief Cell data access struct, provides read-only access to the 
!! mesh cells.
!
type :: sysccelldataf
  type(syscelementiddataf) :: cellids
  type(syscelementtypedataf) :: celltypes
  type(syscelementnodeconnectivitydataf) :: cellnodeconnectivity
end type sysccelldataf
!
!**********************************************************************
interface syscgetcelldataf
!
!**********************************************************************
!! \brief Create a mesh cell data access struct.
!!
!! Returns an empty mesh cell data access struct.
!! All members will be assigned default values.
!**********************************************************************
function syscgetcelldataf() result (ret)
  import :: sysccelldataf
  type(SyscCellDataF) :: ret
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetCellDataF
!DIR$ ENDIF
end function syscgetcelldataf
!
!**********************************************************************
!! \brief Create a mesh cell data access struct.
!**********************************************************************
function syscgetfacedataf_i(cellIds) result (ret)
!
  import :: sysccelldataf, syscelementiddataf
  type(SyscElementIdDataF), intent(in) :: cellIds
  type(SyscCellDataF) :: ret
!
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetFaceDataF_I
!DIR$ ENDIF
!
end function syscgetfacedataf_i
!
!**********************************************************************
!! \brief Create a mesh cell data access struct.
!**********************************************************************
function syscgetfacedataf_tn(cellTypes, &
  cellNodeConnectivity) result (ret)
!
  import :: sysccelldataf, syscelementtypedataf, &
    syscelementnodeconnectivitydataf
  type(SyscElementTypeDataF), intent(in) :: cellTypes
  type(SyscElementNodeConnectivityDataF), intent(in) :: &
    cellNodeConnectivity
  type(SyscCellDataF) :: ret
!
!DIR$ IF DEFINED(_WIN32) .and. ( .not. DEFINED(SYSTEM_COUPLING_PARTICIPANT_PROXY))
!DIR$ ATTRIBUTES DLLIMPORT :: syscGetFaceDataF_TN
!DIR$ ENDIF
!
end function syscgetfacedataf_tn
!
end interface syscgetcelldataf
!
end module fortran

Connect with Ansys