130 subroutine initialize_base (this, option, num_orbitals, mapping)
132 class(baseintegral) :: this
133 class(options),
intent(in) :: option
134 integer,
intent(in) :: num_orbitals
135 integer,
intent(in) :: mapping(num_orbitals)
137 this % num_orbitals = num_orbitals
139 allocate(this % orbital_mapping(num_orbitals))
141 this % orbital_mapping(:) = mapping(:)
142 this % positron_flag = option % positron_flag
143 this % quantamoln_flag = option % QuantaMolN
146 this % num_symmetries = option % num_syms
148 this % number_of_matrix_records = option % num_matrix_elements_per_rec
149 this % name = option % name
151 call this % initialize_self(option)
179 subroutine base_write_header (this, matrix_io, matrix_size)
181 class(baseintegral),
intent(in) :: this
182 integer,
intent(in) :: matrix_io, matrix_size
184 if (grid % grank == master)
then
185 open (unit = matrix_io, form =
'unformatted')
186 write (matrix_io) matrix_size, this % number_of_matrix_records , 0, matrix_size, &
187 0, this % num_symmetries, 0, 0, 0, 0, this % nnuc, 0, &
188 this % NAME, this % NHE, this % DTNUC
198 function get_integralf (this, integral)
result(coeff)
200 class(baseintegral) :: this
201 integer(longint),
intent(in) :: integral(
nidx)
205 call unpack_ints(integral, label)
206 coeff = this % get_integral_ijklm(label(1), label(2), label(3), label(4), label(5))