class_docstr: Exchange Correlation Neural Network - Self Consistent Iterations
  
  In the Kohn-Sham theory, the inclusion of the noninteracting kinetic energy     functional results in a set of one-particle equations with Kohn-Sham
  orbitals as their solutions after functional differentiation. It is a
  variational approach that determines the lowest energy and the related
  molecular orbitals and orbital energies by using the electron-electron
  interaction potential. To learn more about Density Functional Theory
  and the Kohn-Sham approach please use the references below.
  
  The XCNNSCF is used for performing self-consistent iterations. The
  XC functional in the Kohn-Sham model implementation is replaced by a
  neural network.
  
  Examples
  --------
  >>> from deepchem.models.dft.scf import XCNNSCF
  >>> import torch
  >>> from deepchem.feat.dft_data import DFTEntry, DFTSystem
  >>> from deepchem.models.dft.nnxc import HybridXC
  >>> nnmodel = (torch.nn.Sequential(
  ...         torch.nn.Linear(2, 10),
  ...         torch.nn.Tanh(),
  ...         torch.nn.Linear(10, 1))).to(torch.double)
  >>> hybridxc = HybridXC("lda_x", nnmodel, aweight0=0.0)
  >>> e_type = 'dm'
  >>> true_val = 'deepchem/feat/tests/data/dftHF_output.npy'
  >>> systems = [{
  ...     'moldesc': 'H 0.86625 0 0; F -0.86625 0 0',
  ...     'basis': '6-311++G(3df,3pd)'
  ... }]
  >>> entry = DFTEntry.create(e_type, true_val, systems)
  >>> evl = XCNNSCF(hybridxc, entry)
  >>> system = DFTSystem(systems[0])
  >>> run = evl.run(system)
  >>> output = run.energy()
  
  Notes
  -----
  This code is derived from https://github.com/mfkasim1/xcnn/blob/f2cb9777da2961ac553f256ecdcca3e314a538ca/xcdnn2/evaluator.py
  
  References
  ----------
  deepchem.models.dft.nnxc
  Kohn, W. and Sham, L.J., 1965. Self-consistent equations including
  exchange and correlation effects. Physical review, 140(4A), p.A1133.
docstr: Returns
  -------
  Exchange correlation functional that has been replaced by a
  neural network, based on a BaseNNXC model.
docstr_tok: ["Returns","--","--","--","-","Exchange","correlation","functional","that","has","been","replaced","by","a","neural","network",",","based","on","a","BaseNNXC","model","."]
code: def get_xc(self) -> HybridXC:
      """
      Returns
      -------
      Exchange correlation functional that has been replaced by a
      neural network, based on a BaseNNXC model.
      """
      return self.xc
  
file_path: deepchem/deepchem/models/dft/scf.py
imports: from __future__ import annotations
  from abc import abstractmethod
  from typing import Union
  import torch
  import numpy
  from dqc.qccalc.ks import KS
  from deepchem.feat.dft_data import DFTEntry, DFTSystem
  from deepchem.utils.dftutils import KSCalc, hashstr, SpinParam
  from deepchem.models.dft.nnxc import BaseNNXC, HybridXC
label_desc: Use image node_id 2 for calling the XCNNSCF obj's underlying member method code with example usage: obj.get_xc() and returns: self