qc_method_t Derived Type

type, public, abstract :: qc_method_t

Abstract base type for all quantum chemistry methods

Defines the required interface for energy and gradient calculations that must be implemented by all concrete method types (XTB, HF, etc.).


Inherited by

type~~qc_method_t~~InheritedByGraph type~qc_method_t qc_method_t type~dft_method_t dft_method_t type~dft_method_t->type~qc_method_t type~hf_method_t hf_method_t type~hf_method_t->type~qc_method_t type~mcscf_method_t mcscf_method_t type~mcscf_method_t->type~qc_method_t type~xtb_method_t xtb_method_t type~xtb_method_t->type~qc_method_t

Type-Bound Procedures

procedure(calc_energy_interface), public, deferred :: calc_energy

Energy calculation interface

  • subroutine calc_energy_interface(this, fragment, result) Prototype

    Interface for energy-only calculations

    Computes the electronic energy for a molecular fragment using the specified quantum chemistry method.

    Arguments

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

    Method instance

    type(physical_fragment_t), intent(in) :: fragment

    Molecular fragment

    type(calculation_result_t), intent(out) :: result

    Calculation results

procedure(calc_gradient_interface), public, deferred :: calc_gradient

Gradient calculation interface

  • subroutine calc_gradient_interface(this, fragment, result) Prototype

    Interface for energy and gradient calculations

    Computes both electronic energy and nuclear gradients for a molecular fragment using the specified quantum chemistry method.

    Arguments

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

    Method instance

    type(physical_fragment_t), intent(in) :: fragment

    Molecular fragment

    type(calculation_result_t), intent(out) :: result

procedure(calc_hessian_interface), public, deferred :: calc_hessian

Hessian calculation interface

  • subroutine calc_hessian_interface(this, fragment, result) Prototype

    Interface for energy, gradient, and Hessian calculations

    Computes electronic energy, nuclear gradients, and Hessian matrix for a molecular fragment using the specified quantum chemistry method.

    Arguments

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

    Method instance

    type(physical_fragment_t), intent(in) :: fragment

    Molecular fragment

    type(calculation_result_t), intent(out) :: result

Source Code

   type, abstract :: qc_method_t
      !! Abstract base type for all quantum chemistry methods
      !!
      !! Defines the required interface for energy and gradient calculations
      !! that must be implemented by all concrete method types (XTB, HF, etc.).
   contains
      procedure(calc_energy_interface), deferred :: calc_energy    !! Energy calculation interface
      procedure(calc_gradient_interface), deferred :: calc_gradient  !! Gradient calculation interface
      procedure(calc_hessian_interface), deferred :: calc_hessian  !! Hessian calculation interface
   end type qc_method_t