Skip to main content

FEDOF

Data type for finite element degree of freedoms. FEDOF_ defines the abstract node in finite element method. The meaning of degree of freedom depends upon the basis interpolation function and type. For example, in the case of Lagrange interpolation, the degree of freedoms corresponds to the nodes in the element. The basic steps of using this data type is given below.

Basic usage

Constructor methods

Although, there are several ways to initiate an instance of FEDOF. The most common way is to call the Initiate method.

CALL obj%Initiate(order,  mesh, baseContinuity, baseInterpolation, ipType, basisType, alpha, beta, lambda, islocal)
  • Here order represents the order of each element. It can be a scalar, vector, or a two dimensional matrix of integers. The method with scalar order is given here.
    • When order is a vector of integer then it represents the order of each cell element. In this case, the length of order must be equal to the number of elements in the mesh.
    • When order is a matrix of integer then the first row represents the global number of cell element, and the second row represents the order of cell element.

You can also initiate an instance of FEDOF using ParameterList. The process is given below.

  • First, set parameters in ParameterList object by using SetFEDOFParam.
  • Then, initiate an instance of FEDOF using ParameterList object by using Initiate
CALL obj%Initiate(param, mesh)
MethodDescription
InitiateInitializes a FEDOF (Finite Element Degrees of Freedom) object with various options for element order specification
SetFEDOFParamSets essential parameters for constructing a FEDOF object in a parameter list
Copy / ASSIGNMENT(=)Copies the contents of one FEDOF object to another
DEALLOCATEDeallocates all data and resources used by a FEDOF object

These constructor methods handle the creation, initialization, and cleanup of FEDOF objects, which represent the degrees of freedom for finite element calculations.

Get methods

The following table provides an overview of all methods defined in the GetMethods submodule of the FEDOF_Class.

Method NamePurpose
GetCaseNameGets the case name of FEDOF (combines baseContinuity and baseInterpolation)
GetVertexDOFRetrieves the degrees of freedom associated with a vertex/node
GetEdgeDOFRetrieves the degrees of freedom associated with an edge
GetTotalEdgeDOFReturns the total number of degrees of freedom on an edge
GetFaceDOFRetrieves the degrees of freedom associated with a face
GetTotalFaceDOFReturns the total number of degrees of freedom on a face
GetCellDOFRetrieves the degrees of freedom associated with a cell
GetTotalCellDOFReturns the total number of degrees of freedom on a cell
GetTotalVertexDOFReturns the total number of vertex degrees of freedom
GetTotalDOFReturns the total number of degrees of freedom (in the entire mesh, an element, or filtered by type)
GetConnectivityReturns the connectivity array for an element
GetConnectivity_Internal method for writing connectivity information into a provided array
GetPrefixReturns the prefix used for setting data ("FEDOF")
GetMeshPointerReturns a pointer to the associated mesh object
GetBaseInterpolationReturns the base interpolation type used
GetCellOrderRetrieves the polynomial order of a cell
GetOrdersGets the cell, face, and edge orders and their orientations
GetMaxTotalConnectivityReturns the maximum size of connectivity across all elements
GetQuadraturePointsCreates quadrature points for numerical integration
GetLocalElemShapeDataRetrieves local element shape functions data
GetGlobalElemShapeDataMaps local shape functions to the global coordinate system

IO Methods

MethodDescription
DisplayDisplays the content of a FEDOF object including configuration, mesh information, and allocation status
DisplayCellOrderDisplays information about the cell order array and its contents
ImportFromTomlImports FEDOF configuration from a TOML file or table

These IO methods provide functionality for:

  • Displaying the state and configuration of a FEDOF object for debugging and information purposes
  • Reading configuration from standardized TOML format files or tables
  • Visualizing specific aspects of the FEDOF configuration like cell orders

Setting sparsity

The sparsity of the FEDOF object can be set using the SetSparsity method. This method allows you to define how the degrees of freedom are organized and accessed, which can optimize performance for specific applications.

Methods