Input process is working.

This commit is contained in:
jnkim 2017-09-22 10:25:46 -07:00
parent bc20458dd5
commit b2de302094
4 changed files with 28 additions and 7 deletions

View File

@ -27,6 +27,10 @@ namespace qmcplusplus
{
ClassName="LCAOrbitalBuilder";
}
LCAOrbitalBuilder::~LCAOrbitalBuilder()
{
//properly cleanup
}
bool LCAOrbitalBuilder::put(xmlNodePtr cur)
{
@ -49,7 +53,7 @@ namespace qmcplusplus
/** process atomicBasisSet per ion species */
cur = cur->xmlChildrenNode;
while(cur!=NULL)
while(cur!=NULL) //loop over unique ioons
{
std::string cname((const char*)(cur->name));
@ -110,7 +114,18 @@ namespace qmcplusplus
}
}
cur = cur->next;
} // done with basis set
if(xyzBasisSet!=nullptr)
{
xyzBasisSet->setBasisSetSize(-1);
}
if(ylmBasisSet!=nullptr)
{
ylmBasisSet->setBasisSetSize(-1);
}
return true;
}
@ -177,7 +192,6 @@ namespace qmcplusplus
lcos->setIdentity(true);
}
return lcos;
return nullptr;
}
}

View File

@ -48,6 +48,8 @@ namespace qmcplusplus
*/
LCAOrbitalBuilder(ParticleSet& els, ParticleSet& ions, bool cusp=false, std::string cusp_info="");
~LCAOrbitalBuilder();
inline bool is_same(const xmlChar* a, const char* b)
{
return !strcmp((const char*)a,b);

View File

@ -75,7 +75,7 @@ struct SoaLocalizedBasisSet //: public BasisSetBase<typename COT::value_type>
NumTargets=els.getTotalNum();
LOBasisSet.resize(ions.getSpeciesSet().getTotalNum(),0);
BasisOffset.resize(NumCenters+1);
BasisSetSize=-1;
BasisSetSize=0;
}
/** copy constructor */
@ -92,7 +92,7 @@ struct SoaLocalizedBasisSet //: public BasisSetBase<typename COT::value_type>
*/
void setBasisSetSize(int nbs)
{
if(nbs == BasisSetSize) return;
if(BasisSetSize>0 && nbs == BasisSetSize) return;
//evaluate the total basis dimension and offset for each center
BasisOffset[0] = 0;

View File

@ -10,15 +10,20 @@
//////////////////////////////////////////////////////////////////////////////////////
/** @file SphericalBasisSet.h
* @brief A basis set of spherical symmetry associated with a center
/** @file SoaSphericalBasisSet.h
*/
#ifndef QMCPLUSPLUS_SOA_SPHERICALORBITAL_BASISSET_H
#define QMCPLUSPLUS_SOA_SPHERICALORBITAL_BASISSET_H
namespace qmcplusplus
{
/* A basis set for a center type
*
* @tparam ROT : radial function type, e.g.,NGFunctor<T>
* @tparam SH : spherical or carteisan Harmonics for (l,m) expansion
*
* \f$ \phi_{n,l,m}({\bf r})=R_{n,l}(r) Y_{l,m}(\theta) \f$
*/
template<typename ROT, typename SH>
struct SoaSphericalBasisSet
{