setup_simulation Subroutine

public subroutine setup_simulation(sdfarray, dict)

Read in parameters Setup up various simulation parameters and routines

Arguments

Type IntentOptional Attributes Name
type(sdf), intent(out), allocatable :: sdfarray(:)

output array of geometry

type(toml_table), intent(inout), optional :: dict

dictionary used to store metadata


Source Code

        subroutine setup_simulation(sdfarray, dict)
        !! Read in parameters
        !! Setup up various simulation parameters and routines

            use sdfs,          only : sdf
            use setupGeometry
            use sim_state_mod, only : settings => state
            use vector_class
            
            !> dictionary used to store metadata
            type(toml_table), optional, intent(INOUT) :: dict
            !> output array of geometry
            type(sdf), allocatable,     intent(OUT)   :: sdfarray(:)

            !allocate and set arrays to 0
            call alloc_array(settings%grid%nxg, settings%grid%nyg, settings%grid%nzg)
            call zarray()

            ! setup geometry using SDFs
            select case(settings%experiment)
                case("logo")
                    sdfarray = setup_logo()
                case("omg")
                    sdfarray = setup_omg_sdf()
                case("scat_test")
                    sdfarray = setup_scat_test(dict)
                case("scat_test2")
                    sdfarray = setup_scat_test2(dict)
                case("aptran")
                    sdfarray = setup_sphere()
                case("vessels")
                    sdfarray = get_vessels()
                case("sphere_scene")
                    sdfarray = setup_sphere_scene(dict)
                case("test_egg")
                    sdfarray = setup_egg()
                case default
                    error stop "no such routine"
            end select

        end subroutine setup_simulation