ContactDiffusionClass.f90 Source File


Contents


Source Code

module ContactDiffusionClass

    use, intrinsic :: iso_fortran_env
	use MathClass
    use FEMIfaceClass
	use FEMDomainClass
	use FiniteDeformationClass
    
    implicit none

    type :: ContactDiffusion_
		! Modern 
		type(FEMDomainp_),allocatable :: FEMDomains(:)
		type(LinearSolver_) :: solver
		integer(int32),allocatable :: contactlist(:,:)
		real(real64),allocatable :: YoungModulus(:)
		real(real64),allocatable :: PoissonRatio(:)
		real(real64),allocatable :: Density(:)

		real(real64),allocatable :: YoungModulusList(:,:)
		real(real64),allocatable :: PoissonRatioList(:,:)
		real(real64),allocatable :: DensityList(:,:)

		logical :: initialized = .false.

		real(real64) :: gravity(1:3) =[0.0d0, 0.0d0, -9.810d0]
		
		real(real64) :: penalty = 100000.0d0
    contains
        procedure :: Init			=> InitializeContactDiffusion
        procedure :: setup 			=> runContactDiffusion
        procedure :: fix 			=> fixContactDiffusion
        procedure :: solve 			=> solveContactDiffusion
    end type
contains



! ###############################################################
subroutine InitializeContactDiffusion(obj)
    class(ContactDiffusion_),intent(inout) :: obj

end subroutine
! ###############################################################

! ###############################################################
subroutine runContactDiffusion(obj)
    class(ContactDiffusion_),intent(inout) :: obj

end subroutine
! ###############################################################

! ###############################################################
subroutine fixContactDiffusion(obj)
    class(ContactDiffusion_),intent(inout) :: obj

end subroutine
! ###############################################################

! ###############################################################
subroutine solveContactDiffusion(obj)
    class(ContactDiffusion_),intent(inout) :: obj

end subroutine
! ###############################################################

end module ContactDiffusionClass