Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/docs-api/AbstractMesh/AbstractMesh_.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ This is an abstract class, which will be extended by `Mesh_` and `FEMesh_` class

:::

- You can learn about the structure of `FEMesh` [Here](./FEMesh_.md)
- You can learn about the structure of `FEMesh` [Here](../FEMesh/FEMesh_.md)
- You can learn about the structure of `ElemData` [Here](./ElemData_.md)
- You can learn about the structure of `NodeData` [Here](./NodeData_.md)
- The information of `BoundaryFacetData` is given [Here](./BoundaryFacetData_.md)
Expand Down
37 changes: 10 additions & 27 deletions docs/docs-api/AbstractMesh/InitiateFacetElements.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,43 +2,26 @@
title: InitiateFacetElements
---

This routine initiates the facet element data, such as [`BoundaryFacetData`](./BoundaryFacetData_.md) and [`InternalFacetData_`](./InternalFacetData_.md).
This routine needs following information:

This routine needs the following information:
- `ElementToElements`
- `BoundaryData`

- `ElementToElements`, if this information is not available, then it calls [InitiateElementToElements](./InitiateElementToElements.md).
- `BoundaryData`, if this information is not available, then it calls [InitiateBoundaryData](./InitiateBoundaryData.md).
It makes following data

It makes following data structures:
- `InternalFacetData`
- `BoundaryFacetData`
- `FacetElementType`

- [InternalFacetData_](./InternalFacetData_.md)
- [BoundaryFacetData_](./BoundaryFacetData_.md)
- `FacetElementType` field in [Mesh_](Mesh_.md)

:::info

- This method cannot differentiate between a `BOUNDARY_ELEMENT`, which is a boundary-facet-element at the mesh-boundary, and `DOMAIN_BOUNDARY_ELEMENT`, which is facet element at the domain’s boundary.
- This is because, at this point we only know that a boundary-facet-element is a domain-boundary-element, as we have no information about the neighboring mesh.
- Therefore, all `boundaryFacet` elements, at this level, are of type `DOMAIN_BOUNDARY_ELEMENT`. This is because every `DOMAIN_BOUNDARY_ELEMENT` is a `BOUNDARY_ELEMENT`.
- This information can be corrected only when we call [`SetDomainFacetElement`](../Domain/SetDomainFacetElement.md) from [Domain_](../Domain/Domain_.md) class.
:::

:::note
If we call [`SetDomainFacetElement`](../Domain/SetDomainFacetElement.md) then we do not have to worry about the above point.
:::

Please check documentation of following methods:

- [`SetDomainFacetElement`](../Domain/SetDomainFacetElement.md)
- [`SetMeshFacetElement`](../Domain/SetMeshFacetElement.md)
- [`SetFacetElementType`](../Domain/SetFacetElementType.md)
Note that at this point all `boundaryFacet` element are of type `DOMAIN_BOUNDARY_ELEMENT`. This information can be corrected only when
we call `SetFacetElementType` from Domain_ class. This is because, at this point we only know that a boundary facet is a domain boundary element, as we have no information about the neighbouring mesh.

## Interface

```fortran
INTERFACE
MODULE SUBROUTINE InitiateFacetElements(obj)
CLASS(Mesh_), INTENT(INOUT) :: obj
CLASS(AbstractMesh_), INTENT(INOUT) :: obj
END SUBROUTINE InitiateFacetElements
END INTERFACE
```
5 changes: 3 additions & 2 deletions docs/docs-api/FEMesh/Display.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# Display

Imported from the [AbstractMesh](../AbstractMesh/Display.md).

:::tip Inheritence
This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class.
:::

import EXAMPLE5 from "../AbstractMesh/Display.md";

Expand Down
20 changes: 9 additions & 11 deletions docs/docs-api/FEMesh/DisplayBoundaryFacetData.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
# DisplayBoundaryFacetData
---
title: DisplayBoundaryFacetData
---

## Interface
:::tip Inheritence
This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class.
:::

