Skip to content

Body force and Surface force in Kernels #329

@vickysharma0812

Description

@vickysharma0812

Body force

SUBROUTINE KernelAssembleBodyForce1(rhs, dom, bodyFunc, cellFE,  &
  & linCellFE, spaceElemSD, linSpaceElemSD, reset, scale)
  CLASS(VectorField_), INTENT(INOUT) :: rhs
  CLASS(Domain_), INTENT(INOUT) :: dom
  CLASS(UserFunction_), INTENT(INOUT) :: bodyFunc
  TYPE(FiniteElementPointer_), INTENT(INOUT) :: cellFE(:)
  TYPE(FiniteElementPointer_), INTENT(INOUT) :: linCellFE(:)
  TYPE(ElemShapeData_), INTENT(INOUT) :: spaceElemSD(:)
  TYPE(ElemShapeData_), INTENT(INOUT) :: linSpaceElemSD(:)
  LOGICAL(LGT), INTENT(IN) :: reset
  REAL(DFP), INTENT(IN) :: scale

In this method we need following improvements.

  • Change the name of bodyFunc to func
  • Add times argument to evaluate the body force at a given time when func is time dependent

Surface force

SUBROUTINE KernelAssembleSurfaceForce1(rhs, dom, nbcPtrs, func, fe,  &
  & linFE, spaceElemSD, linSpaceElemSD, reset, scale, timeVec)
  CLASS(VectorField_), INTENT(INOUT) :: rhs
  CLASS(Domain_), INTENT(INOUT) :: dom
  TYPE(NeumannBCPointer_), INTENT(INOUT) :: nbcPtrs(:)
  CLASS(UserFunction_), INTENT(INOUT) :: func
  TYPE(FiniteElementPointer_), INTENT(INOUT) :: fe(:)
  TYPE(FiniteElementPointer_), INTENT(INOUT) :: linFE(:)
  TYPE(ElemShapeData_), INTENT(INOUT) :: spaceElemSD(:)
  TYPE(ElemShapeData_), INTENT(INOUT) :: linSpaceElemSD(:)
  LOGICAL(LGT), INTENT(IN) :: reset
  REAL(DFP), INTENT(IN) :: scale
  REAL(DFP), INTENT(IN) :: timeVec(:)
  • Add times argument
  • Add feature for tangential and normal forces

Add Line force

  • TODO

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions