[table of contents] [master index] [comments] [modules] [programs] [variables] [types] [procedures]
MODULE
field_io_mod
PURPOSE
Read and/or write field coeficients to data files. Routines input_field and output_field read and write representations of a N_monomer component field as a list of coefficients of symetrized basis functions. Routine output_field_grid outputs values of the field on an FFT grid.
SOURCE
module field_io_mod use const_mod use io_mod use string_mod, only : int_string use version_mod, only : version_type, input_version, output_version use basis_mod, only : N_star, which_wave, star_of_wave, & wave_of_star, star_count, valid_wave use chemistry_mod, only : N_monomer use unit_cell_mod, only : output_unit_cell, N_cell_param, cell_param use fft_mod, only : fft_plan, create_fft_plan, ifft use grid_basis_mod, only : basis_to_kgrid implicit none private public :: input_field public :: output_field public :: output_field_grid
SUBROUTINE
input_field(field,field_unit)
PURPOSE
Read field components from supplied io-unit
ARGUMENTS
field = real array containing the coefficients of symmetry-adapted basis functions. field_unit = unit number of file to read (open for reading)
SOURCE
subroutine input_field(field,field_unit) real(long),intent(INOUT) :: field(:,:) ! (monomer,basis_function) integer,intent(IN) :: field_unit
SUBROUTINE
output_field(field,field_unit,group_name)
PURPOSE
store coefficients of omega or rho field to supplied io-unit
ARGUMENTS
field = field array to store the coefficients field_unit = io-unit for files storing the field coefficients group_name = space group name, supplementary information
SOURCE
subroutine output_field(field,field_unit,group_name,N_basis_out) real(long), intent(IN) :: field(:,:) integer, intent(IN) :: field_unit character(*),intent(IN) :: group_name integer,optional,intent(IN) :: N_basis_out
SUBROUTINE
output_field_grid(field,field_unit,ngrid)
PURPOSE
Outputs field on a real-space FFT grid
ARGUMENTS
field - density/potential fields to be visualized field_unit - writing unit ngrid - grid dimensions
SOURCE
subroutine output_field_grid(field,field_unit,group_name,ngrid) real(long) :: field(:,:) ! (N_monomer, N_basis) integer :: field_unit character(*),intent(IN) :: group_name integer :: ngrid(:) ! (3)