diff --git a/docs/docs-api/AppendUtility/examples/_Append_test_1.F90 b/docs/docs-api/AppendUtility/examples/_Append_test_1.F90 new file mode 100644 index 00000000..7ae327e7 --- /dev/null +++ b/docs/docs-api/AppendUtility/examples/_Append_test_1.F90 @@ -0,0 +1,20 @@ +PROGRAM main +USE easifemBase +IMPLICIT NONE +INTEGER(I4B), ALLOCATABLE :: intvec1(:) +REAL(DFP), ALLOCATABLE :: realvec1(:) + +CALL Append(intvec1, 1) +CALL OK(ALL(intvec1 .EQ. [1]), "Append single ENTRY") + +CALL Append(intvec1, [2, 3]) +CALL OK(ALL(intvec1 .EQ. [1, 2, 3]), "Append a vector") + +CALL Append(realvec1, 1.0_DFP) +CALL OK(ALL(realvec1 .EQ. [1.0_DFP]), "Append single ENTRY") + +CALL Append(realvec1, [2.0_DFP, 3.0_DFP]) +CALL OK(ALL(realvec1 .EQ. [1.0_DFP, 2.0_DFP, 3.0_DFP]), "Append a vector") + +DEALLOCATE (intvec1, realvec1) +END PROGRAM main diff --git a/docs/docs-api/AppendUtility/examples/_Append_test_1.md b/docs/docs-api/AppendUtility/examples/_Append_test_1.md index b5adf4f3..5e1ffb4e 100644 --- a/docs/docs-api/AppendUtility/examples/_Append_test_1.md +++ b/docs/docs-api/AppendUtility/examples/_Append_test_1.md @@ -1,3 +1,5 @@ + + ```fortran PROGRAM main USE easifemBase @@ -9,29 +11,29 @@ PROGRAM main Now lets us append a single ENTRY to a vector of integers. ```fortran - CALL Append(intvec1, 1) - CALL OK( ALL(intvec1 .EQ. [1]), "Append single ENTRY" ) +CALL Append(intvec1, 1) +CALL OK( ALL(intvec1 .EQ. [1]), "Append single ENTRY" ) ``` Appending a vector to a vector. ```fortran - CALL Append(intvec1, [2,3]) - CALL OK( ALL(intvec1 .EQ. [1,2,3]), "Append a vector" ) +CALL Append(intvec1, [2,3]) +CALL OK( ALL(intvec1 .EQ. [1,2,3]), "Append a vector" ) ``` Now lets us append a single real value to realvec. ```fortran - CALL Append(realvec1, 1.0_DFP) - CALL OK( ALL(realvec1 .EQ. [1.0_DFP]), "Append single ENTRY" ) +CALL Append(realvec1, 1.0_DFP) +CALL OK( ALL(realvec1 .EQ. [1.0_DFP]), "Append single ENTRY" ) ``` Appending vector to a vector. ```fortran - CALL Append(realvec1, [2.0_DFP,3.0_DFP]) - CALL OK( ALL(realvec1 .EQ. [1.0_DFP,2.0_DFP,3.0_DFP]), "Append a vector" ) +CALL Append(realvec1, [2.0_DFP,3.0_DFP]) +CALL OK( ALL(realvec1 .EQ. [1.0_DFP,2.0_DFP,3.0_DFP]), "Append a vector" ) ``` Cleanup diff --git a/docs/docs-api/Domain/examples/_Initiate_test_1.F90 b/docs/docs-api/Domain/examples/_Initiate_test_1.F90 index e6b8dbc3..4076053c 100644 --- a/docs/docs-api/Domain/examples/_Initiate_test_1.F90 +++ b/docs/docs-api/Domain/examples/_Initiate_test_1.F90 @@ -6,7 +6,7 @@ PROGRAM main TYPE(Domain_) :: dom TYPE(HDF5File_) :: meshfile CHARACTER(*), PARAMETER :: filename= & - & "../../Mesh/examples/meshdata/small_mesh_3d.h5" + "../../Mesh/examples/meshdata/small_mesh_3d.h5" CALL meshfile%Initiate(filename, mode="READ") CALL meshfile%Open() CALL dom%Initiate(meshfile, '') diff --git a/docs/docs-api/Domain/examples/_Initiate_test_1.md b/docs/docs-api/Domain/examples/_Initiate_test_1.md index c5b98407..bc60518c 100644 --- a/docs/docs-api/Domain/examples/_Initiate_test_1.md +++ b/docs/docs-api/Domain/examples/_Initiate_test_1.md @@ -1,12 +1,16 @@ + + ```fortran PROGRAM main USE easifemBase USE easifemClasses + IMPLICIT NONE + TYPE(Domain_) :: dom TYPE(HDF5File_) :: meshfile CHARACTER(*), PARAMETER :: filename= & - & "../../Mesh/examples/meshdata/small_mesh_3d.h5" + "../../Mesh/examples/meshdata/small_mesh_3d.h5" CALL meshfile%Initiate(filename, mode="READ") CALL meshfile%Open() diff --git a/docs/docs-api/FEDomain/GetMeshPointer.md b/docs/docs-api/FEDomain/GetMeshPointer.md index 24ee5ab9..d552a19c 100644 --- a/docs/docs-api/FEDomain/GetMeshPointer.md +++ b/docs/docs-api/FEDomain/GetMeshPointer.md @@ -1 +1,38 @@ # GetMeshPointer + + + +This function returns the mesh pointer stored in the domain. + +## Interface + + + + +```fortran +INTERFACE + MODULE FUNCTION Domain_GetMeshPointer1(obj, dim, entityNum) RESULT(Ans) + CLASS(Domain_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: dim + !! dimension of mesh entity + INTEGER(I4B), INTENT(IN) :: entityNum + !! entity number + CLASS(Mesh_), POINTER :: ans + END FUNCTION Domain_GetMeshPointer1 +END INTERFACE +``` + + + + + +import EXAMPLE10 from "./examples/_GetMeshPointer_test_1.md"; + + + + + + + + + diff --git a/docs/docs-api/FEDomain/examples/_GetMeshPointer_test_1.md b/docs/docs-api/FEDomain/examples/_GetMeshPointer_test_1.md index 78e30729..81ff26e2 100644 --- a/docs/docs-api/FEDomain/examples/_GetMeshPointer_test_1.md +++ b/docs/docs-api/FEDomain/examples/_GetMeshPointer_test_1.md @@ -1,3 +1,5 @@ + + ```fortran PROGRAM main USE easifemBase diff --git a/docs/docs-api/FEMesh/examples/_GetElementToElements_test_1.F90 b/docs/docs-api/FEMesh/examples/_GetElementToElements_test_1.F90 index b8f1ec1b..b27a9a71 100644 --- a/docs/docs-api/FEMesh/examples/_GetElementToElements_test_1.F90 +++ b/docs/docs-api/FEMesh/examples/_GetElementToElements_test_1.F90 @@ -1,24 +1,23 @@ - PROGRAM main - USE easifemBase - USE easifemClasses - IMPLICIT NONE - TYPE( FEMesh_ ) :: obj - TYPE( HDF5File_ ) :: meshfile - INTEGER( I4B ), ALLOCATABLE :: nptrs( :, : ) +USE easifemBase +USE easifemClasses +IMPLICIT NONE +TYPE(FEMesh_) :: obj +TYPE(HDF5File_) :: meshfile +INTEGER(I4B), ALLOCATABLE :: elem2elem(:, :) CHARACTER(*), PARAMETER :: filename="../../Mesh/examples/meshdata/small_mesh.h5" - ! Initiate and open the mesh file which is in [[HDF5File_]] format. Then, create an instance of mesh. - CALL meshfile%Initiate(filename, "READ" ) - CALL meshfile%Open() - CALL obj%Initiate(hdf5=meshfile, group="/surfaceEntities_1" ) +! Initiate and open the mesh file which is in [[HDF5File_]] format. Then, create an instance of mesh. +CALL meshfile%Initiate(filename, "READ") +CALL meshfile%OPEN() +CALL obj%Initiate(hdf5=meshfile, group="/surfaceEntities_1") -nptrs = obj%GetElementToElements( globalElement=23, onlyElements=.FALSE. ) -CALL Display( nptrs, "Element connected to iel=23") +elem2elem = obj%GetElementToElements(globalElement=23, onlyElements=.FALSE.) +CALL Display(elem2elem, "Element connected to iel=23") -nptrs = obj%GetElementToElements( globalElement=23, onlyElements=.TRUE. ) -CALL Display( nptrs, "Element connected to iel=23") +elem2elem = obj%GetElementToElements(globalElement=23, onlyElements=.TRUE.) +CALL Display(elem2elem, "Element connected to iel=23") - CALL obj%Deallocate() - CALL meshfile%Close() - CALL meshfile%Deallocate() +CALL obj%DEALLOCATE() +CALL meshfile%CLOSE() +CALL meshfile%DEALLOCATE() END PROGRAM main diff --git a/docs/docs-api/Mesh/examples/_GetElementToElements_test_2.F90 b/docs/docs-api/Mesh/examples/_GetElementToElements_test_2.F90 new file mode 100644 index 00000000..546ffbd9 --- /dev/null +++ b/docs/docs-api/Mesh/examples/_GetElementToElements_test_2.F90 @@ -0,0 +1,49 @@ +PROGRAM main +USE easifemBase +USE easifemClasses + +IMPLICIT NONE + +CHARACTER(*), PARAMETER :: filename = "./meshdata/small_mesh.h5" +INTEGER(I4B), ALLOCATABLE :: elem2elem(:, :) +INTEGER(I4B) :: globalElement, ii +TYPE(ElemData_) :: elemdata1, elemdata2 +TYPE(FEMesh_) :: obj +TYPE(HDF5File_) :: meshfile +LOGICAL(LGT) :: isok + +CALL e%setQuietMode(EXCEPTION_INFORMATION, .TRUE.) +CALL meshfile%Initiate(filename, "READ") +CALL meshfile%OPEN() +CALL obj%Initiate(hdf5=meshfile, group="/surfaceEntities_1") + +globalElement = 23 +elem2elem = obj%GetElementToElements(globalElement=globalElement, & + onlyElements=.FALSE.) +CALL Display(elem2elem, "Element connected to iel="//tostring(globalElement)) +CALL obj%GetElemData(globalElement=globalElement, elemdata=elemdata1, & + islocal=.FALSE.) +CALL Blanklines(nol=2) + +CALL ElemData_Display(elemdata1, "elemdata: ") + +DO ii = 1, SIZE(elem2elem, 1) + + globalElement = elem2elem(ii, 1) + CALL obj%GetElemData(globalElement=globalElement, elemdata=elemdata2, & + islocal=.FALSE.) + + isok = elemdata1%globalFaces(elem2elem(ii, 2)) & + .EQ. elemdata2%globalFaces(elem2elem(ii, 3)) + CALL OK(isok, "GetElementToElements test-a : ") + + isok = (elemdata1%faceOrient(1, elem2elem(ii, 2)) & + + elemdata2%faceOrient(1, elem2elem(ii, 3))) .EQ. 0 + CALL OK(isok, "GetElementToElements test-b : ") + +END DO + +CALL obj%DEALLOCATE() +CALL meshfile%CLOSE() +CALL meshfile%DEALLOCATE() +END PROGRAM main diff --git a/docs/docs-api/Mesh/examples/_GetElementToElements_test_2.md b/docs/docs-api/Mesh/examples/_GetElementToElements_test_2.md new file mode 100644 index 00000000..8de90516 --- /dev/null +++ b/docs/docs-api/Mesh/examples/_GetElementToElements_test_2.md @@ -0,0 +1,122 @@ + + +```fortran +PROGRAM main +USE easifemBase +USE easifemClasses +IMPLICIT NONE +CHARACTER(*), PARAMETER :: filename = "./meshdata/small_mesh.h5" +INTEGER(I4B), ALLOCATABLE :: elem2elem(:, :) +INTEGER(I4B) :: globalElement +TYPE(ElemData_) :: elemdata +TYPE(FEMesh_) :: obj +TYPE(HDF5File_) :: meshfile + +CALL e%setQuietMode(EXCEPTION_INFORMATION, .TRUE.) +CALL meshfile%Initiate(filename, "READ") +CALL meshfile%OPEN() +CALL obj%Initiate(hdf5=meshfile, group="/surfaceEntities_1") + +elem2elem = obj%GetElementToElements(globalElement=23, onlyElements=.FALSE.) +CALL Display(elem2elem, "Element connected to iel=23") +CALL obj%GetElemData(globalElement=23, elemdata=elemdata, islocal=.FALSE.) +CALL ElemData_Display(elemdata, "elemdata: ") + +CALL Blanklines(nol=2) +globalElement = 22 +elem2elem = obj%GetElementToElements(globalElement=globalElement, & + onlyElements=.FALSE.) +CALL Display(elem2elem, "Element connected to iel="// & + tostring(globalElement)) +CALL obj%GetElemData(globalElement=globalElement, elemdata=elemdata, & + islocal=.FALSE.) +CALL ElemData_Display(elemdata, "elemdata: ") + +CALL obj%DEALLOCATE() +CALL meshfile%CLOSE() +CALL meshfile%DEALLOCATE() +END PROGRAM main +``` + +```bash title="results" +Element connected to iel=23 +--------------------------- + 22 1 2 + 26 2 3 + 25 3 1 +elemdata: +isActive: TRUE +globalElemNum: 23 +localElemNum: 11 +elementType:INTERNAL_ELEMENT +elementName:Triangle3 +globalNodes: +------------- + 9 + 10 + 11 +globalEdges: +------------- + 22 + 23 + 24 +edgeOrient: +------------ + 1 + 1 + 1 +globalElements: +---------------- + 22 + 1 + 2 + 26 + 2 + 3 + 25 + 3 + 1 +boundaryData: +-------------- + + +Element connected to iel=22 +--------------------------- + 20 1 3 + 23 2 1 + 14 3 2 +elemdata: +isActive: TRUE +globalElemNum: 22 +localElemNum: 10 +elementType:INTERNAL_ELEMENT +elementName:Triangle3 +globalNodes: +------------- + 9 + 8 + 10 +globalEdges: +------------- + 20 + 22 + 5 +edgeOrient: +------------ + -1 + 1 + 1 +globalElements: +---------------- + 20 + 1 + 3 + 23 + 2 + 1 + 14 + 3 + 2 +boundaryData: +-------------- +``` diff --git a/docs/docs-api/Mesh/examples/_GetElementToElements_test_3.F90 b/docs/docs-api/Mesh/examples/_GetElementToElements_test_3.F90 new file mode 100644 index 00000000..f90ab8f3 --- /dev/null +++ b/docs/docs-api/Mesh/examples/_GetElementToElements_test_3.F90 @@ -0,0 +1,44 @@ +PROGRAM main +USE easifemBase +USE easifemClasses + +IMPLICIT NONE + +CHARACTER(*), PARAMETER :: filename = "./meshdata/small_mesh.h5" +INTEGER(I4B), ALLOCATABLE :: elem2elem(:, :) +INTEGER(I4B) :: globalElement +TYPE(ElemData_) :: elemdata1, elemdata2 +TYPE(FEMesh_) :: obj +TYPE(HDF5File_) :: meshfile + +CALL e%setQuietMode(EXCEPTION_INFORMATION, .TRUE.) +CALL meshfile%Initiate(filename, "READ") +CALL meshfile%OPEN() +CALL obj%Initiate(hdf5=meshfile, group="/surfaceEntities_1") + +globalElement = 23 +elem2elem = obj%GetElementToElements(globalElement=globalElement, & + onlyElements=.FALSE.) +CALL Display(elem2elem, "Element connected to iel="//tostring(globalElement)) +CALL obj%GetElemData(globalElement=globalElement, elemdata=elemdata1, & + islocal=.FALSE.) +! CALL ElemData_Display(elemdata1, "elemdata: ") +CALL Blanklines(nol=2) + +DO ii = 1, SIZE(elem2elem, 1) + + globalElement = elem2elem(1, ii) + ! elem2elem = obj%GetElementToElements(globalElement=globalElement, & + ! onlyElements=.FALSE.) + ! CALL Display(elem2elem, "Element connected to iel="// & + ! tostring(globalElement)) + CALL obj%GetElemData(globalElement=globalElement, elemdata=elemdata, & + islocal=.FALSE.) + ! CALL ElemData_Display(elemdata, "elemdata: ") + +END DO + +CALL obj%DEALLOCATE() +CALL meshfile%CLOSE() +CALL meshfile%DEALLOCATE() +END PROGRAM main diff --git a/docs/docs-api/Mesh/examples/_Initiate_test_1.md b/docs/docs-api/Mesh/examples/_Initiate_test_1.md index ade5fe72..aee53e40 100644 --- a/docs/docs-api/Mesh/examples/_Initiate_test_1.md +++ b/docs/docs-api/Mesh/examples/_Initiate_test_1.md @@ -1,3 +1,5 @@ + + This example shows how to convert the mesh generated from `Gmsh` `MSHFile_` format into the `HDF5File_` format. @@ -14,7 +16,7 @@ Initiate an instance of `MSHFile_` which is created by Gmsh ```fortran CALL mshFile%Initiate( filename="./meshdata/small_mesh.msh", & -& STATUS="OLD", ACTION="READ" ) + STATUS="OLD", ACTION="READ" ) ``` Open the mesh file. diff --git a/docs/docs-api/Mesh/examples/_Initiate_test_2.md b/docs/docs-api/Mesh/examples/_Initiate_test_2.md index 9d7e366e..e7ef9c66 100644 --- a/docs/docs-api/Mesh/examples/_Initiate_test_2.md +++ b/docs/docs-api/Mesh/examples/_Initiate_test_2.md @@ -1,3 +1,5 @@ + + This example shows how to initiate an instance of `Mesh_` by reading data from mesh file, which is in `HDF5File_` format. diff --git a/docs/docs-api/Mesh/examples/_Initiate_test_3.md b/docs/docs-api/Mesh/examples/_Initiate_test_3.md index cbeb0078..31c6bfb5 100644 --- a/docs/docs-api/Mesh/examples/_Initiate_test_3.md +++ b/docs/docs-api/Mesh/examples/_Initiate_test_3.md @@ -1,6 +1,4 @@ ---- -title: Mesh Initiate Example 3 ---- + This example shows how to initiate an instance of `Mesh_` by reading data from mesh file, which is in `HDF5File_` format. diff --git a/docs/docs-api/Mesh/examples/_Initiate_test_9.F90 b/docs/docs-api/Mesh/examples/_Initiate_test_9.F90 new file mode 100644 index 00000000..1336b7cf --- /dev/null +++ b/docs/docs-api/Mesh/examples/_Initiate_test_9.F90 @@ -0,0 +1,16 @@ +PROGRAM main +USE easifemBase +USE easifemClasses +IMPLICIT NONE +TYPE(Mesh_) :: obj +TYPE(HDF5File_) :: meshfile + + CALL meshfile%Initiate( fileName="./meshdata/small_mesh_two_region.h5", MODE="READ" ) +CALL meshfile%OPEN() + +CALL obj%Initiate(hdf5=meshfile, dim=2, entities=[1]) +CALL obj%Display("") + +CALL obj%DEALLOCATE() +CALL meshfile%DEALLOCATE() +END PROGRAM main diff --git a/docs/docs-api/Mesh/examples/_Initiate_test_9.md b/docs/docs-api/Mesh/examples/_Initiate_test_9.md new file mode 100644 index 00000000..31c6bfb5 --- /dev/null +++ b/docs/docs-api/Mesh/examples/_Initiate_test_9.md @@ -0,0 +1,26 @@ + + +This example shows how to initiate an instance of `Mesh_` +by reading data from mesh file, which is in `HDF5File_` format. + +This example is same as the previous example (example 2), +but in this example we construct `surfaceEntities_2`. + +```fortran +PROGRAM main + USE easifemBase + USE easifemClasses + IMPLICIT NONE + TYPE( Mesh_ ) :: obj + TYPE( HDF5File_ ) :: meshfile + + CALL meshfile%Initiate( fileName="./meshdata/small_mesh_two_region.h5", MODE="READ" ) + CALL meshfile%Open() + + CALL obj%Initiate(hdf5=meshfile, group="/surfaceEntities_2" ) + CALL obj%Display("") + + CALL obj%Deallocate() + CALL meshfile%Deallocate() +END PROGRAM main +``` diff --git a/docs/docs-api/MeshSelection/examples/_Initiate_test_1.F90 b/docs/docs-api/MeshSelection/examples/_Initiate_test_1.F90 new file mode 100644 index 00000000..2bea20c5 --- /dev/null +++ b/docs/docs-api/MeshSelection/examples/_Initiate_test_1.F90 @@ -0,0 +1,25 @@ + +PROGRAM main + USE easifemBase + USE easifemClasses + IMPLICIT NONE + TYPE( MeshSelection_ ) :: obj + type(ParameterList_) :: param + +CALL FPL_INIT(); call param%Initiate() +CALL SetMeshSelectionParam(param=param, isSelectionByMeshID=.TRUE., prefix=obj%GetPrefix()) +CALL obj%Initiate( param=param ) + +CALL obj%Add( dim=0, meshID=[1,2,3,4,5,6]) +CALL obj%Add( dim=1, meshID=[2,5,6,7]) +CALL obj%Add( dim=2, meshID=[1,3,5,6,8]) +CALL obj%Add( dim=3, meshID=[1,8]) + +CALL obj%Set() + +CALL obj%Display( "" ) + + CALL obj%Deallocate() + CALL param%Deallocate() + CALL FPL_FINALIZE +END PROGRAM main diff --git a/docs/docs-api/ReferenceTriangle/examples/_GetEdgeConnectivity_test_1.F90 b/docs/docs-api/ReferenceTriangle/examples/_GetEdgeConnectivity_test_1.F90 index a5da5920..bc7afdf0 100644 --- a/docs/docs-api/ReferenceTriangle/examples/_GetEdgeConnectivity_test_1.F90 +++ b/docs/docs-api/ReferenceTriangle/examples/_GetEdgeConnectivity_test_1.F90 @@ -1,24 +1,56 @@ +PROGRAM main +USE easifemBase -program main -use easifemBase -block -INTEGER( I4B ) :: con(2, 3) -CALL GetEdgeConnectivity_Triangle(con=con, order=1) -CALL Display(con, "GetEdgeConnectivity(order=2)") -end block -block -INTEGER( I4B ) :: con(3, 3) -CALL GetEdgeConnectivity_Triangle(con=con, order=2) -CALL Display(con, "GetEdgeConnectivity(order=2)") -end block -block -INTEGER( I4B ) :: con(2, 3) -CALL GetEdgeConnectivity_Triangle(con=con, order=1, opt=2) -CALL Display(con, "GetEdgeConnectivity(order=2)") -end block -block -INTEGER( I4B ) :: con(3, 3) -CALL GetEdgeConnectivity_Triangle(con=con, order=2, opt=2) -CALL Display(con, "GetEdgeConnectivity(order=2)") -end block -end program main +BLOCK + INTEGER(I4B) :: found(2, 3), want(2, 3) + INTEGER(I4B), PARAMETER :: order = 1 + LOGICAL(LGT) :: isok + + want = RESHAPE([1, 2, 1, 3, 2, 3], [2, 3]) + CALL GetEdgeConnectivity_Triangle(con=found, order=order) + isok = ALL(found == want) + CALL OK(isok, "GetEdgeConnectivity_Triangle: ") +END BLOCK + +BLOCK + INTEGER(I4B) :: found(3, 3), want(3, 3) + INTEGER(I4B), PARAMETER :: order = 2 + LOGICAL(LGT) :: isok + + want = RESHAPE([1, 2, 4, 1, 3, 6, 2, 3, 5], [3, 3]) + CALL GetEdgeConnectivity_Triangle(con=found, order=order) + isok = ALL(found == want) + CALL OK(isok, "GetEdgeConnectivity_Triangle: ") + IF (.NOT. isok) THEN + + CALL Display(found, "found: ") + END IF +END BLOCK + +BLOCK + INTEGER(I4B) :: found(2, 3), want(2, 3) + INTEGER(I4B), PARAMETER :: order = 1 + LOGICAL(LGT) :: isok + + want = RESHAPE([1, 2, 2, 3, 3, 1], [2, 3]) + CALL GetEdgeConnectivity_Triangle(con=found, order=order, opt=2) + isok = ALL(found == want) + CALL OK(isok, "GetEdgeConnectivity_Triangle: ") +END BLOCK + +BLOCK + INTEGER(I4B) :: found(3, 3), want(3, 3) + INTEGER(I4B), PARAMETER :: order = 2 + LOGICAL(LGT) :: isok + + want = RESHAPE([1, 2, 4, 2, 3, 5, 3, 1, 6], [3, 3]) + CALL GetEdgeConnectivity_Triangle(con=found, order=order, opt=2) + isok = ALL(found == want) + CALL OK(isok, "GetEdgeConnectivity_Triangle: ") + IF (.NOT. isok) THEN + + CALL Display(found, "found: ") + END IF +END BLOCK + +END PROGRAM main diff --git a/docs/docs-api/ReferenceTriangle/examples/_GetEdgeConnectivity_test_1.md b/docs/docs-api/ReferenceTriangle/examples/_GetEdgeConnectivity_test_1.md index 2010c629..08bd968d 100644 --- a/docs/docs-api/ReferenceTriangle/examples/_GetEdgeConnectivity_test_1.md +++ b/docs/docs-api/ReferenceTriangle/examples/_GetEdgeConnectivity_test_1.md @@ -1,34 +1,27 @@ ---- -title: ReferenceTriangle GetEdgeConnectivity Example 1 ---- + ```fortran -program main -use easifemBase - -block -INTEGER( I4B ) :: con(2, 3) -CALL GetEdgeConnectivity_Triangle(con=con, order=1) -CALL Display(con, "GetEdgeConnectivity(order=2)") -end block - -block -INTEGER( I4B ) :: con(3, 3) -CALL GetEdgeConnectivity_Triangle(con=con, order=2) -CALL Display(con, "GetEdgeConnectivity(order=2)") -end block - -block -INTEGER( I4B ) :: con(2, 3) -CALL GetEdgeConnectivity_Triangle(con=con, order=1, opt=2) -CALL Display(con, "GetEdgeConnectivity(order=2)") -end block - -block -INTEGER( I4B ) :: con(3, 3) -CALL GetEdgeConnectivity_Triangle(con=con, order=2, opt=2) -CALL Display(con, "GetEdgeConnectivity(order=2)") -end block - -end program main +PROGRAM main +USE easifemBase +BLOCK + INTEGER(I4B) :: con(2, 3) + CALL GetEdgeConnectivity_Triangle(con=con, order=1) + CALL Display(con, "GetEdgeConnectivity(order=2)") +END BLOCK +BLOCK + INTEGER(I4B) :: con(3, 3) + CALL GetEdgeConnectivity_Triangle(con=con, order=2) + CALL Display(con, "GetEdgeConnectivity(order=2)") +END BLOCK +BLOCK + INTEGER(I4B) :: con(2, 3) + CALL GetEdgeConnectivity_Triangle(con=con, order=1, opt=2) + CALL Display(con, "GetEdgeConnectivity(order=2)") +END BLOCK +BLOCK + INTEGER(I4B) :: con(3, 3) + CALL GetEdgeConnectivity_Triangle(con=con, order=2, opt=2) + CALL Display(con, "GetEdgeConnectivity(order=2)") +END BLOCK +END PROGRAM main ``` diff --git a/docs/docs-api/ReferenceTriangle/examples/_GetEdgeConnectivity_test_2.F90 b/docs/docs-api/ReferenceTriangle/examples/_GetEdgeConnectivity_test_2.F90 new file mode 100644 index 00000000..550bd601 --- /dev/null +++ b/docs/docs-api/ReferenceTriangle/examples/_GetEdgeConnectivity_test_2.F90 @@ -0,0 +1,27 @@ +PROGRAM main +USE easifemBase + +BLOCK + INTEGER(I4B) :: con(2, 3) + CALL GetEdgeConnectivity_Triangle(con=con, order=1) + CALL Display(con, "GetEdgeConnectivity(order=2)") +END BLOCK + +BLOCK + INTEGER(I4B) :: con(3, 3) + CALL GetEdgeConnectivity_Triangle(con=con, order=2) + CALL Display(con, "GetEdgeConnectivity(order=2)") +END BLOCK + +BLOCK + INTEGER(I4B) :: con(2, 3) + CALL GetEdgeConnectivity_Triangle(con=con, order=1, opt=2) + CALL Display(con, "GetEdgeConnectivity(order=2)") +END BLOCK + +BLOCK + INTEGER(I4B) :: con(3, 3) + CALL GetEdgeConnectivity_Triangle(con=con, order=2, opt=2) + CALL Display(con, "GetEdgeConnectivity(order=2)") +END BLOCK +END PROGRAM main diff --git a/docs/docs-api/ReferenceTriangle/examples/_GetEdgeConnectivity_test_2.md b/docs/docs-api/ReferenceTriangle/examples/_GetEdgeConnectivity_test_2.md new file mode 100644 index 00000000..08bd968d --- /dev/null +++ b/docs/docs-api/ReferenceTriangle/examples/_GetEdgeConnectivity_test_2.md @@ -0,0 +1,27 @@ + + +```fortran +PROGRAM main +USE easifemBase +BLOCK + INTEGER(I4B) :: con(2, 3) + CALL GetEdgeConnectivity_Triangle(con=con, order=1) + CALL Display(con, "GetEdgeConnectivity(order=2)") +END BLOCK +BLOCK + INTEGER(I4B) :: con(3, 3) + CALL GetEdgeConnectivity_Triangle(con=con, order=2) + CALL Display(con, "GetEdgeConnectivity(order=2)") +END BLOCK +BLOCK + INTEGER(I4B) :: con(2, 3) + CALL GetEdgeConnectivity_Triangle(con=con, order=1, opt=2) + CALL Display(con, "GetEdgeConnectivity(order=2)") +END BLOCK +BLOCK + INTEGER(I4B) :: con(3, 3) + CALL GetEdgeConnectivity_Triangle(con=con, order=2, opt=2) + CALL Display(con, "GetEdgeConnectivity(order=2)") +END BLOCK +END PROGRAM main +```