collision_obj_Prepare Subroutine

private impure subroutine collision_obj_Prepare(this, timer, parser, monitors)

Prepares object for use in solvers.

Type Bound

collision_obj

Arguments

Type IntentOptional Attributes Name
class(collision_obj), intent(inout) :: this

Collision utility

type(timer_obj), intent(in), target :: timer

Timer utility

type(parser_obj), intent(in), target :: parser

Parser for input file

type(monitor_set), intent(in), target :: monitors

Monitors to print to stdout and files


Calls

proc~~collision_obj_prepare~~CallsGraph proc~collision_obj_prepare collision_obj%collision_obj_Prepare none~get~4 parser_obj%Get proc~collision_obj_prepare->none~get~4 proc~parser_obj_read0d parser_obj%parser_obj_read0D none~get~4->proc~parser_obj_read0d proc~parser_obj_read1d parser_obj%parser_obj_read1D none~get~4->proc~parser_obj_read1d none~assigndefault parser_obj%AssignDefault proc~parser_obj_read0d->none~assigndefault proc~parser_obj_fetchlabelid parser_obj%parser_obj_FetchLabelID proc~parser_obj_read0d->proc~parser_obj_fetchlabelid proc~parser_obj_read1d->none~assigndefault proc~parser_obj_read1d->proc~parser_obj_fetchlabelid proc~parser_obj_assigndefault0d parser_obj%parser_obj_AssignDefault0D none~assigndefault->proc~parser_obj_assigndefault0d proc~parser_obj_assigndefault1d parser_obj%parser_obj_AssignDefault1D none~assigndefault->proc~parser_obj_assigndefault1d

Called by

proc~~collision_obj_prepare~~CalledByGraph proc~collision_obj_prepare collision_obj%collision_obj_Prepare proc~grans_obj_preparesolvercollision grans_obj_PrepareSolverCollision proc~grans_obj_preparesolvercollision->proc~collision_obj_prepare proc~grans_obj_preparesolver grans_obj_PrepareSolver proc~grans_obj_preparesolver->proc~grans_obj_preparesolvercollision interface~grans_obj_preparesolver grans_obj%grans_obj_PrepareSolver interface~grans_obj_preparesolver->proc~grans_obj_preparesolver

Source Code

    impure subroutine collision_obj_Prepare(this,timer,parser,monitors)
      !> Prepares object for use in solvers.
      implicit none
      class(collision_obj), intent(inout) :: this                              !! Collision utility
      type(timer_obj),      intent(in),    &
                                   target :: timer                             !! Timer utility
      type(parser_obj),     intent(in),    &
                                   target :: parser                            !! Parser for input file
      type(monitor_set),    intent(in),    &
                                   target :: monitors                          !! Monitors to print to stdout and files

      ! Associate pointers
      this%timer    => timer
      this%parser   => parser
      this%monitors => monitors

      ! Get parameters from input file
      call this%parser%Get('Collision time',              this%tcol)
      call this%parser%Get('Dry normal restitution coef', this%edry)
      call this%parser%Get('Coulomb friction coef',       this%muc)

      ! Collisions with walls
      call this%parser%Get('Wall normal direction',       this%wall_dir,    default = 0)
      call this%parser%Get('Wall top position',           this%wall_top,    default = 1e-3_wp*huge(1.0_wp))
      call this%parser%Get('Wall bottom position',        this%wall_bottom, default =-1e-3_wp*huge(1.0_wp))
      if (this%wall_dir.ne.0) this%use_wall = .true.

      return
    end subroutine collision_obj_Prepare