ContactDiffusionClass Module



Contents


Derived Types

type, public :: ContactDiffusion_

Components

TypeVisibility AttributesNameInitial
type(FEMDomainp_), public, allocatable:: FEMDomains(:)
type(LinearSolver_), public :: solver
integer(kind=int32), public, allocatable:: contactlist(:,:)
real(kind=real64), public, allocatable:: YoungModulus(:)
real(kind=real64), public, allocatable:: PoissonRatio(:)
real(kind=real64), public, allocatable:: Density(:)
real(kind=real64), public, allocatable:: YoungModulusList(:,:)
real(kind=real64), public, allocatable:: PoissonRatioList(:,:)
real(kind=real64), public, allocatable:: DensityList(:,:)
logical, public :: initialized =.false.
real(kind=real64), public :: gravity(1:3) =[0.0d0, 0.0d0, -9.810d0]
real(kind=real64), public :: penalty =100000.0d0

Type-Bound Procedures

procedure, public :: Init => InitializeContactDiffusion
procedure, public :: setup => runContactDiffusion
procedure, public :: fix => fixContactDiffusion
procedure, public :: solve => solveContactDiffusion

Subroutines

public subroutine InitializeContactDiffusion(obj)

Arguments

Type IntentOptional AttributesName
class(ContactDiffusion_), intent(inout) :: obj

public subroutine runContactDiffusion(obj)

Arguments

Type IntentOptional AttributesName
class(ContactDiffusion_), intent(inout) :: obj

public subroutine fixContactDiffusion(obj)

Arguments

Type IntentOptional AttributesName
class(ContactDiffusion_), intent(inout) :: obj

public subroutine solveContactDiffusion(obj)

Arguments

Type IntentOptional AttributesName
class(ContactDiffusion_), intent(inout) :: obj