This repository has been archived by the owner on Sep 28, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #379 from votca/for/stable/merge_master
Merge bugfixes from master
- Loading branch information
Showing
179 changed files
with
289,499 additions
and
1,996 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
/* | ||
* Copyright 2009-2019 The VOTCA Development Team | ||
* (http://www.votca.org) | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License") | ||
* | ||
* You may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
* | ||
*/ | ||
|
||
#pragma once | ||
#ifndef VOTCA_XTP_INDEXPARSER_H | ||
#define VOTCA_XTP_INDEXPARSER_H | ||
|
||
#include <string> | ||
#include <vector> | ||
#include <votca/tools/types.h> | ||
|
||
/** | ||
* \brief Parser to read strings containing indexes in the format "1 2:7 8" | ||
* and returning a sorted expanded std::vector<Index> with only unique entries | ||
* It can also do the opposite | ||
*/ | ||
|
||
namespace votca { | ||
namespace xtp { | ||
|
||
class IndexParser { | ||
public: | ||
std::vector<Index> CreateIndexVector(const std::string& Ids) const; | ||
|
||
std::string CreateIndexString(const std::vector<Index>& indeces) const; | ||
}; | ||
|
||
} // namespace xtp | ||
} // namespace votca | ||
|
||
#endif // VOTCA_XTP_ATOMCONTAINER_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
/* | ||
* Copyright 2009-2019 The VOTCA Development Team | ||
* (http://www.votca.org) | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License") | ||
* | ||
* You may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
* | ||
*/ | ||
|
||
#pragma once | ||
#ifndef XTP_AMPLITUDE_INTEGRATION_H | ||
#define XTP_AMPLITUDE_INTEGRATION_H | ||
|
||
#include <votca/xtp/aobasis.h> | ||
#include <votca/xtp/eigen.h> | ||
#include <votca/xtp/regular_grid.h> | ||
namespace votca { | ||
namespace xtp { | ||
|
||
template <class Grid> | ||
class AmplitudeIntegration { | ||
public: | ||
explicit AmplitudeIntegration(const Grid& grid) : _grid(grid){}; | ||
|
||
std::vector<std::vector<double> > IntegrateAmplitude( | ||
const Eigen::VectorXd& amplitude); | ||
|
||
private: | ||
std::vector<std::vector<double> > SetupAmplitudeContainer(); | ||
const Grid _grid; | ||
}; | ||
|
||
} // namespace xtp | ||
} // namespace votca | ||
#endif // XTP_NUMERICAL_INTEGRATION_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
/* | ||
* Copyright 2009-2019 The VOTCA Development Team | ||
* (http://www.votca.org) | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License") | ||
* | ||
* You may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
* | ||
*/ | ||
|
||
#pragma once | ||
#ifndef VOTCA_XTP_CUBEFILE_WRITER_H | ||
#define VOTCA_XTP_CUBEFILE_WRITER_H | ||
|
||
#include <votca/xtp/logger.h> | ||
#include <votca/xtp/orbitals.h> | ||
#include <votca/xtp/regular_grid.h> | ||
/** | ||
* \brief Writes an orbital file to a .cube file | ||
*/ | ||
|
||
namespace votca { | ||
namespace xtp { | ||
class CubeFile_Writer { | ||
|
||
public: | ||
CubeFile_Writer(Eigen::Array<Index, 3, 1> steps, double padding, Logger& log) | ||
: _steps(steps), _padding(padding), _log(log){}; | ||
|
||
void WriteFile(const std::string& filename, const Orbitals& orb, | ||
QMState state, bool dostateonly) const; | ||
|
||
private: | ||
std::vector<std::vector<double> > CalculateValues( | ||
const Orbitals& orb, QMState state, bool dostateonly, | ||
const Regular_Grid& grid) const; | ||
|
||
Eigen::Array<Index, 3, 1> _steps; | ||
double _padding; | ||
Logger& _log; | ||
}; | ||
|
||
} // namespace xtp | ||
} // namespace votca | ||
|
||
#endif // VOTCA_XTP_CUBEFILE_WRITER_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
/* | ||
* Copyright 2009-2019 The VOTCA Development Team | ||
* (http://www.votca.org) | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License") | ||
* | ||
* You may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
* | ||
*/ | ||
|
||
#pragma once | ||
#ifndef XTP_DENSITY_INTEGRATION_H | ||
#define XTP_DENSITY_INTEGRATION_H | ||
|
||
#include <votca/xtp/aobasis.h> | ||
#include <votca/xtp/eigen.h> | ||
#include <votca/xtp/regular_grid.h> | ||
#include <votca/xtp/vxc_grid.h> | ||
namespace votca { | ||
namespace xtp { | ||
|
||
struct Gyrationtensor { | ||
double mass; | ||
Eigen::Vector3d centroid; | ||
Eigen::Matrix3d gyration; | ||
}; | ||
|
||
template <class Grid> | ||
class DensityIntegration { | ||
public: | ||
explicit DensityIntegration(const Grid& grid) : _grid(grid){}; | ||
|
||
double IntegrateDensity(const Eigen::MatrixXd& density_matrix); | ||
double IntegratePotential(const Eigen::Vector3d& rvector) const; | ||
Eigen::Vector3d IntegrateField(const Eigen::Vector3d& rvector) const; | ||
Eigen::MatrixXd IntegratePotential(const AOBasis& externalbasis) const; | ||
|
||
Gyrationtensor IntegrateGyrationTensor(const Eigen::MatrixXd& density_matrix); | ||
|
||
const std::vector<std::vector<double> >& getDensities() const { | ||
return _densities; | ||
} | ||
|
||
private: | ||
void SetupDensityContainer(); | ||
const Grid _grid; | ||
|
||
std::vector<std::vector<double> > _densities; | ||
}; | ||
|
||
} // namespace xtp | ||
} // namespace votca | ||
#endif // XTP_NUMERICAL_INTEGRATION_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
/* | ||
* Copyright 2009-2019 The VOTCA Development Team | ||
* (http://www.votca.org) | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License") | ||
* | ||
* You may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
* | ||
*/ | ||
|
||
#pragma once | ||
#ifndef VOTCA_XTP_FILTERFACTORY_H | ||
#define VOTCA_XTP_FILTERFACTORY_H | ||
|
||
#include <votca/tools/objectfactory.h> | ||
#include <votca/xtp/statefilter_base.h> | ||
|
||
namespace votca { | ||
namespace xtp { | ||
|
||
class FilterFactory | ||
: public tools::ObjectFactory<std::string, StateFilter_base> { | ||
private: | ||
FilterFactory() = default; | ||
|
||
public: | ||
static void RegisterAll(void); | ||
friend FilterFactory &Filter(); | ||
}; | ||
|
||
inline FilterFactory &Filter() { | ||
static FilterFactory _instance; | ||
return _instance; | ||
} | ||
|
||
} // namespace xtp | ||
} // namespace votca | ||
|
||
#endif // VOTCA_XTP_QMPACKAGEFACTORY_H |
Oops, something went wrong.