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
102 changes: 25 additions & 77 deletions src/modules/STScalarField/src/STScalarField_Class.F90
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ MODULE STScalarField_Class
PUBLIC :: STScalarField_
PUBLIC :: STScalarFieldPointer_
PUBLIC :: SetSTScalarFieldParam
PUBLIC :: stsField_checkEssentialParam
PUBLIC :: stsField_CheckEssentialParam
PUBLIC :: STScalarFieldInitiate1
PUBLIC :: STScalarFieldInitiate2
PUBLIC :: STScalarFieldDeallocate
Expand Down Expand Up @@ -134,10 +134,10 @@ MODULE STScalarField_Class

! SET:
! @DirichletBCMethods
PROCEDURE, PASS(obj) :: stsField_applyDirichletBC1
PROCEDURE, PASS(obj) :: stsField_applyDirichletBC2
GENERIC, PUBLIC :: applyDirichletBC => stsField_applyDirichletBC1, &
& stsField_applyDirichletBC2
PROCEDURE, PASS(obj) :: stsField_ApplyDirichletBC1
PROCEDURE, PASS(obj) :: stsField_ApplyDirichletBC2
GENERIC, PUBLIC :: ApplyDirichletBC => stsField_ApplyDirichletBC1, &
& stsField_ApplyDirichletBC2
!! Get the entries of STScalar field

END TYPE STScalarField_
Expand Down Expand Up @@ -180,50 +180,25 @@ END SUBROUTINE SetSTScalarFieldParam
END INTERFACE

!----------------------------------------------------------------------------
! checkEssentialParam@Constructor
! CheckEssentialParam@Constructor
!----------------------------------------------------------------------------

!> authors: Vikas Sharma, Ph. D.
! date: 25 June 2021
! summary: This routine check the essential parameters in param.
! summary: This routine Check the essential parameters in param.
!
!# Introduction
! This routine check the essential parameters required to the initiate the
! This routine Check the essential parameters required to the initiate the
! [[STScalarField_]] data type. We need following parameters
!
! - CHARACTER( * ) :: name
! - INTEGER( I4B ) :: tdof

INTERFACE
MODULE SUBROUTINE stsField_checkEssentialParam(obj, param)
MODULE SUBROUTINE stsField_CheckEssentialParam(obj, param)
CLASS(STScalarField_), INTENT(IN) :: obj
TYPE(ParameterList_), INTENT(IN) :: param
END SUBROUTINE stsField_checkEssentialParam
END INTERFACE

!----------------------------------------------------------------------------
! Initiate@Constructor
!----------------------------------------------------------------------------

!> authors: Vikas Sharma, Ph. D.
! date: 25 June 2021
! summary: This subroutine initiates the STScalarField_ object
!
!# Introduction
! This routine initiate the STScalar field object.
! `param` contains the information of parameters required to initiate the
! STScalar. There are essential and optional information.
! Essential information are described below.
! - `name` character defining the name of STScalar field
! - `timeCompo` is the total degree of freedom or components
! - `fieldType` type of field type; FIELD_TYPE_CONSTANT, FIELD_TYPE_NORMAL

INTERFACE
MODULE SUBROUTINE stsField_Initiate1_old(obj, param, dom)
CLASS(STScalarField_), INTENT(INOUT) :: obj
TYPE(ParameterList_), INTENT(IN) :: param
TYPE(Domain_), TARGET, INTENT(IN) :: dom
END SUBROUTINE stsField_Initiate1_old
END SUBROUTINE stsField_CheckEssentialParam
END INTERFACE

!----------------------------------------------------------------------------
Expand Down Expand Up @@ -259,7 +234,7 @@ END SUBROUTINE stsField_Initiate1
! date: 2023-03-29
! summary: Initiate2

