2008-11-05 22:16:24 -06:00
!!*****************************************************************************
2008-11-04 13:08:01 -06:00
!!
!! program: Godunov-AMR
!!
!! Copyright (C) 2008 Grzegorz Kowal <kowal@astro.wisc.edu>
!!
2008-11-05 22:16:24 -06:00
!!*****************************************************************************
2008-11-04 13:08:01 -06:00
!!
!! This file is part of Godunov-AMR.
!!
!! Godunov-AMR is free software; you can redistribute it and/or modify
!! it under the terms of the GNU General Public License as published by
!! the Free Software Foundation; either version 3 of the License, or
!! (at your option) any later version.
!!
!! Godunov-AMR is distributed in the hope that it will be useful,
!! but WITHOUT ANY WARRANTY; without even the implied warranty of
!! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
!! GNU General Public License for more details.
!!
!! You should have received a copy of the GNU General Public License
!! along with this program. If not, see <http://www.gnu.org/licenses/>.
!!
2008-11-05 22:16:24 -06:00
!!*****************************************************************************
2008-11-04 13:08:01 -06:00
!!
!
program godunov
2008-11-04 21:00:50 -06:00
! modules
!
2008-11-05 22:16:24 -06:00
use config , only : read_config
2008-11-29 22:22:19 -06:00
use io , only : write_data
2008-11-11 16:12:26 -06:00
use mesh , only : init_mesh , clear_mesh
2008-11-04 13:08:01 -06:00
!
!----------------------------------------------------------------------
!
! local variables
!
!
!----------------------------------------------------------------------
2008-11-04 21:00:50 -06:00
!
! print info message
2008-11-04 13:08:01 -06:00
!
write ( * , "(1x,78('-'))" )
write ( * , "(1x,18('='),4x,a,4x,19('='))" ) ' Godunov-AMR algorithm '
write ( * , "(1x,18('='),4x,a,4x,19('='))" ) 'Copyright (C) 2008 Grzegorz Kowal'
write ( * , "(1x,78('-'))" )
write ( * , * )
2008-11-05 22:16:24 -06:00
! read configuration file
!
call read_config
2008-11-04 21:00:50 -06:00
! setup adaptive mesh structure, allocate first block, initialize its mesh and variables
!
2008-11-11 16:12:26 -06:00
! initialize adaptive mesh and initial problem
2008-11-04 21:00:50 -06:00
!
2008-11-11 16:12:26 -06:00
call init_mesh
2008-11-04 21:00:50 -06:00
! fill the first block with initial conditions, check refinement, refine if necessary by creating more blocks, this should create the initial structure of domain
!
2008-11-29 22:22:19 -06:00
! write down the initial state
!
call write_data ( 'r' , 0 , 0 )
2008-11-11 16:12:26 -06:00
! deallocate and reset mesh
2008-11-04 21:00:50 -06:00
!
2008-11-11 16:12:26 -06:00
call clear_mesh
2008-11-04 21:00:50 -06:00
2008-11-04 13:08:01 -06:00
!----------------------------------------------------------------------
!
end program