leapSolver Module

Module of abstract objets defining Lagrangian data structure


Uses

  • module~~leapsolver~~UsesGraph module~leapsolver leapSolver module~leapkinds leapKinds module~leapsolver->module~leapkinds module~leapparallel leapParallel module~leapsolver->module~leapparallel module~leapparser leapParser module~leapsolver->module~leapparser module~leaptimer leapTimer module~leapsolver->module~leaptimer iso_fortran_env iso_fortran_env module~leapkinds->iso_fortran_env module~leapparallel->module~leapkinds module~leapparallel->module~leapparser mpi_f08 mpi_f08 module~leapparallel->mpi_f08 module~leapparser->module~leapkinds module~leapcli leapCli module~leapparser->module~leapcli module~leaptimer->module~leapkinds module~leaptimer->module~leapparser module~leapcli->module~leapkinds

Used by

  • module~~leapsolver~~UsedByGraph module~leapsolver leapSolver module~cdifs cdifs module~cdifs->module~leapsolver module~grans grans module~grans->module~leapsolver program~main main program~main->module~leapsolver program~main->module~cdifs program~main->module~grans module~cdifs_advancesolution_smod cdifs_AdvanceSolution_smod module~cdifs_advancesolution_smod->module~cdifs module~cdifs_monitor_smod cdifs_Monitor_smod module~cdifs_monitor_smod->module~cdifs module~cdifs_preparesolver_smod cdifs_PrepareSolver_smod module~cdifs_preparesolver_smod->module~cdifs module~cdifs_writeoutputdata_smod cdifs_WriteOutputData_smod module~cdifs_writeoutputdata_smod->module~cdifs module~cdifs_writerestartdata_smod cdifs_WriteRestartData_smod module~cdifs_writerestartdata_smod->module~cdifs module~grans_advancesolution_smod grans_AdvanceSolution_smod module~grans_advancesolution_smod->module~grans module~grans_module_smod grans_module_smod module~grans_module_smod->module~grans module~grans_preparesolver_smod grans_PrepareSolver_smod module~grans_preparesolver_smod->module~grans module~grans_writeoutputdata_smod grans_WriteOutputData_smod module~grans_writeoutputdata_smod->module~grans module~grans_writerestartdata_smod grans_WriteRestartData_smod module~grans_writerestartdata_smod->module~grans

Abstract Interfaces

abstract interface

  • private subroutine solver_advance(this)

    Advance solution from t to t+dt

    Arguments

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

    A LEAP solver

abstract interface

  • private subroutine solver_finalize(this)

    Finalize solver

    Arguments

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

    A LEAP solver

abstract interface

  • private subroutine solver_inicond(this)

    Set initial conditions at n=0

    Arguments

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

    A LEAP solver

abstract interface

  • private subroutine solver_initialize(this, timer, parallel, parser)

    Initialize solver

    Arguments

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

    A LEAP solver

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

    Timer utility

    type(parallel_obj), intent(in), target :: parallel

    Parallel machinery

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

    Parser for input file

abstract interface

  • private subroutine solver_monitor(this)

    Compute and write monitored values

    Arguments

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

    A LEAP solver

abstract interface

  • private subroutine solver_output(this)

    Write single precision data needed for visualizations

    Arguments

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

    A LEAP solver

abstract interface

  • private subroutine solver_prepare(this)

    Prepare data before run

    Arguments

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

    A LEAP solver

abstract interface

  • private subroutine solver_restart(this)

    Write simulation data to disk required for restarts

    Arguments

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

    A LEAP solver


Derived Types

type, public, abstract ::  solver_obj

Base solver object

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: name

Name of this solver

type(parallel_obj), public, pointer :: parallel => null()

Associated parallel structure

type(parser_obj), public, pointer :: parser => null()

Associated parser

type(timer_obj), public, pointer :: timer => null()

Associated timer

Type-Bound Procedures

procedure(solver_advance), public, deferred :: AdvanceSolution
procedure(solver_finalize), public, deferred :: Finalize
procedure(solver_initialize), public, deferred :: Initialize
procedure(solver_monitor), public, deferred :: Monitor
procedure(solver_prepare), public, deferred :: PrepareSolver
procedure(solver_inicond), public, deferred :: SetInitialConditions
procedure(solver_output), public, deferred :: WriteOutputData
procedure(solver_restart), public, deferred :: WriteRestartData