SimulatorClass Module



Contents


Derived Types

type, public :: Simulator_

Components

TypeVisibility AttributesNameInitial
type(DiffusionEq_), public, allocatable:: DiffusionEq_Array(:)
type(FiniteDeform_), public, allocatable:: FiniteDeform_Array(:)
type(MultiPhysics_), public, allocatable:: MultiPhysics_Array(:)
type(ContactMechanics_), public, allocatable:: ContactMechanics_Array(:)

Type-Bound Procedures

procedure, public :: Deploy => DeploySimulator
procedure, public :: SetTime => SetSimulatorTime
procedure, public :: Run => RunSimulation
procedure, public :: Display => DisplaySimulation

Subroutines

public subroutine Simulator(world, OptionalStep, OptionalTime, SolverType)

Arguments

Type IntentOptional AttributesName
class(Field_), intent(inout), target:: world
integer(kind=int32), intent(in) :: OptionalStep
real(kind=real64), intent(in) :: OptionalTime
character(len=*), intent(in), optional :: SolverType

public subroutine RunSimulation(sim, field, step, SolverType)

Arguments

Type IntentOptional AttributesName
class(Simulator_), intent(inout) :: sim
type(Field_), intent(inout), target:: field
integer(kind=int32), intent(in) :: step
character(len=*), intent(in), optional :: SolverType

public subroutine InitializeSimulator(sim, field)

Arguments

Type IntentOptional AttributesName
type(Simulator_), intent(inout) :: sim
type(Field_), intent(inout) :: field

public subroutine DeploySimulator(sim, field)

Arguments

Type IntentOptional AttributesName
class(Simulator_), intent(inout) :: sim
type(Field_), intent(inout), target:: field

public subroutine DisplaySimulation(sim, field, step)

Arguments

Type IntentOptional AttributesName
class(Simulator_), intent(inout) :: sim
type(Field_), intent(inout), target:: field
integer(kind=int32), intent(in) :: step

public subroutine SetSimulatorTime(sim, field, time, step)

Arguments

Type IntentOptional AttributesName
class(Simulator_), intent(inout) :: sim
type(Field_), intent(inout), target:: field
real(kind=real64), intent(in) :: time
integer(kind=int32), intent(in) :: step