m_MEF90_HeatXferAssembly3D Module


Uses


Subroutines

public subroutine MEF90HeatXFerEnergy(MEF90HeatXferCtx, energy, bodyWork, surfaceWork, ierr)

Author
Blaise Bourdin (2012-14, bourdin@lsu.edu) Blaise Bourdin (2022, bourdin@mcmaster.ca)

MEF90HeatXFerEnergy:

Arguments

Type IntentOptional Attributes Name
type(MEF90HeatXfer_Type), intent(in) :: MEF90HeatXferCtx
real(kind=C_DOUBLE), dimension(:), pointer :: energy
real(kind=C_DOUBLE), dimension(:), pointer :: bodyWork
real(kind=C_DOUBLE), dimension(:), pointer :: surfaceWork
integer(kind=C_INT32_T), intent(inout) :: ierr

public subroutine MEF90HeatXFerIFunction(tempTS, time, x, xdot, F, MEF90HeatXferCtx, ierr)

Author
Blaise Bourdin (2014, bourdin@lsu.edu) Blaise Bourdin (2022, bourdin@mcmaster.ca) Alexis Marboeuf (2022, marboeua@mcmaster.ca)

MEF90HeatXFerIFunction:

Arguments

Type IntentOptional Attributes Name
type(tTS), intent(in) :: tempTS
real(kind=C_DOUBLE), intent(in) :: time
type(tVec), intent(in) :: x
type(tVec), intent(in) :: xdot
type(tVec), intent(inout) :: F
type(MEF90HeatXfer_Type), intent(in) :: MEF90HeatXferCtx
integer(kind=C_INT32_T), intent(inout) :: ierr

public subroutine MEF90HeatXferBilinearForm(snesTemp, x, A, M, MEF90HeatXferCtx, ierr)

Author
Blaise Bourdin (2012-14, bourdin@lsu.edu) Blaise Bourdin (2022, bourdin@mcmaster.ca) Alexis Marboeuf (2022, marboeua@mcmaster.ca)

MEF90HeatXferBilinearForm:

Arguments

Type IntentOptional Attributes Name
type(tSNES), intent(in) :: snesTemp
type(tVec), intent(in) :: x
type(tMat), intent(inout) :: A
type(tMat), intent(inout) :: M
type(MEF90HeatXfer_Type), intent(in) :: MEF90HeatXferCtx
integer(kind=C_INT32_T), intent(inout) :: ierr

public subroutine MEF90HeatXferIJacobian(tempTS, t, x, xdot, shift, A, M, MEF90HeatXferCtx, ierr)

Author
Blaise Bourdin (2014, bourdin@lsu.edu) Blaise Bourdin (2022, bourdin@mcmaster.ca) Alexis Marboeuf (2022, marboeua@mcmaster.ca)

MEF90HeatXferIJacobian:

Arguments

Type IntentOptional Attributes Name
type(tTS), intent(in) :: tempTS
real(kind=C_DOUBLE), intent(in) :: t
type(tVec), intent(in) :: x
type(tVec), intent(in) :: xdot
real(kind=C_DOUBLE), intent(in) :: shift
type(tMat), intent(inout) :: A
type(tMat), intent(inout) :: M
type(MEF90HeatXfer_Type), intent(in) :: MEF90HeatXferCtx
integer(kind=C_INT32_T), intent(inout) :: ierr

public subroutine MEF90HeatXferOperator(snesTemp, x, residual, MEF90HeatXferCtx, ierr)

Author
Blaise Bourdin (2012-14, bourdin@lsu.edu) Blaise Bourdin (2022, bourdin@mcmaster.ca) Alexis Marboeuf (2022, marboeua@mcmaster.ca)

MEF90HeatXferOperator: Build the operator. When called in type(tSNES), the solution time should always match the target time, so there is no need for interpolation of the fluxes, external, and boundary values

Arguments

Type IntentOptional Attributes Name
type(tSNES), intent(in) :: snesTemp
type(tVec), intent(in) :: x
type(tVec), intent(inout) :: residual
type(MEF90HeatXfer_Type), intent(in) :: MEF90HeatXferCtx
integer(kind=C_INT32_T), intent(inout) :: ierr