Skip to content
Snippets Groups Projects
read_input_file.f90 56.3 KiB
Newer Older
  • Learn to ignore specific revisions
  •   write(threadinfo%Logunit,'(a32,e11.4)') 'viscositymin ',params%viscositymin
      write(threadinfo%Logunit,'(a32,e11.4)') 'viscositymax ',params%viscositymax
      write(threadinfo%Logunit,'(a32,e11.4)') 'vex ',params%vex
      write(threadinfo%Logunit,'(a32,i4)')    'leveluniform_oct ',params%leveluniform_oct
      write(threadinfo%Logunit,'(a32,i4)')    'levelmax_oct ',params%levelmax_oct
      write(threadinfo%Logunit,'(a32,i4)')    'matrule ',params%matrule
      write(threadinfo%Logunit,'(a32,i4)')    'levelcut ',params%levelcut
      write(threadinfo%Logunit,'(a32,i4)')    'levelapprox ',params%levelapprox
      write(threadinfo%Logunit,'(a32,l1)')    'calculate_temp ',params%calculate_temp
      write(threadinfo%Logunit,'(a32,e11.4)') 'ztemp ',params%ztemp
      write(threadinfo%Logunit,'(a32,i4)')    'smoothing_type ',params%smoothing_type
      write(threadinfo%Logunit,'(a32,l1)')    'normaladvect ',params%normaladvect
      write(threadinfo%Logunit,'(a32,l1)')    'excl_vol ',params%excl_vol
      write(threadinfo%Logunit,'(a32,l1)')    'adaptive_tol ',params%adaptive_tol
      do i=1,params%ns
    
        write(threadinfo%Logunit,'(a,i4,a)')         '---Properties for surface ',i,'---'
        write(threadinfo%Logunit,'(a32,i4,a,i4)')    'surface ',i,'itype ',surface(i)%itype
        write(threadinfo%Logunit,'(a32,i4,a,i4)')    'surface ',i,'material ',surface(i)%material
        write(threadinfo%Logunit,'(a32,i4,a,l1)')    'surface ',i,'rand ',surface(i)%rand
        write(threadinfo%Logunit,'(a32,i4,a,i4)')    'surface ',i,'levelt ',surface(i)%levelt
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'stretch ',surface(i)%stretch
        write(threadinfo%Logunit,'(a32,i4,a,i4)')    'surface ',i,'criterion ',surface(i)%criterion
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'anglemax ',surface(i)%anglemax
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'anglemaxoctree ',surface(i)%anglemaxoctree
        write(threadinfo%Logunit,'(a32,i4,a,i4)')    'surface ',i,'spread_surface_points ',surface(i)%spread_surface_points
        write(threadinfo%Logunit,'(a32,i4,a,i4)')    'surface ',i,'type ',surface(i)%surface_type
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'sp01 ',surface(i)%sp01
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'sp02 ',surface(i)%sp02
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'sp03 ',surface(i)%sp03
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'sp04 ',surface(i)%sp04
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'sp05 ',surface(i)%sp05
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'sp06 ',surface(i)%sp06
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'sp07 ',surface(i)%sp07
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'sp08 ',surface(i)%sp08
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'sp09 ',surface(i)%sp09
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'sp10 ',surface(i)%sp10
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'sp11 ',surface(i)%sp11
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'sp12 ',surface(i)%sp12
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,'activation_time ',surface(i)%activation_time
        write(threadinfo%Logunit,'(a32,i4,a,i4)')    'surface ',i,'leveloct ',surface(i)%leveloct
    
      enddo
      write(threadinfo%Logunit,'(a32,l1)') 'ref_on_faces ',params%ref_on_faces
      if (params%ref_on_faces) then
        do i=1,6
    
          write(threadinfo%Logunit,'(a,i1,a)')    '---Refinement values for face ',i,'---'
    
          write(threadinfo%Logunit,'(a32,i4)')    'cube_faces level ',cube_faces(i)%level
          write(threadinfo%Logunit,'(a32,e11.4)') 'cube_faces l ',cube_faces(i)%l
          write(threadinfo%Logunit,'(a32,e11.4)') 'cube_faces r ',cube_faces(i)%r
          write(threadinfo%Logunit,'(a32,e11.4)') 'cube_faces b ',cube_faces(i)%b
          write(threadinfo%Logunit,'(a32,e11.4)') 'cube_faces t ',cube_faces(i)%t
        enddo
      endif
      write(threadinfo%Logunit,'(a32,i4)') 'noctreemax ',params%noctreemax
      write(threadinfo%Logunit,'(a32,i4)') 'nonlinear_iterations ',params%nonlinear_iterations
      write(threadinfo%Logunit,'(a32,i4)') 'initial_refine_level ',params%initial_refine_level
      write(threadinfo%Logunit,'(a32,e11.4)') 'dt ',params%dt
      write(threadinfo%Logunit,'(a32,e11.4)') 'penalty ',params%penalty
      write(threadinfo%Logunit,'(a32,e11.4)') 'tempscale ',params%tempscale
      write(threadinfo%Logunit,'(a32,e11.4)') 'refine_ratio ',params%refine_ratio
      write(threadinfo%Logunit,'(a32,i4)') 'refine_criterion ',params%refine_criterion
      write(threadinfo%Logunit,'(a32,e11.4)') 'octree_refine_ratio ',params%octree_refine_ratio
      write(threadinfo%Logunit,'(a32,e11.4)') 'courant ',params%courant
      write(threadinfo%Logunit,'(a32,l1)') 'invariants_2d ',params%invariants_2d
      write(threadinfo%Logunit,'(a32,i4)') 'npmin ',params%npmin
      write(threadinfo%Logunit,'(a32,i4)') 'npmax ',params%npmax
      write(threadinfo%Logunit,'(a32,i4)') 'griditer ',params%griditer
      write(threadinfo%Logunit,'(a32,e11.4)') 'tol ',params%tol
      write(threadinfo%Logunit,'(a32,i4)') 'niter_move ',params%niter_move
      write(threadinfo%Logunit,'(a32,l1)') 'ismooth ',params%ismooth
      write(threadinfo%Logunit,'(a32,i4)') 'nb_iter_nl_min ',params%nb_iter_nl_min
      write(threadinfo%Logunit,'(a32,l1)') 'visualise_matrix ',params%visualise_matrix
      write(threadinfo%Logunit,'(a32,l1)') 'renumber_nodes ',params%renumber_nodes
      if (params%nboxes.gt.0) then
        do i=1,params%nboxes
    
          write(threadinfo%Logunit,'(a,i3,a)')    '---Input values for box ',i,'---'
    
          write(threadinfo%Logunit,'(a32,e11.4)') 'box x0 ',boxes(i)%x0
          write(threadinfo%Logunit,'(a32,e11.4)') 'box x1 ',boxes(i)%x1
          write(threadinfo%Logunit,'(a32,e11.4)') 'box y0 ',boxes(i)%y0
          write(threadinfo%Logunit,'(a32,e11.4)') 'box y1 ',boxes(i)%y1
          write(threadinfo%Logunit,'(a32,e11.4)') 'box z0 ',boxes(i)%z0
          write(threadinfo%Logunit,'(a32,e11.4)') 'box z1 ',boxes(i)%z1
          write(threadinfo%Logunit,'(a32,i4)')    'box level ',boxes(i)%level
        enddo
      endif
      if (params%nsections.gt.0) then
        do i=1,params%nsections
    
          write(threadinfo%Logunit,'(a,i3,a)')    '---Input values for section ',i,'---'    
    
          write(threadinfo%Logunit,'(a32,i4)')    'section xyz ',sections(i)%xyz
          write(threadinfo%Logunit,'(a32,e11.4)') 'section slice ',sections(i)%slice
          write(threadinfo%Logunit,'(a32,l1)')    'section flag press ',sections(i)%flag_press
          write(threadinfo%Logunit,'(a32,l1)')    'section flag spress ',sections(i)%flag_spress
          write(threadinfo%Logunit,'(a32,l1)')    'section flag e2d ',sections(i)%flag_e2d
          write(threadinfo%Logunit,'(a32,l1)')    'section flag e3d ',sections(i)%flag_e3d
          write(threadinfo%Logunit,'(a32,l1)')    'section flag strain ',sections(i)%flag_strain
          write(threadinfo%Logunit,'(a32,l1)')    'section flag crit ',sections(i)%flag_crit
          write(threadinfo%Logunit,'(a32,l1)')    'section flag grid ',sections(i)%flag_grid
          write(threadinfo%Logunit,'(a32,l1)')    'section flag u ',sections(i)%flag_u
          write(threadinfo%Logunit,'(a32,l1)')    'section flag v ',sections(i)%flag_v  
          write(threadinfo%Logunit,'(a32,l1)')    'section flag w ',sections(i)%flag_w 
          write(threadinfo%Logunit,'(a32,l1)')    'section flag uvw ',sections(i)%flag_uvw
          write(threadinfo%Logunit,'(a32,l1)')    'section flag colour ',sections(i)%flag_colour
          write(threadinfo%Logunit,'(a32,l1)')    'section flag mu ',sections(i)%flag_mu
          write(threadinfo%Logunit,'(a32,l1)')    'section flag plastic ',sections(i)%flag_plastic
          write(threadinfo%Logunit,'(a32,l1)')    'section flag q ',sections(i)%flag_q
          write(threadinfo%Logunit,'(a32,l1)')    'section flag lode ',sections(i)%flag_lode
          write(threadinfo%Logunit,'(a32,l1)')    'section flag vfield ',sections(i)%flag_vfield
          write(threadinfo%Logunit,'(a32,l1)')    'section flag lsf ',sections(i)%flag_lsf
          write(threadinfo%Logunit,'(a32,i3)')    'section flag temp ',sections(i)%flag_temp
          write(threadinfo%Logunit,'(a32,l1)')    'section flag velvect ',sections(i)%flag_velvect
          write(threadinfo%Logunit,'(a32,e11.4)') 'section scale ',sections(i)%scale
          write(threadinfo%Logunit,'(a32,a3)')    'section colormap ',sections(i)%colormap
          write(threadinfo%Logunit,'(a32,i4)')    'section ncolours ',sections(i)%ncolours
        enddo
      endif
      write(threadinfo%Logunit,'(a32,l1)') 'erosion ',params%erosion
      write(threadinfo%Logunit,'(a32,e11.4)') 'zerosion ',params%zerosion
      write(threadinfo%Logunit,'(a32,e11.4)') 'length_scale ',params%length_scale
      write(threadinfo%Logunit,'(a32,e11.4)') 'velocity_scale ',params%velocity_scale
      write(threadinfo%Logunit,'(a32,e11.4)') 'fluvial_erosion ',params%fluvial_erosion
      write(threadinfo%Logunit,'(a32,e11.4)') 'diffusion_erosion ',params%diffusion_erosion
      write(threadinfo%Logunit,'(a32,i4)') 'baselevelx0 ',params%baselevelx0
      write(threadinfo%Logunit,'(a32,i4)') 'baselevelx1 ',params%baselevelx1
      write(threadinfo%Logunit,'(a32,i4)') 'baselevely0 ',params%baselevely0
      write(threadinfo%Logunit,'(a32,i4)') 'baselevely1 ',params%baselevely1
      write(threadinfo%Logunit,'(a32,l1)') 'compute_qpgram ',params%compute_qpgram
      write(threadinfo%Logunit,'(a32,l1)') 'isostasy ',params%isostasy
      write(threadinfo%Logunit,'(a32,l1)') 'flexure ',params%flexure
      write(threadinfo%Logunit,'(a32,l1)') 'isobc ',params%isobc 
      write(threadinfo%Logunit,'(a32,e11.4)') 'elastic_plate_thickness ',params%elastic_plate_thickness
      write(threadinfo%Logunit,'(a32,e11.4)') 'density_difference ',params%density_difference
      write(threadinfo%Logunit,'(a32,e11.4)') 'distance_exponent ',params%distance_exponent
    endif
    
    if(iproc.eq.0) call flush(8)
    if(params%debug.gt.1) call flush(threadinfo%logunit)
    
    Dave Whipp's avatar
    Dave Whipp committed
    end subroutine read_input_file
    
    !------------------------------------------------------------------------------|
    !------------------------------------------------------------------------------|