energy_total Function

private pure function energy_total(this) result(total)

Compute total energy from all components

Type Bound

energy_t

Arguments

Type IntentOptional Attributes Name
class(energy_t), intent(in) :: this

Return Value real(kind=dp)


Calls

proc~~energy_total~~CallsGraph proc~energy_total energy_t%energy_total proc~mp2_total mp2_energy_t%mp2_total proc~energy_total->proc~mp2_total

Called by

proc~~energy_total~~CalledByGraph proc~energy_total energy_t%energy_total proc~compute_energy_and_forces compute_energy_and_forces proc~compute_energy_and_forces->proc~energy_total proc~run_calculation run_calculation proc~compute_energy_and_forces->proc~run_calculation proc~compute_gmbe compute_gmbe proc~compute_gmbe->proc~energy_total proc~print_gmbe_intersection_debug print_gmbe_intersection_debug proc~compute_gmbe->proc~print_gmbe_intersection_debug proc~compute_mbe compute_mbe proc~compute_mbe->proc~energy_total proc~dft_calc_energy dft_method_t%dft_calc_energy proc~dft_calc_energy->proc~energy_total proc~gmbe_pie_coordinator gmbe_pie_coordinator proc~gmbe_pie_coordinator->proc~energy_total proc~hessian_coordinator hessian_coordinator proc~hessian_coordinator->proc~energy_total proc~populate_unfragmented_json_data populate_unfragmented_json_data proc~hessian_coordinator->proc~populate_unfragmented_json_data proc~populate_vibrational_json_data populate_vibrational_json_data proc~hessian_coordinator->proc~populate_vibrational_json_data proc~hf_calc_energy hf_method_t%hf_calc_energy proc~hf_calc_energy->proc~energy_total proc~mcscf_calc_energy mcscf_method_t%mcscf_calc_energy proc~mcscf_calc_energy->proc~energy_total proc~populate_unfragmented_json_data->proc~energy_total proc~populate_vibrational_json_data->proc~energy_total proc~print_gmbe_intersection_debug->proc~energy_total proc~serial_fragment_processor serial_fragment_processor proc~serial_fragment_processor->proc~energy_total proc~serial_fragment_processor->proc~compute_mbe proc~serial_gmbe_pie_processor serial_gmbe_pie_processor proc~serial_gmbe_pie_processor->proc~energy_total proc~unfragmented_calculation unfragmented_calculation proc~unfragmented_calculation->proc~energy_total proc~xtb_calc_energy xtb_method_t%xtb_calc_energy proc~xtb_calc_energy->proc~energy_total proc~xtb_calc_gradient xtb_method_t%xtb_calc_gradient proc~xtb_calc_gradient->proc~energy_total interface~hessian_coordinator hessian_coordinator interface~hessian_coordinator->proc~hessian_coordinator interface~serial_fragment_processor serial_fragment_processor interface~serial_fragment_processor->proc~serial_fragment_processor interface~unfragmented_calculation unfragmented_calculation interface~unfragmented_calculation->proc~unfragmented_calculation proc~dft_calc_gradient dft_method_t%dft_calc_gradient proc~dft_calc_gradient->proc~dft_calc_energy proc~dft_calc_hessian dft_method_t%dft_calc_hessian proc~dft_calc_hessian->proc~dft_calc_energy proc~global_coordinator global_coordinator proc~global_coordinator->proc~compute_mbe proc~gmbe_run_distributed gmbe_context_t%gmbe_run_distributed proc~gmbe_run_distributed->proc~gmbe_pie_coordinator proc~gmbe_run_serial gmbe_context_t%gmbe_run_serial proc~gmbe_run_serial->proc~serial_gmbe_pie_processor proc~hf_calc_gradient hf_method_t%hf_calc_gradient proc~hf_calc_gradient->proc~hf_calc_energy proc~mcscf_calc_gradient mcscf_method_t%mcscf_calc_gradient proc~mcscf_calc_gradient->proc~mcscf_calc_energy proc~mcscf_calc_hessian mcscf_method_t%mcscf_calc_hessian proc~mcscf_calc_hessian->proc~mcscf_calc_energy proc~xtb_calc_hessian xtb_method_t%xtb_calc_hessian proc~xtb_calc_hessian->proc~xtb_calc_gradient interface~global_coordinator global_coordinator interface~global_coordinator->proc~global_coordinator proc~distributed_unfragmented_hessian distributed_unfragmented_hessian proc~distributed_unfragmented_hessian->interface~hessian_coordinator proc~mbe_run_serial mbe_context_t%mbe_run_serial proc~mbe_run_serial->interface~serial_fragment_processor proc~run_unfragmented_calculation run_unfragmented_calculation proc~run_unfragmented_calculation->interface~unfragmented_calculation interface~distributed_unfragmented_hessian distributed_unfragmented_hessian proc~run_unfragmented_calculation->interface~distributed_unfragmented_hessian interface~distributed_unfragmented_hessian->proc~distributed_unfragmented_hessian proc~mbe_run_distributed mbe_context_t%mbe_run_distributed proc~mbe_run_distributed->interface~global_coordinator proc~run_calculation->proc~run_unfragmented_calculation proc~run_multi_molecule_calculations run_multi_molecule_calculations proc~run_multi_molecule_calculations->proc~run_calculation program~main main program~main->proc~run_calculation

Source Code

   pure function energy_total(this) result(total)
      !! Compute total energy from all components
      class(energy_t), intent(in) :: this
      real(dp) :: total

      ! this line needs to me modified if more components are added
      total = this%scf + this%mp2%total() + this%cc%total()
   end function energy_total