|
| | 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 utils::ScalarSpatialFunctionReal &atomicTotalElectroPotentialFunction, const utils::ScalarSpatialFunctionReal &atomicElectronicChargeDensityFunction, 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, const bool calculateIntegralDeltaRho=false) |
| |
| | ~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, const utils::ScalarSpatialFunctionReal &externalPotentialFunction) |
| |
| 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, const utils::ScalarSpatialFunctionReal &externalPotentialFunction) |
| |
| void | reinitBasis (const std::vector< utils::Point > &atomCoordinates, const utils::ScalarSpatialFunctionReal &atomicTotalElectroPotentialFunction, const utils::ScalarSpatialFunctionReal &atomicElectronicChargeDensityFunction, 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) |
| |
| 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 |
| |
| void | applyNonLocal (linearAlgebra::MultiVector< ValueTypeWaveFnBasisData, memorySpace > &X, linearAlgebra::MultiVector< ValueTypeWaveFnBasisData, memorySpace > &Y, bool updateGhostX, bool updateGhostY) const override |
| |
| bool | hasLocalComponent () const override |
| |
| bool | hasNonLocalComponent () 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 void | applyNonLocal (linearAlgebra::MultiVector< ValueType, memorySpace > &X, linearAlgebra::MultiVector< ValueType, memorySpace > &Y, bool updateGhostX, bool updateGhostY) const =0 |
| |
| virtual bool | hasLocalComponent () const =0 |
| |
| virtual bool | hasNonLocalComponent () 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 void | applyNonLocal (linearAlgebra::MultiVector< linearAlgebra::blasLapack::scalar_type< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeWaveFnBasisData >, ValueTypeBasisCoeff >, memorySpace > &X, linearAlgebra::MultiVector< linearAlgebra::blasLapack::scalar_type< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeWaveFnBasisData >, ValueTypeBasisCoeff >, memorySpace > &Y, bool updateGhostX, bool updateGhostY) const=0 |
| |
| virtual bool | hasLocalComponent () const=0 |
| |
| virtual bool | hasNonLocalComponent () const=0 |
| |
| virtual | ~Energy ()=default |
| |
| virtual linearAlgebra::blasLapack::real_type< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff > > | getEnergy () const=0 |
| |
|
| const bool | d_useDealiiMatrixFreePoissonSolve |
| |
| const bool | d_isCalculateIntegralDeltaRho |
| |
| 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 |
| |
| RealType | d_nuclearSelfEnergy |
| |
| quadrature::QuadratureValuesContainer< RealType, memorySpace > * | d_nuclearChargesDensity |
| |
| const quadrature::QuadratureValuesContainer< RealType, memorySpace > * | d_electronChargeDensity |
| |
| 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 |
| |
| RealType | d_integralPhiAtxbSmear |
| |
| RealType | d_intRhoAtPhiAt |
| |
| RealType | d_correctionEnergyAtomic |
| |