|
| ElectrostaticLocalFE (const std::vector< utils::Point > &atomCoordinates, const std::vector< double > &atomCharges, const std::vector< double > &smearedChargeRadius, const quadrature::QuadratureValuesContainer< RealType, memorySpace > &electronChargeDensity, std::shared_ptr< const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > > feBMTotalCharge, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDTotalChargeStiffnessMatrix, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDNuclearChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDElectronicChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFnBasisData, memorySpace > > feBDHamiltonian, const utils::ScalarSpatialFunctionReal &externalPotentialFunction, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const size_type maxCellBlock, bool useDealiiMatrixFreePoissonSolve=true) |
| Constructor. More...
|
|
| ElectrostaticLocalFE (const std::vector< utils::Point > &atomCoordinates, const std::vector< double > &atomCharges, const std::vector< double > &smearedChargeRadius, const quadrature::QuadratureValuesContainer< RealType, memorySpace > &electronChargeDensity, std::shared_ptr< const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > > feBMTotalCharge, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDTotalChargeStiffnessMatrix, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDNuclearChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDElectronicChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDNuclChargeStiffnessMatrixNumSol, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDNuclChargeRhsNumSol, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFnBasisData, memorySpace > > feBDHamiltonian, const utils::ScalarSpatialFunctionReal &externalPotentialFunction, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const size_type maxCellBlock, bool useDealiiMatrixFreePoissonSolve=true) |
|
| ElectrostaticLocalFE (const std::vector< utils::Point > &atomCoordinates, const std::vector< double > &atomCharges, const std::vector< double > &smearedChargeRadius, const quadrature::QuadratureValuesContainer< RealType, memorySpace > &atomicElectronChargeDensity, const quadrature::QuadratureValuesContainer< ValueTypeBasisCoeff, memorySpace > &atomicTotalElecPotNuclearQuad, const quadrature::QuadratureValuesContainer< ValueTypeBasisCoeff, memorySpace > &atomicTotalElecPotElectronicQuad, std::shared_ptr< const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > > feBMTotalCharge, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDTotalChargeStiffnessMatrix, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDNuclearChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDElectronicChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFnBasisData, memorySpace > > feBDHamiltonian, const utils::ScalarSpatialFunctionReal &externalPotentialFunction, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const size_type maxCellBlock, const bool useDealiiMatrixFreePoissonSolve=true) |
|
| ~ElectrostaticLocalFE () |
|
void | reinitBasis (const std::vector< utils::Point > &atomCoordinates, std::shared_ptr< const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > > feBMTotalCharge, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDTotalChargeStiffnessMatrix, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDNuclearChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDElectronicChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFnBasisData, memorySpace > > feBDHamiltonian) |
|
void | reinitBasis (const std::vector< utils::Point > &atomCoordinates, std::shared_ptr< const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > > feBMTotalCharge, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDTotalChargeStiffnessMatrix, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDNuclearChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDElectronicChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDNuclChargeStiffnessMatrixNumSol, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDNuclChargeRhsNumSol, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFnBasisData, memorySpace > > feBDHamiltonian) |
|
void | reinitBasis (const std::vector< utils::Point > &atomCoordinates, const quadrature::QuadratureValuesContainer< RealType, memorySpace > &atomicElectronChargeDensity, const quadrature::QuadratureValuesContainer< ValueTypeBasisCoeff, memorySpace > &atomicTotalElecPotNuclearQuad, const quadrature::QuadratureValuesContainer< ValueTypeBasisCoeff, memorySpace > &atomicTotalElecPotElectronicQuad, std::shared_ptr< const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > > feBMTotalCharge, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDTotalChargeStiffnessMatrix, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDNuclearChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBDElectronicChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFnBasisData, memorySpace > > feBDHamiltonian) |
|
void | reinitField (const quadrature::QuadratureValuesContainer< RealType, memorySpace > &electronChargeDensity) |
|
void | getLocal (Storage &cellWiseStorage) const override |
|
void | evalEnergy () |
|
RealType | getEnergy () const override |
|
const quadrature::QuadratureValuesContainer< ValueType, memorySpace > & | getFunctionalDerivative () const override |
|
virtual | ~ElectrostaticFE ()=default |
|
virtual void | getLocal (Storage &cellWiseStorage) const =0 |
|
virtual RealType | getEnergy () const =0 |
|
virtual const quadrature::QuadratureValuesContainer< ValueType, memorySpace > & | getFunctionalDerivative () const =0 |
|
virtual | ~Hamiltonian ()=default |
|
virtual void | getLocal (utils::MemoryStorage< linearAlgebra::blasLapack::scalar_type< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeWaveFnBasisData >, ValueTypeBasisCoeff >, memorySpace > &cellWiseStorage) const=0 |
|
virtual | ~Energy ()=default |
|
virtual linearAlgebra::blasLapack::real_type< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff > > | getEnergy () const=0 |
|
|
const bool | d_useDealiiMatrixFreePoissonSolve |
|
bool | d_isNumericalVSelfSolve |
|
bool | d_isDeltaRhoSolve |
|
const size_type | d_maxCellBlock |
|
const size_type | d_numComponents |
|
std::vector< utils::Point > | d_atomCoordinates |
|
const size_type | d_numAtoms |
|
const std::vector< double > | d_atomCharges |
|
const std::vector< double > | d_smearedChargeRadius |
|
RealType | d_energy |
|
const utils::ScalarSpatialFunctionReal & | d_externalPotentialFunction |
|
quadrature::QuadratureValuesContainer< RealType, memorySpace > * | d_nuclearChargesDensity |
|
const quadrature::QuadratureValuesContainer< RealType, memorySpace > * | d_electronChargeDensity |
|
const quadrature::QuadratureValuesContainer< ValueTypeBasisCoeff, memorySpace > * | d_atomicTotalElecPotNuclearQuad |
|
const quadrature::QuadratureValuesContainer< ValueTypeBasisCoeff, memorySpace > * | d_atomicTotalElecPotElectronicQuad |
|
quadrature::QuadratureValuesContainer< RealType, memorySpace > | d_atomicElectronChargeDensity |
|
quadrature::QuadratureValuesContainer< ValueType, memorySpace > * | d_correctionPotHamQuad |
|
quadrature::QuadratureValuesContainer< ValueType, memorySpace > * | d_correctionPotRhoQuad |
|
quadrature::QuadratureValuesContainer< RealType, memorySpace > * | d_scratchDensNuclearQuad |
|
quadrature::QuadratureValuesContainer< RealType, memorySpace > * | d_scratchDensRhoQuad |
|
quadrature::QuadratureValuesContainer< ValueType, memorySpace > * | d_scratchPotHamQuad |
|
quadrature::QuadratureValuesContainer< ValueType, memorySpace > * | d_scratchPotRhoQuad |
|
quadrature::QuadratureValuesContainer< ValueType, memorySpace > * | d_scratchPotNuclearQuad |
|
linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > * | d_totalChargePotential |
|
std::vector< linearAlgebra::MultiVector< ValueType, memorySpace > * > | d_nuclearChargesPotential |
|
std::vector< std::shared_ptr< basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > > > | d_feBMNuclearCharge |
|
std::shared_ptr< const basis::FEBasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > > | d_feBasisOpNuclear |
|
std::shared_ptr< const basis::FEBasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > > | d_feBasisOpElectronic |
|
std::shared_ptr< const basis::FEBasisOperations< ValueTypeBasisCoeff, ValueTypeWaveFnBasisData, memorySpace, dim > > | d_feBasisOpHamiltonian |
|
std::shared_ptr< const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > > | d_feBMTotalCharge |
|
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > | d_feBDTotalChargeStiffnessMatrix |
|
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > | d_feBDElectronicChargeRhs |
|
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > | d_feBDNuclearChargeRhs |
|
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > | d_feBDNuclChargeRhsNumSol |
|
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > | d_linAlgOpContext |
|
std::vector< RealType > | d_nuclearChargeQuad |
|
size_type | d_cellTimesNumVecPoisson |
|
std::shared_ptr< electrostatics::PoissonLinearSolverFunctionFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim > > | d_linearSolverFunction |
|
std::shared_ptr< electrostatics::PoissonSolverDealiiMatrixFreeFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim > > | d_poissonSolverDealiiMatFree |
|
RealType | d_totNuclearChargeQuad |
|
utils::ConditionalOStream | d_rootCout |
|
std::map< std::string, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > > | d_feBasisDataStorageRhsMap |
|