# sc::mPW91XFunctional Class Reference

Implements a modified 1991 Perdew-Wang exchange functional. More...

`#include <functional.h>`

Inheritance diagram for sc::mPW91XFunctional:

List of all members.

## Public Types

enum | Func { B88, PW91, mPW91 }

## Public Member Functions

| mPW91XFunctional ()
| Construct an mPW exchange functional.
| mPW91XFunctional (Func variant)
| Construct an mPW form exchange functional using the given functional variant.
| mPW91XFunctional (const Ref< KeyVal > &)
| Construct an mPW form exchange functional.
| mPW91XFunctional (StateIn &)
void | save_data_state (StateOut &)
| Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
int | need_density_gradient ()
void | point (const PointInputData &, PointOutputData &)
void | init_constants (Func)

## Protected Member Functions

void | spin_contrib (const PointInputData::SpinData &, double &mpw, double &dmpw_dr, double &dmpw_dg)

## Protected Attributes

double | b
double | beta
double | c
double | d
double | a_x
double | x_d_coef

## Detailed Description

Implements a modified 1991 Perdew-Wang exchange functional.

C. Adamo and V. Barone, J. Chem. Phys., 108(2), pp. 664-674, 1998.

## Constructor & Destructor Documentation

sc::mPW91XFunctional::mPW91XFunctional | ( | Func | variant | ) |

Construct an mPW form exchange functional using the given functional variant.

The variant can be B88, PW91, or mPW91.

sc::mPW91XFunctional::mPW91XFunctional | ( | const Ref< KeyVal > & |  | ) |

Construct an mPW form exchange functional.

The following keywords are recognized:

`constants`
  This can be B88 to give the Becke88 exchange functional; PW91, to give results similar to the PW91 exchange functional; or mPW91, to give the new functional developed by Adamo and Barone.

`b`
`beta`
`c`
`d`
`x_d_coef`
  The coefficient of , where is the reduced gradient.

## Member Function Documentation

void sc::mPW91XFunctional::save_data_state | ( | StateOut & |  | ) | `[virtual]`

Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.

This must be implemented by the derived class if the class has data.

Reimplemented from sc::DenFunctional.

The documentation for this class was generated from the following file:

- functional.h