module preciceFSSICAS implicit none contains subroutine precicef_create(participantName, configFileName, solverProcessIndex, solverProcessSize) CHARACTER :: participantName CHARACTER :: configFileName INTEGER :: solverProcessIndex INTEGER :: solverProcessSize !IN: participantName, configFileName, solverProcessIndex, solverProcessSize !OUT: - end subroutine precicef_create subroutine precicef_initialize( timstepLengthLimit ) DOUBLE PRECISION :: timstepLengthLimit !IN: - !OUT: timestepLengthLimit end subroutine precicef_initialize subroutine precicef_advance( timstepLengthLimit ) DOUBLE PRECISION :: timstepLengthLimit !IN: timestepLengthLimit !OUT: timestepLengthLimit end subroutine precicef_advance subroutine precicef_finalize() end subroutine precicef_finalize subroutine precicef_get_dims( dimensions ) INTEGER :: dimensions !IN: - !OUT: dimensions end subroutine precicef_get_dims subroutine precicef_ongoing( isOngoing ) INTEGER :: isOngoing !IN: - !OUT: isOngoing(1:true, 0:false) end subroutine precicef_ongoing subroutine precicef_is_coupling_ongoing( isOngoing ) INTEGER :: isOngoing !IN: - !OUT: isOngoing(1:true, 0:false) end subroutine precicef_is_coupling_ongoing subroutine precicef_write_data_required( computedTimestepLength, isRequired ) DOUBLE PRECISION :: computedTimestepLength INTEGER :: isRequired !IN: computedTimestepLength !OUT: isRequired(1:true, 0:false) end subroutine precicef_write_data_required subroutine precicef_is_write_data_required( computedTimestepLength, isRequired ) DOUBLE PRECISION :: computedTimestepLength INTEGER :: isRequired !IN: computedTimestepLength !OUT: isRequired(1:true, 0:false) end subroutine precicef_is_write_data_required subroutine precicef_read_data_available( isAvailable ) INTEGER :: isAvailable !IN: - !OUT: isAvailable(1:true, 0:false) end subroutine precicef_read_data_available subroutine precicef_is_read_data_available( isAvailable ) INTEGER :: isAvailable !IN: - !OUT: isAvailable(1:true, 0:false) end subroutine precicef_is_read_data_available subroutine precicef_is_time_window_complete( isComplete ) INTEGER :: isComplete !IN: - !OUT: isComplete(1:true, 0:false) end subroutine precicef_is_time_window_complete subroutine precicef_has_to_evaluate_surrogate_model( hasToEvaluate ) INTEGER :: hasToEvaluate !IN: - !OUT: hasToEvaluate(1:true, 0:false) end subroutine precicef_has_to_evaluate_surrogate_model subroutine precicef_has_to_evaluate_fine_model( hasToEvaluate ) INTEGER :: hasToEvaluate !IN: - !OUT: hasToEvaluate(1:true, 0:false) end subroutine precicef_has_to_evaluate_fine_model subroutine precicef_action_required( action, isRequired ) CHARACTER :: action INTEGER :: isRequired !IN: action !OUT: isRequired(1:true, 0:false) end subroutine precicef_action_required subroutine precicef_is_action_required( action, isRequired ) CHARACTER :: action INTEGER :: isRequired !IN: action !OUT: isRequired(1:true, 0:false) end subroutine precicef_is_action_required subroutine precicef_mark_action_fulfilled( action ) CHARACTER :: action !IN: action !OUT: - end subroutine precicef_mark_action_fulfilled subroutine precicef_has_mesh( meshName, hasMesh ) CHARACTER :: meshName INTEGER :: hasMesh !IN: meshName !OUT: hasMesh(1:true, 0:false) end subroutine precicef_has_mesh subroutine precicef_get_mesh_id( meshName, meshID ) CHARACTER :: meshName INTEGER :: meshID !IN: meshName !OUT: meshID end subroutine precicef_get_mesh_id subroutine precicef_has_data( dataName, meshID, hasData ) CHARACTER :: dataName INTEGER :: meshID INTEGER :: hasData !IN: dataName !IN: meshID !OUT: hasData(1:true, 0:false) end subroutine precicef_has_data subroutine precicef_get_data_id( dataName, meshID, dataID ) CHARACTER :: dataName INTEGER :: meshID INTEGER :: dataID !IN: dataName !IN: meshID !OUT: dataID end subroutine precicef_get_data_id subroutine precicef_set_vertex( meshID, position, vertexID ) INTEGER :: meshID DOUBLE PRECISION :: position INTEGER :: vertexID !IN: meshID, position !OUT: vertexID end subroutine precicef_set_vertex subroutine precicef_get_mesh_vertex_size( meshID, meshSize ) INTEGER :: meshID INTEGER :: meshSize !IN: meshID !OUT: meshSize end subroutine precicef_get_mesh_vertex_size subroutine precicef_set_vertices( meshID, size, positions, positionIDs ) INTEGER :: meshID INTEGER :: size DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: positions INTEGER, DIMENSION(:), ALLOCATABLE :: positionIDs !IN: meshID, size, positions !OUT: positionIDs end subroutine precicef_set_vertices !subroutine precicef_get_vertices( meshID, size, ids, positions ) ! INTEGER :: meshID ! INTEGER :: size ! INTEGER :: ids ! DOUBLE PRECISION :: positions !IN: meshID, size, ids ! !OUT: positions ! end subroutine precicef_get_vertices subroutine precicef_get_vertices( meshID, size, positions, ids ) INTEGER :: meshID INTEGER :: size DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: positions INTEGER, DIMENSION(:), ALLOCATABLE :: ids !IN: meshID, size, positions !OUT: ids end subroutine precicef_get_vertices subroutine precicef_set_edge( meshID, firstVertexID, secondVertexID, edgeID ) INTEGER :: meshID INTEGER :: firstVertexID INTEGER :: secondVertexID INTEGER :: edgeID !IN: meshID, firstVertexID, secondVertexID !OUT: edgeID end subroutine precicef_set_edge subroutine precicef_set_triangle( meshID, firstEdgeID, secondEdgeID, thirdEdgeID ) INTEGER :: meshID INTEGER :: firstEdgeID INTEGER :: secondEdgeID INTEGER :: thirdEdgeID !IN: meshID, firstEdgeID, secondEdgeID, thirdEdgeID !OUT: - end subroutine precicef_set_triangle subroutine precicef_set_triangle_we( meshID, firstVertexID, secondVertexID, thirdVertexID ) INTEGER :: meshID INTEGER :: firstVertexID INTEGER :: secondVertexID INTEGER :: thirdVertexID !IN: meshID, firstVertexID, secondVertexID, thirdVertexID !OUT: - end subroutine precicef_set_triangle_we subroutine precicef_set_quad( meshID, firstEdgeID, secondEdgeID, thirdEdgeID, fourthEdgeID ) INTEGER :: meshID INTEGER :: firstEdgeID INTEGER :: secondEdgeID INTEGER :: thirdEdgeID INTEGER :: fourthEdgeID !IN: meshID, firstEdgeID, secondEdgeID, thirdEdgeID, fourthEdgeID !OUT: - end subroutine precicef_set_quad subroutine precicef_set_quad_we( meshID, firstVertexID, secondVertexID, thirdVertexID, fourthVertexID ) INTEGER :: meshID INTEGER :: firstVertexID INTEGER :: secondVertexID INTEGER :: thirdVertexID INTEGER :: fourthVertexID !IN: meshID, firstVertexID, secondVertexID, thirdVertexID, fourthVertexID !OUT: - end subroutine precicef_set_quad_we subroutine precicef_write_bvdata( dataID, size, valueIndices, values ) INTEGER :: dataID INTEGER :: size INTEGER, DIMENSION(:), ALLOCATABLE :: valueIndices DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: values !IN: dataID, size, valueIndices, values !OUT: - end subroutine precicef_write_bvdata subroutine precicef_write_vdata( dataID, valueIndex, dataValue ) INTEGER :: dataID INTEGER :: valueIndex DOUBLE PRECISION:: dataValue !IN: dataID, valueIndex, dataValue !OUT: - end subroutine precicef_write_vdata subroutine precicef_write_bsdata( dataID, size, valueIndices, values ) INTEGER :: dataID INTEGER :: size INTEGER, DIMENSION(:), ALLOCATABLE :: valueIndices DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: values !IN: dataID, size, valueIndices, values !OUT: - end subroutine precicef_write_bsdata subroutine precicef_write_sdata( dataID, valueIndex, dataValue ) INTEGER :: dataID INTEGER :: valueIndex DOUBLE PRECISION :: dataValue !IN: dataID, valueIndex, dataValue !OUT: - end subroutine precicef_write_sdata subroutine precicef_read_bvdata( dataID, size, valueIndices, values ) INTEGER :: dataID INTEGER :: size INTEGER, DIMENSION(:), ALLOCATABLE :: valueIndices DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: values !IN: dataID, size, valueIndices !OUT: values end subroutine precicef_read_bvdata subroutine precicef_read_vdata( dataID, valueIndex, dataValue ) INTEGER :: dataID INTEGER :: valueIndex DOUBLE PRECISION :: dataValue !IN: dataID, valueIndex !OUT: dataValue end subroutine precicef_read_vdata subroutine precicef_read_bsdata( dataID, size, valueIndices, values ) INTEGER :: dataID INTEGER :: size INTEGER, DIMENSION(:), ALLOCATABLE :: valueIndices DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: values !IN: dataID, size, valueIndices !OUT: values end subroutine precicef_read_bsdata subroutine precicef_read_sdata( dataID, valueIndex, dataValue ) INTEGER :: dataID INTEGER :: valueIndex DOUBLE PRECISION :: dataValue !IN: dataID, valueIndex !OUT: dataValue end subroutine precicef_read_sdata subroutine precicef_map_write_data_from( meshID ) INTEGER meshID !IN: meshID !OUT: - end subroutine precicef_map_write_data_from subroutine precicef_map_read_data_to( meshID ) INTEGER meshID !IN: meshID !OUT: - end subroutine precicef_map_read_data_to subroutine precicef_action_write_iter_checkpoint( nameAction ) CHARACTER nameAction end subroutine precicef_action_write_iter_checkpoint subroutine precicef_action_write_initial_data( nameAction ) CHARACTER nameAction end subroutine precicef_action_write_initial_data subroutine precicef_action_read_iter_checkpoint( nameAction ) CHARACTER nameAction end subroutine precicef_action_read_iter_checkpoint end module preciceFSSICAS