```fortran
INTERFACE
MODULE SUBROUTINE mesh_DisplayBoundaryFacetData(obj, msg, unitno)
CLASS(Mesh_), INTENT(IN) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE mesh_DisplayBoundaryFacetData
END INTERFACE
```
import EXAMPLE5 from "../AbstractMesh/DisplayBoundaryFacetData.md";

<EXAMPLE5 />
25 changes: 12 additions & 13 deletions docs/docs-api/FEMesh/DisplayElementData.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
# DisplayElementData

## Interface

```fortran
INTERFACE
MODULE SUBROUTINE mesh_DisplayElementData(obj, msg, unitno)
CLASS(Mesh_), INTENT(IN) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE mesh_DisplayElementData
END INTERFACE
```
---
title: DisplayElementData
---

:::tip Inheritence
This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class.
:::

import EXAMPLE5 from "../AbstractMesh/DisplayElementData.md";

<EXAMPLE5 />

25 changes: 12 additions & 13 deletions docs/docs-api/FEMesh/DisplayFacetElemSD.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
# DisplayFacetElemSD

## Interface

```fortran
INTERFACE
MODULE SUBROUTINE mesh_DisplayFacetElements(obj, msg, unitno)
CLASS(Mesh_), INTENT(IN) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE mesh_DisplayFacetElements
END INTERFACE
```
---
title: DisplayFacetElemSD
---

:::tip Inheritence
This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class.
:::

import EXAMPLE5 from "../AbstractMesh/DisplayFacetElemSD.md";

<EXAMPLE5 />

25 changes: 12 additions & 13 deletions docs/docs-api/FEMesh/DisplayFacetElements.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
# DisplayFacetElements

## Interface

```fortran
INTERFACE
MODULE SUBROUTINE mesh_DisplayFacetElements(obj, msg, unitno)
CLASS(Mesh_), INTENT(IN) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE mesh_DisplayFacetElements
END INTERFACE
```
---
title: DisplayFacetElements
---

:::tip Inheritence
This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class.
:::

import EXAMPLE5 from "../AbstractMesh/DisplayFacetElements.md";

<EXAMPLE5 />

20 changes: 9 additions & 11 deletions docs/docs-api/FEMesh/DisplayInternalFacetData.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
# DisplayInternalFacetData
---
title: DisplayInternalFacetData
---

## Interface
:::tip Inheritence
This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class.
:::

```fortran
INTERFACE
MODULE SUBROUTINE mesh_DisplayInternalFacetData(obj, msg, unitno)
CLASS(Mesh_), INTENT(IN) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE mesh_DisplayInternalFacetData
END INTERFACE
```
import EXAMPLE5 from "../AbstractMesh/DisplayInternalFacetData.md";

<EXAMPLE5 />
20 changes: 9 additions & 11 deletions docs/docs-api/FEMesh/DisplayNodeData.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
# DisplayNodeData
---
title: DisplayNodeData
---

## Interface
:::tip Inheritence
This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class.
:::

```fortran
INTERFACE
MODULE SUBROUTINE mesh_DisplayNodeData(obj, msg, unitno)
CLASS(Mesh_), INTENT(IN) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno
END SUBROUTINE mesh_DisplayNodeData
END INTERFACE
```
import EXAMPLE5 from "../AbstractMesh/DisplayNodeData.md";

<EXAMPLE5 />
37 changes: 16 additions & 21 deletions docs/docs-api/FEMesh/GetBoundaryElementData.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,27 @@
# GetBoundaryElementData
---
title: GetBoundaryElementData
---

Returns the boundary element data.
:::tip Inheritence
This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class.
:::

## Interface
import EXAMPLE5 from "../AbstractMesh/GetBoundaryElementData.md";

<Tabs>
<TabItem value="interface" label="Interface" default>
<EXAMPLE5 />

```fortran
MODULE PURE FUNCTION getBoundaryElementData(obj, globalElement) &
& RESULT(ans)
CLASS(Mesh_), INTENT(IN) :: obj
INTEGER(I4B), INTENT(IN) :: globalElement
INTEGER(I4B), ALLOCATABLE :: ans(:)
END FUNCTION getBoundaryElementData
```

</TabItem>
## Examples

<TabItem value="example" label="example">
<details>
<summary>Example 1</summary>
<div>

