Defines the common interface that all quantum chemistry methods must implement, providing a unified API for energy and gradient calculations. Abstract base type for all QC methods
Interface for energy-only calculations
Computes the electronic energy for a molecular fragment using the specified quantum chemistry method.
| Type | Intent | Optional | 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 |
Interface for energy and gradient calculations
Computes both electronic energy and nuclear gradients for a molecular fragment using the specified quantum chemistry method.
| Type | Intent | Optional | 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 |
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.
| Type | Intent | Optional | 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 |
Abstract base type for all quantum chemistry methods
| procedure(calc_energy_interface), public, deferred :: calc_energy | Energy calculation interface |
| procedure(calc_gradient_interface), public, deferred :: calc_gradient | Gradient calculation interface |
| procedure(calc_hessian_interface), public, deferred :: calc_hessian | Hessian calculation interface |