module_analytic_circular_orbit.f90 Source File


This file depends on

sourcefile~~module_analytic_circular_orbit.f90~~EfferentGraph sourcefile~module_analytic_circular_orbit.f90 module_analytic_circular_orbit.f90 sourcefile~module_kinds.f90 module_kinds.f90 sourcefile~module_analytic_circular_orbit.f90->sourcefile~module_kinds.f90 sourcefile~module_equations.f90 module_equations.f90 sourcefile~module_analytic_circular_orbit.f90->sourcefile~module_equations.f90 sourcefile~module_equations.f90->sourcefile~module_kinds.f90

Files dependent on this one

sourcefile~~module_analytic_circular_orbit.f90~~AfferentGraph sourcefile~module_analytic_circular_orbit.f90 module_analytic_circular_orbit.f90 sourcefile~submodule_analytic_circular_orbit_implementation.f90 submodule_analytic_circular_orbit_implementation.f90 sourcefile~submodule_analytic_circular_orbit_implementation.f90->sourcefile~module_analytic_circular_orbit.f90 sourcefile~test.f90 test.f90 sourcefile~test.f90->sourcefile~module_analytic_circular_orbit.f90

Contents


Source Code

module analytic_circular_orbit

  use kinds
  use equations

  implicit none

  type, extends(equation) :: circular_orbit
    real(wp) :: r
    real(wp) :: omega
    real(wp) :: amp
    real(wp) :: sigma
    real(wp) :: t0
    real(wp) :: En
    real(wp) :: Lz
    real(wp) :: chiomega
    real(wp) :: phi_initial
    integer(ip) :: io_id
  contains
    procedure :: init => co_init
    procedure :: rhs => co_rhs
    procedure :: set_to_zero => co_set_to_zero
    procedure :: update_vars => co_update_vars
    procedure :: save_globals_1 => co_save_globals_1
    procedure :: save_globals_2 => co_save_globals_2
    procedure :: load_globals => co_load_globals
    procedure :: output => co_output
    procedure :: print_data => co_print_data
  end type circular_orbit

  interface
    module subroutine co_init ( this )
      class(circular_orbit), target, intent(inout) :: this
    end subroutine co_init

    module subroutine co_rhs ( this )
      class(circular_orbit), intent(inout) :: this
    end subroutine co_rhs

    module subroutine co_set_to_zero ( this, dest )
      class(circular_orbit), intent(inout) :: this
      integer(ip), intent(in) :: dest
    end subroutine co_set_to_zero

    module subroutine co_update_vars ( this, source, dest, source2, &
                                              scalar, scalar2 )
      class(circular_orbit), target, intent(inout) :: this
      integer(ip), intent(in) :: source, dest
      integer(ip), optional, intent(in) :: source2
      real(wp), optional, intent(in) :: scalar, scalar2
    end subroutine co_update_vars

    module subroutine co_save_globals_1 ( this )
      class(circular_orbit), intent(inout) :: this
    end subroutine co_save_globals_1

    module subroutine co_save_globals_2 ( this )
      class(circular_orbit), intent(inout) :: this
    end subroutine co_save_globals_2

    module subroutine co_load_globals ( this )
      class(circular_orbit), intent(inout) :: this
    end subroutine co_load_globals 

    module subroutine co_output ( this )
      class(circular_orbit), intent(inout) :: this
    end subroutine co_output 

    module subroutine co_print_data ( this )
      class(circular_orbit), intent(inout) :: this
    end subroutine co_print_data

  end interface

end module analytic_circular_orbit