INTERFACE
INTERFACE STScalarFieldInitiate2
MODULE SUBROUTINE stsField_Initiate2(obj, obj2, copyFull, copyStructure, &
& usePointer)
CLASS(STScalarField_), INTENT(INOUT) :: obj
Expand All @@ -269,10 +244,6 @@ MODULE SUBROUTINE stsField_Initiate2(obj, obj2, copyFull, copyStructure, &
LOGICAL(LGT), OPTIONAL, INTENT(IN) :: copyStructure
LOGICAL(LGT), OPTIONAL, INTENT(IN) :: usePointer
END SUBROUTINE stsField_Initiate2
END INTERFACE

INTERFACE STScalarFieldInitiate2
MODULE PROCEDURE stsField_Initiate2
END INTERFACE STScalarFieldInitiate2

!----------------------------------------------------------------------------
Expand All @@ -283,14 +254,10 @@ END SUBROUTINE stsField_Initiate2
! date: 25 June 2021
! summary: This routine deallocates the data stored inside the STScalarField_ obj

INTERFACE
INTERFACE STScalarFieldDeallocate
MODULE SUBROUTINE stsField_Deallocate(obj)
CLASS(STScalarField_), INTENT(INOUT) :: obj
END SUBROUTINE stsField_Deallocate
END INTERFACE

INTERFACE STScalarFieldDeallocate
MODULE PROCEDURE stsField_Deallocate
END INTERFACE STScalarFieldDeallocate

!----------------------------------------------------------------------------
Expand All @@ -311,16 +278,12 @@ END SUBROUTINE stsField_Final
! date: 25 June 2021
! summary: This function returns an instance of [[STScalarField_]]

INTERFACE
INTERFACE STScalarField
MODULE FUNCTION stsField_Constructor1(param, dom) RESULT(Ans)
TYPE(ParameterList_), INTENT(IN) :: param
TYPE(Domain_), TARGET, INTENT(IN) :: dom
TYPE(STScalarField_) :: ans
END FUNCTION stsField_Constructor1
END INTERFACE

INTERFACE STScalarField
MODULE PROCEDURE stsField_Constructor1
END INTERFACE STScalarField

!----------------------------------------------------------------------------
Expand All @@ -331,16 +294,12 @@ END FUNCTION stsField_Constructor1
! date: 25 June 2021
! summary: This function returns an instance of [[STScalarField_]]

INTERFACE
INTERFACE STScalarField_Pointer
MODULE FUNCTION stsField_Constructor_1(param, dom) RESULT(Ans)
TYPE(ParameterList_), INTENT(IN) :: param
TYPE(Domain_), TARGET, INTENT(IN) :: dom
CLASS(STScalarField_), POINTER :: ans
END FUNCTION stsField_Constructor_1
END INTERFACE

INTERFACE STScalarField_Pointer
MODULE PROCEDURE stsField_Constructor_1
END INTERFACE STScalarField_Pointer

!----------------------------------------------------------------------------
Expand All @@ -351,16 +310,12 @@ END FUNCTION stsField_Constructor_1
! date: 26 June 2021
! summary: Display the content of [[STScalarField_]]

INTERFACE
INTERFACE STScalarFieldDisplay
MODULE SUBROUTINE stsField_Display(obj, msg, unitNo)
CLASS(STScalarField_), INTENT(INOUT) :: obj
CHARACTER(*), INTENT(IN) :: msg
INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitNo
END SUBROUTINE stsField_Display
END INTERFACE

INTERFACE STScalarFieldDisplay
MODULE PROCEDURE stsField_Display
END INTERFACE STScalarFieldDisplay

!----------------------------------------------------------------------------
Expand All @@ -371,18 +326,14 @@ END SUBROUTINE stsField_Display
! date: 16 July 2021
! summary: This routine Imports the content

INTERFACE
INTERFACE STScalarFieldImport
MODULE SUBROUTINE stsField_Import(obj, hdf5, group, dom, domains)
CLASS(STScalarField_), INTENT(INOUT) :: obj
TYPE(HDF5File_), INTENT(INOUT) :: hdf5
CHARACTER(*), INTENT(IN) :: group
TYPE(Domain_), TARGET, OPTIONAL, INTENT(IN) :: dom
TYPE(DomainPointer_), TARGET, OPTIONAL, INTENT(IN) :: domains(:)
END SUBROUTINE stsField_Import
END INTERFACE

INTERFACE STScalarFieldImport
MODULE PROCEDURE stsField_Import
END INTERFACE STScalarFieldImport

!----------------------------------------------------------------------------
Expand All @@ -393,16 +344,12 @@ END SUBROUTINE stsField_Import
! date: 16 July 2021
! summary: This routine Exports the content

INTERFACE
INTERFACE STScalarFieldExport
MODULE SUBROUTINE stsField_Export(obj, hdf5, group)
CLASS(STScalarField_), INTENT(INOUT) :: obj
TYPE(HDF5File_), INTENT(INOUT) :: hdf5
CHARACTER(*), INTENT(IN) :: group
END SUBROUTINE stsField_Export
END INTERFACE

INTERFACE STScalarFieldExport
MODULE PROCEDURE stsField_Export
END INTERFACE STScalarFieldExport

!----------------------------------------------------------------------------
Expand Down Expand Up @@ -1030,7 +977,8 @@ END SUBROUTINE stsField_Get9
! summary: Get values

INTERFACE
MODULE SUBROUTINE stsField_Get10(obj, ivar, idof, VALUE, ivar_value, idof_value)
MODULE SUBROUTINE stsField_Get10(obj, ivar, idof, VALUE, ivar_value, &
& idof_value)
CLASS(STScalarField_), INTENT(IN) :: obj
CLASS(AbstractNodeField_), INTENT(INOUT) :: VALUE
INTEGER(I4B), INTENT(IN) :: ivar
Expand Down Expand Up @@ -1059,33 +1007,33 @@ END SUBROUTINE stsField_GetFeVariable
END INTERFACE STScalarFieldGetFEVariable

!----------------------------------------------------------------------------
! applyDirichletBC@DBCMethods
! ApplyDirichletBC@DBCMethods
!----------------------------------------------------------------------------

!> authors: Vikas Sharma, Ph. D.
! date: 22 Jan 2021
! summary: Apply Dirichlet boundary condition

INTERFACE
MODULE SUBROUTINE stsField_applyDirichletBC1(obj, dbc)
MODULE SUBROUTINE stsField_ApplyDirichletBC1(obj, dbc)
CLASS(STScalarField_), INTENT(INOUT) :: obj
CLASS(DirichletBC_), INTENT(IN) :: dbc
END SUBROUTINE stsField_applyDirichletBC1
END SUBROUTINE stsField_ApplyDirichletBC1
END INTERFACE

!----------------------------------------------------------------------------
! applyDirichletBC@DBCMethods
! ApplyDirichletBC@DBCMethods
!----------------------------------------------------------------------------

!> authors: Vikas Sharma, Ph. D.
! date: 22 Jan 2021
! summary: Apply Dirichlet boundary condition

INTERFACE
MODULE SUBROUTINE stsField_applyDirichletBC2(obj, dbc)
MODULE SUBROUTINE stsField_ApplyDirichletBC2(obj, dbc)
CLASS(STScalarField_), INTENT(INOUT) :: obj
CLASS(DirichletBCPointer_), INTENT(IN) :: dbc(:)
END SUBROUTINE stsField_applyDirichletBC2
END SUBROUTINE stsField_ApplyDirichletBC2
END INTERFACE

!----------------------------------------------------------------------------
Expand Down
Loading