Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Elemsd H1Methods #249

Open
2 tasks done
vickysharma0812 opened this issue Sep 3, 2023 · 0 comments
Open
2 tasks done

Elemsd H1Methods #249

vickysharma0812 opened this issue Sep 3, 2023 · 0 comments
Assignees

Comments

@vickysharma0812
Copy link
Member

vickysharma0812 commented Sep 3, 2023

Currently following interface has been implemented in ElemshapeData_H1Methods.F90

INTERFACE Initiate
  MODULE SUBROUTINE H1_Lagrange1( &
    & obj, &
    & quad, &
    & refelem, &
    & baseContinuity, &
    & baseInterpolation, &
    & order,  &
    & ipType, &
    & basisType, &
    & coeff,  &
    & firstCall,  &
    & alpha, &
    & beta, &
    & lambda)
    CLASS(ElemshapeData_), INTENT(INOUT) :: obj
    CLASS(QuadraturePoint_), INTENT(IN) :: quad
    CLASS(ReferenceElement_), INTENT(IN) :: refelem
    CLASS(H1_), INTENT(IN) :: baseContinuity
    CLASS(LagrangeInterpolation_), INTENT(IN) :: baseInterpolation
    INTEGER(I4B), INTENT(IN) :: order
    INTEGER(I4B), OPTIONAL, INTENT(IN) :: ipType
    !! Interpolation point type
    !! Default value is Equidistance
    INTEGER(I4B), OPTIONAL, INTENT(IN) :: basisType
    !! Basis function types
    !! Default value is Monomial
    REAL(DFP), OPTIONAL, ALLOCATABLE, INTENT(INOUT) :: coeff(:, :)
    !! Coefficient of Lagrange polynomials
    LOGICAL(LGT), OPTIONAL :: firstCall
    !! If firstCall is true, then coeff will be made
    !! If firstCall is False, then coeff will be used
    !! Default value of firstCall is True
    REAL(DFP), OPTIONAL, INTENT(IN) :: alpha, beta, lambda
  END SUBROUTINE H1_Lagrange1
END INTERFACE Initiate
  • H1_Hierarchy1
  • H1_Orthogonal1

We need following interfaces for H1_Hierarchy and H1_Orthogonal too.

INTERFACE Initiate
  MODULE SUBROUTINE H1_Hierarchy2( &
    & obj, &
    & quad, &
    & refelem, &
    & baseContinuity, &
    & baseInterpolation, &
    & cellOrder,  &
    & faceOrder,  &
    & edgeOrder,  &
    & ipType, &
    & basisType, &
    & coeff,  &
    & firstCall,  &
    & alpha, &
    & beta, &
    & lambda)
    CLASS(ElemshapeData_), INTENT(INOUT) :: obj
    CLASS(QuadraturePoint_), INTENT(IN) :: quad
    CLASS(ReferenceElement_), INTENT(IN) :: refelem
    CLASS(H1_), INTENT(IN) :: baseContinuity
    CLASS(LagrangeInterpolation_), INTENT(IN) :: baseInterpolation
    INTEGER(I4B), INTENT(IN) :: cellOrder(:)
    INTEGER(I4B), INTENT(IN) :: faceOrder(:)
    INTEGER(I4B), INTENT(IN) :: edgeOrder(:)
    INTEGER(I4B), OPTIONAL, INTENT(IN) :: ipType
    !! Interpolation point type
    !! Default value is Equidistance
    INTEGER(I4B), OPTIONAL, INTENT(IN) :: basisType
    !! Basis function types
    !! Default value is Monomial
    REAL(DFP), OPTIONAL, ALLOCATABLE, INTENT(INOUT) :: coeff(:, :)
    !! Coefficient of Lagrange polynomials
    LOGICAL(LGT), OPTIONAL :: firstCall
    !! If firstCall is true, then coeff will be made
    !! If firstCall is False, then coeff will be used
    !! Default value of firstCall is True
    REAL(DFP), OPTIONAL, INTENT(IN) :: alpha, beta, lambda
  END SUBROUTINE H1_Hierarchy2
END INTERFACE Initiate
  • The same is true for H1_Orthogonal2.
  • For line elements only cellOrder is used.
  • For surface elements only cellOrder and faceOrder is used.
  • For volume elements all cellOrder, faceOrder, and edgeOrder are used.
@vickysharma0812 vickysharma0812 self-assigned this Sep 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant