# tools

Useful tools are grouped in this module.

## Programs

> - diagonalize_h
> - fcidump
> - four_idx_transform
> - molden
> - print_e_conv
> - print_wf
> - save_natorb
> - save_one_e_dm
> - save_ortho_mos
> - write_integrals_erf

## Subroutines / functions

`routine:`()

  File : `write_integrals_erf.irp.f`

      subroutine routine

  Called by:

  `diagonalize_h()` | `print_wf()` | `write_integrals_erf()`

  Calls:

  `save_erf_two_e_integrals_ao()` | `save_erf_two_e_integrals_mo()` |

`routine_e_conv:`()

  File : `print_e_conv.irp.f`

      subroutine routine_e_conv

  routine called by `print_e_conv()`

  Needs:

  `n_states` | `ezfio_filename` |

  Called by:

  `print_e_conv()` |  |

  Calls:

  `ezfio_get_iterations_energy_iterations()` `ezfio_get_iterations_n_det_iterations()` | `ezfio_get_iterations_n_iter()` | `ezfio_get_iterations_pt2_iterations()`

`routine_save_one_e_dm:`()

  File : `save_one_e_dm.irp.f`

      subroutine routine_save_one_e_dm

  routine called by `save_one_e_dm()`

  Needs:

  `one_e_dm_mo_alpha` |  |

  Called by:

  `save_one_e_dm()` |  |

  Calls:

  `ezfio_set_aux_quantities_data_one_e_dm_alpha_mo()` | `ezfio_set_aux_quantities_data_one_e_dm_beta_mo()` |

`write_ao_basis:`()

  File : `molden.irp.f`

      subroutine write_Ao_basis(i_unit_output)

  Needs:

  `nucl_list_shell_aos` `ao_coef` `ao_num` | `ao_prim_num` `nucl_charge` `ao_l` | `ao_expo` `element_name` `nucl_num`

  Called by:

  `molden()` |  |

`write_geometry:`()

  File : `molden.irp.f`

      subroutine write_geometry(i_unit_output)

  Needs:

  `nucl_coord` `nucl_charge` | `element_name` | `nucl_num`

  Called by:

  `molden()` |  |

`write_intro_gamess:`()

  File : `molden.irp.f`

      subroutine write_intro_gamess(i_unit_output)

  Called by:

  `molden()` |  |

`write_mo_basis:`()

  File : `molden.irp.f`

      subroutine write_Mo_basis(i_unit_output)

  Needs:

  `mo_num` `mo_coef` `ao_num` | `ao_l_char_space` `nucl_charge` | `ao_nucl` `element_name`

  Called by:

  `molden()` |  |