import EXAMPLE5 from "./examples/_GetBoundaryElementData_test_1.md";

<EXAMPLE5 />
import EXAMPLE6 from "./examples/_GetBoundaryElementData_test_1.md";

</TabItem>
<EXAMPLE6 />

<TabItem value="close" label="↢ close">
</div>
</details>

</TabItem>
</Tabs>
18 changes: 10 additions & 8 deletions docs/docs-api/FEMesh/GetBoundaryNptrs.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# GetBoundaryNptrs
---
title: GetBoundaryNptrs
---

## Interface
:::tip Inheritence
This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class.
:::

import EXAMPLE5 from "../AbstractMesh/GetBoundaryNptrs.md";

<EXAMPLE5 />

```fortran
MODULE PURE FUNCTION getBoundaryNptrs(obj) RESULT(ans)
CLASS(Mesh_), INTENT(IN) :: obj
INTEGER(I4B), ALLOCATABLE :: ans(:)
END FUNCTION getBoundaryNptrs
```
27 changes: 9 additions & 18 deletions docs/docs-api/FEMesh/GetBoundingBox.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,12 @@
# GetBoundingBox
---
title: GetBoundingBox
---

## Interface
:::tip Inheritence
This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class.
:::

```fortran
MODULE PURE FUNCTION getBoundingBox(obj) RESULT(ans)
CLASS(Mesh_), INTENT(IN) :: obj
TYPE(BoundingBox_) :: ans
END FUNCTION getBoundingBox
```
import EXAMPLE5 from "../AbstractMesh/GetBoundingBox.md";

<EXAMPLE5 />

```fortran
MODULE PURE FUNCTION getBoundingBox(obj, nodes, local_nptrs) &
& RESULT(ans)
CLASS(Mesh_), INTENT(IN) :: obj
REAL(DFP), INTENT(IN) :: nodes(:, :)
!! Nodal coordinates in XiJ format
INTEGER(I4B), OPTIONAL, INTENT(IN) :: local_nptrs(:)
TYPE(BoundingBox_) :: ans
END FUNCTION getBoundingBox
```
17 changes: 9 additions & 8 deletions docs/docs-api/FEMesh/GetBoundingEntity.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# GetBoundingEntity
---
title: GetBoundingEntity
---

## Interface
:::tip Inheritence
This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class.
:::

```fortran
MODULE PURE FUNCTION getBoundingEntity(obj) RESULT(ans)
CLASS(Mesh_), INTENT(IN) :: obj
INTEGER(I4B), ALLOCATABLE :: ans(:)
END FUNCTION getBoundingEntity
```
import EXAMPLE5 from "../AbstractMesh/GetBoundingEntity.md";

<EXAMPLE5 />
27 changes: 13 additions & 14 deletions docs/docs-api/FEMesh/GetCellNumber.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
# GetCellNumber

## Interface

```fortran
MODULE PURE FUNCTION getCellNumber( obj, facetElement, &
& elementType, facetBoundary ) RESULT( ans )
CLASS( Mesh_ ), INTENT( IN ) :: obj
INTEGER( I4B ), INTENT( IN ) :: facetElement
INTEGER( I4B ), INTENT( IN ) :: elementType
INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary
INTEGER( I4B ) :: ans( 2 )
END FUNCTION getCellNumber
```
---
title: GetCellNumber
---

:::tip Inheritence
This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class.
:::

import EXAMPLE5 from "../AbstractMesh/GetCellNumber.md";

<EXAMPLE5 />


18 changes: 9 additions & 9 deletions docs/docs-api/FEMesh/GetConnectivity.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# GetConnectivity
---
title: GetConnectivity
---

## Interface
:::tip Inheritence
This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class.
:::

```fortran
MODULE PURE FUNCTION getConnectivity(obj, globalElement) RESULT(ans)
CLASS(Mesh_), INTENT(IN) :: obj
INTEGER(I4B), INTENT(IN) :: globalElement
INTEGER(I4B), ALLOCATABLE :: ans(:)
END FUNCTION getConnectivity
```
import EXAMPLE5 from "../AbstractMesh/GetConnectivity.md";

<EXAMPLE5 />
Loading