Skip to content
Snippets Groups Projects
read_input_file.f90 114 KiB
Newer Older
  • Learn to ignore specific revisions
  •       write(threadinfo%Logunit,'(a32,i2,a,e11.4)') 'bc_parameter ',i,' ',bcdef%bc_parameters(i)
        enddo
    
      write(threadinfo%Logunit,'(a32,e11.4)') 'utrans ',bcdef%utrans
      write(threadinfo%Logunit,'(a32,e11.4)') 'vtrans ',bcdef%vtrans
      write(threadinfo%Logunit,'(a)')         '--- PRESSURE ---'
      write(threadinfo%Logunit,'(a32,i4)')    'smoothing_type ',params%smoothing_type
      write(threadinfo%Logunit,'(a32,e11.4)') 'pressure0 ',params%pressure0
      write(threadinfo%Logunit,'(a32,e11.4)') 'plastic_stress_min ',params%plastic_stress_min
      write(threadinfo%Logunit,'(a)')         '--- CLOUD ---'
      write(threadinfo%Logunit,'(a32,i4)')    'npmin ',params%npmin
      write(threadinfo%Logunit,'(a32,i4)')    'npmax ',params%npmax
    
    Dave Whipp's avatar
    Dave Whipp committed
      write(threadinfo%Logunit,'(a32,l1)')    'gridcloud ',params%gridcloud
      write(threadinfo%Logunit,'(a32,i4)')    'clnpx ',params%clnpx
      write(threadinfo%Logunit,'(a32,i4)')    'clnpy ',params%clnpy
      write(threadinfo%Logunit,'(a32,i4)')    'clnpz ',params%clnpz
    
      write(threadinfo%Logunit,'(a32,i4)')    'dstrnz ',params%dstrnz
    
    Dave Whipp's avatar
    Dave Whipp committed
      write(threadinfo%Logunit,'(a32,l1)')    'centerptcloud ',params%centerptcloud
    
      write(threadinfo%Logunit,'(a32,l1)')    'compaction ',params%compaction
    
      write(threadinfo%Logunit,'(a32,l1)')    'move_cloud_at_midpoint ',params%move_cloud_at_midpoint
    
      write(threadinfo%Logunit,'(a32,l1)')    'fixed_cloud ',params%fixed_cloud
    
      write(threadinfo%Logunit,'(a)')         '--- FEM + DIVFEM + MUMPS/WSMP ---'
      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,e11.4)') 'penalty ',params%penalty
      write(threadinfo%Logunit,'(a32,l1)')    'excl_vol ',params%excl_vol
    
      write(threadinfo%Logunit,'(a32,l1)')    'wsmp_scaling ',params%wsmp_scaling
    
      write(threadinfo%Logunit,'(a)')         '--- TEMPERATURE ---'
      write(threadinfo%Logunit,'(a32,l1)')    'calculate_temp ',params%calculate_temp
      write(threadinfo%Logunit,'(a32,e11.4)') 'ztemp ',params%ztemp
      write(threadinfo%Logunit,'(a32,e11.4)') 'tempscale ',params%tempscale
    
      write(threadinfo%Logunit,'(a32,l1)')    'sstemp_on_restart ',params%sstemp_on_restart
    
      write(threadinfo%Logunit,'(a)')         '--- ISOSTASY ---'
      write(threadinfo%Logunit,'(a32,l1)')    'isostasy ',params%isostasy
      write(threadinfo%Logunit,'(a32,l1)')    'flexure ',params%flexure
      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,l1)')    'isobc ',params%isobc
      write(threadinfo%Logunit,'(a)')         '--- MATERIALS ---'
    
      write(threadinfo%Logunit,'(a32,l1)')    'materials_on_cloud ',params%materials_on_cloud
    
      write(threadinfo%Logunit,'(a32,i4)')    'material0 ',material0
    
    Dave Whipp's avatar
    Dave Whipp committed
      write(threadinfo%Logunit,'(a32,l1)')    'bulkvisc ',params%bulkvisc
    
      write(threadinfo%Logunit,'(a32,l1)')    'init_e2d ',params%init_e2d
      write(threadinfo%Logunit,'(a32,e11.4)') 'e2d0 ',params%e2d0
    
      write(threadinfo%Logunit,'(a32,i4)')    'dommat ',params%dommat
    
      write(threadinfo%Logunit,'(a32,e11.4)') 'domvol ',params%domvol
    
        write(threadinfo%Logunit,'(a,i4,a)')    '--- Properties for material ',i,' ---'
    
        write(threadinfo%Logunit,'(a32,e11.4)') 'density ',mat(i)%density
        write(threadinfo%Logunit,'(a32,e11.4)') 'viscosity ',mat(i)%viscosity
        write(threadinfo%Logunit,'(a32,e11.4)') 'penalty ',mat(i)%penalty
        write(threadinfo%Logunit,'(a32,e11.4)') 'expon ',mat(i)%expon
    
        write(threadinfo%Logunit,'(a32,e11.4)') 'fviscosity ',mat(i)%fviscosity
    
        write(threadinfo%Logunit,'(a32,a16)')   'fvisc_weak_type ',mat(i)%fvisc_weak_type
        write(threadinfo%Logunit,'(a32,e11.4)') 'fvisc_weak_onset ',mat(i)%fvisc_weak_onset
        write(threadinfo%Logunit,'(a32,e11.4)') 'fvisc_weak_end ',mat(i)%fvisc_weak_end
        write(threadinfo%Logunit,'(a32,e11.4)') 'fvisc_weak_final ',mat(i)%fvisc_weak_final
    
        write(threadinfo%Logunit,'(a32,e11.4)') 'fvisc_strong_onset ',mat(i)%fvisc_strong_onset
        write(threadinfo%Logunit,'(a32,e11.4)') 'fvisc_strong_end ',mat(i)%fvisc_strong_end
        write(threadinfo%Logunit,'(a32,e11.4)') 'fvisc_strong_final ',mat(i)%fvisc_strong_final
    
        write(threadinfo%Logunit,'(a32,e11.4)') 'diffusivity ',mat(i)%diffusivity
        write(threadinfo%Logunit,'(a32,e11.4)') 'heat ',mat(i)%heat
    
        write(threadinfo%Logunit,'(a32,e11.4)') 'activationenergy ',mat(i)%activationenergy
        write(threadinfo%Logunit,'(a32,e11.4)') 'expansion ',mat(i)%expansion
    
        write(threadinfo%Logunit,'(a32,a8)')    'plasticity_type ',mat(i)%plasticity_type
    
    Dave Whipp's avatar
    Dave Whipp committed
        write(threadinfo%Logunit,'(a32,a16)')   'plasticity_ss_type_coh ',mat(i)%plasticity_ss_type_coh
    
        write(threadinfo%Logunit,'(a32,a16)')   'plasticity_ss_type_phi ',mat(i)%plasticity_ss_type_phi    
    
    Dave Whipp's avatar
    Dave Whipp committed
        write(threadinfo%Logunit,'(a32,l1)')    'compactible ',mat(i)%compactible
    
        write(threadinfo%Logunit,'(a32,e11.4)') 'grain_density ',mat(i)%grain_density
        write(threadinfo%Logunit,'(a32,e11.4)') 'pore_fluid_density ',mat(i)%pore_fluid_density
        write(threadinfo%Logunit,'(a32,e11.4)') 'surface_porosity ',mat(i)%surface_porosity
        write(threadinfo%Logunit,'(a32,e11.4)') 'compaction_coef ',mat(i)%compaction_coef    
    
        if (trim(mat(i)%plasticity_type).ne.'No') then
          write(threadinfo%Logunit,'(a,i4)') 'Plasticity parameters for material ',i
    
            write(threadinfo%Logunit,'(a32,i2,a2,e11.4)') 'plasticity parameter ',j,': ',mat(i)%plasticity_parameters(j)
    
        write (threadinfo%Logunit,'(a,i4)') 'Material transitions for material ',i
        do j=1,6
    
    Dave Whipp's avatar
    Dave Whipp committed
          write(threadinfo%Logunit,'(a32,i1,a2,e11.4)') 'mattrans ',j,' ',mat(i)%mattrans(j)
    
    Dave Whipp's avatar
    Dave Whipp committed
          write(threadinfo%Logunit,'(a32,i1,a2,i4)') 'transnum ',j,' ',mat(i)%transnum(j)
    
      enddo
      write(threadinfo%Logunit,'(a32,e11.4)') 'viscositymin ',params%viscositymin
      write(threadinfo%Logunit,'(a32,e11.4)') 'viscositymax ',params%viscositymax
    
      write(threadinfo%Logunit,'(a)')         '--- SURFACES ---'
      write(threadinfo%Logunit,'(a32,l1)') 'remove_surf_pts ',params%remove_surf_pts
    
        write(threadinfo%Logunit,'(a,i4,a)')         '--- Properties for surface ',i,' ---'
    
        write(threadinfo%Logunit,'(a32,i4,a,i4)')    'surface ',i,' levelt ',surface(i)%levelt
    
        write(threadinfo%Logunit,'(a32,i4,a,i4)')    'surface ',i,' itype ',surface(i)%itype
    
        write(threadinfo%Logunit,'(a32,i4,a,i4)')    'surface ',i,' closed ',surface(i)%closed
    
        write(threadinfo%Logunit,'(a32,i4,a,i4)')    'surface ',i,' type ',surface(i)%surface_type
    
        write(threadinfo%Logunit,'(a32,i4,a,l1)')    'surface ',i,' rand ',surface(i)%rand
    
        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,' sp13 ',surface(i)%sp13
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,' sp14 ',surface(i)%sp14
    
        write(threadinfo%Logunit,'(a32,i4,a,i4)')    'surface ',i,' material ',surface(i)%material
    
        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
    
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,' stretch ',surface(i)%stretch
        write(threadinfo%Logunit,'(a32,i4,a,e11.4)') 'surface ',i,' anglemax ',surface(i)%anglemax
        write(threadinfo%Logunit,'(a32,i4,a,i4)')    'surface ',i,' criterion ',surface(i)%criterion
        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,l1)')    'surface ',i,' fixed_surf_spinup ',surface(i)%fixed_surf_spinup
        write(threadinfo%Logunit,'(a32,i4,a,l1)')    'surface ',i,' fixed_surf ',surface(i)%fixed_surf
    
        write(threadinfo%Logunit,'(a32,i4,a,l1)')    'surface ',i,' surf_for_mat_props ',surface(i)%surf_for_mat_props
    
        write(threadinfo%Logunit,'(a32,i4,a,l1)')    'surface ',i,' remove_after_mat_def ',surface(i)%remove_after_mat_def
    
      enddo
      write(threadinfo%Logunit,'(a32,i4)') 'niter_move ',params%niter_move
    
      write(threadinfo%Logunit,'(a)')      '--- REFINEMENT IN BOXES ---'
    
          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
    
      write(threadinfo%Logunit,'(a)') '--- REFINEMENT ON CUBE FACES ---'
      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 b ',cube_faces(i)%b
          write(threadinfo%Logunit,'(a32,e11.4)') 'cube_faces t ',cube_faces(i)%t
          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
        enddo
      endif
      write(threadinfo%Logunit,'(a)') '--- EROSION ---'
      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,'(a)') '--- SEDIMENTATION ---'
      write(threadinfo%Logunit,'(a32,l1)')    'sedimentation ',params%sedimentation 
      write(threadinfo%Logunit,'(a32,i4)')    'sedimentation_type ',params%sedimentation_type
      write(threadinfo%Logunit,'(a32,e11.4)') 'er_start ',params%er_start
      write(threadinfo%Logunit,'(a32,e11.4)') 'er_end ',params%er_end
      write(threadinfo%Logunit,'(a32,e11.4)') 'sed_start ',params%sed_start
      write(threadinfo%Logunit,'(a32,e11.4)') 'sed_end ',params%sed_end
      write(threadinfo%Logunit,'(a32,e11.4)') 'zaggrade_init ',params%zaggrade_init
      write(threadinfo%Logunit,'(a32,e11.4)') 'x_agg_start ',params%x_agg_start
      write(threadinfo%Logunit,'(a32,e11.4)') 'x_agg_end ',params%x_agg_end
      write(threadinfo%Logunit,'(a32,e11.4)') 'y_agg_start ',params%y_agg_start
      write(threadinfo%Logunit,'(a32,e11.4)') 'y_agg_end ',params%y_agg_end
      write(threadinfo%Logunit,'(a32,e11.4)') 'x_agg_sinus_amp ',params%x_agg_sinus_amp
      write(threadinfo%Logunit,'(a32,e11.4)') 'x_agg_sinus_wavelth ',params%x_agg_sinus_wavelth
      write(threadinfo%Logunit,'(a32,e11.4)') 'y_agg_sinus_amp ',params%y_agg_sinus_amp
      write(threadinfo%Logunit,'(a32,e11.4)') 'y_agg_sinus_wavelth ',params%y_agg_sinus_wavelth
      write(threadinfo%Logunit,'(a32,e11.4)') 'aggrade_rate ',params%aggrade_rate
      write(threadinfo%Logunit,'(a32,e11.4)') 'z_prog_init ',params%z_prog_init
      write(threadinfo%Logunit,'(a32,e11.4)') 'z_prog_fin ',params%z_prog_fin
      write(threadinfo%Logunit,'(a32,e11.4)') 'x_prog_start ',params%x_prog_start
      write(threadinfo%Logunit,'(a32,e11.4)') 'x_prog_end ',params%x_prog_end
      write(threadinfo%Logunit,'(a32,e11.4)') 'x_prog_length ',params%x_prog_length
      write(threadinfo%Logunit,'(a32,e11.4)') 'prog_rate_u ',params%prog_rate_u
    
      write(threadinfo%Logunit,'(a)') '--- MATRIX VISUALISATION ---'
      write(threadinfo%Logunit,'(a32,l1)') 'visualise_matrix ',params%visualise_matrix
      write(threadinfo%Logunit,'(a)') '--- CROSS SECTIONS ---'
    
      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 lode ',sections(i)%flag_lode
    
          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 mu ',sections(i)%flag_mu
    
          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 q ',sections(i)%flag_q
    
          write(threadinfo%Logunit,'(a32,l1)')    'section flag uvw ',sections(i)%flag_uvw
    
          write(threadinfo%Logunit,'(a32,l1)')    'section flag lsf ',sections(i)%flag_lsf
          write(threadinfo%Logunit,'(a32,l1)')    'section flag vfield ',sections(i)%flag_vfield
    
          write(threadinfo%Logunit,'(a32,l1)')    'section flag colour ',sections(i)%flag_colour
          write(threadinfo%Logunit,'(a32,l1)')    'section flag plastic ',sections(i)%flag_plastic
          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,e11.4)') 'distance_exponent ',params%distance_exponent
      write(threadinfo%Logunit,'(a)') '--------------------------------------------------------------------------------'
      write(threadinfo%Logunit,'(a)') '--- END OF INPUT FILE ---'
      write(threadinfo%Logunit,'(a)') '--------------------------------------------------------------------------------'
    
    endif
    
    if(iproc.eq.0) call flush(8)
    if(params%debug.gt.1) call flush(threadinfo%logunit)
    
    if (iproc.eq.0) call system ('rm fort.8')
    
    Dave Whipp's avatar
    Dave Whipp committed
    end subroutine read_input_file
    
    !------------------------------------------------------------------------------|
    !------------------------------------------------------------------------------|