• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revision5639d87fc104ba65cc5995878a336b112f13fac5 (tree)
Time2013-12-31 19:28:19
Authormikiya_fujii <mikiya_fujii@1136...>
Commitermikiya_fujii

Log Message

Ghost atom classes are added. #32750

git-svn-id: https://svn.sourceforge.jp/svnroot/molds/trunk@1606 1136aad2-a195-0410-b898-f5ea1d11b9d8

Change Summary

Incremental Difference

--- a/src/Makefile
+++ b/src/Makefile
@@ -38,9 +38,9 @@ DEPFILE = obj/objfile.dep
3838 LDFLAGS = -Wl,-rpath=$(BOOST_LIB_DIR)
3939 THIS_MAKEFILE := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
4040
41-ALL_CPP_FILES = base/Enums.cpp base/PrintController.cpp base/MolDSException.cpp base/MallocerFreer.cpp mpi/MpiProcess.cpp mpi/AsyncCommunicator.cpp wrappers/Blas.cpp wrappers/Lapack.cpp base/Utilities.cpp base/MathUtilities.cpp base/EularAngle.cpp base/Parameters.cpp base/RealSphericalHarmonicsIndex.cpp base/atoms/Atom.cpp base/atoms/Hatom.cpp base/atoms/Liatom.cpp base/atoms/Catom.cpp base/atoms/Natom.cpp base/atoms/Oatom.cpp base/atoms/Satom.cpp base/atoms/mm/EnvironmentalPointCharge.cpp base/factories/AtomFactory.cpp base/Molecule.cpp base/InputParser.cpp base/GTOExpansionSTO.cpp base/loggers/MOLogger.cpp base/loggers/DensityLogger.cpp base/loggers/HoleDensityLogger.cpp base/loggers/ParticleDensityLogger.cpp cndo/Cndo2.cpp indo/Indo.cpp zindo/ZindoS.cpp mndo/Mndo.cpp am1/Am1.cpp am1/Am1D.cpp pm3/Pm3.cpp pm3/Pm3D.cpp pm3/Pm3Pddg.cpp base/factories/ElectronicStructureFactory.cpp md/MD.cpp mc/MC.cpp rpmd/RPMD.cpp nasco/NASCO.cpp optimization/Optimizer.cpp optimization/ConjugateGradient.cpp optimization/SteepestDescent.cpp optimization/BFGS.cpp optimization/GEDIIS.cpp base/factories/OptimizerFactory.cpp base/MolDS.cpp Main.cpp
42-ALL_HEAD_FILES = config.h base/Enums.h base/Uncopyable.h base/PrintController.h base/MolDSException.h base/containers/ThreadSafeQueue.h base/MallocerFreer.h mpi/MpiInt.h mpi/MpiProcess.h mpi/AsyncCommunicator.h wrappers/Blas.h wrappers/Lapack.h base/Utilities.h base/MathUtilities.h base/EularAngle.h base/Parameters.h base/RealSphericalHarmonicsIndex.h base/atoms/Atom.h base/atoms/Hatom.h base/atoms/Liatom.h base/atoms/Catom.h base/atoms/Natom.h base/atoms/Oatom.h base/atoms/Satom.h base/atoms/mm/EnvironmentalPointCharge.h base/factories/AtomFactory.h base/Molecule.h base/InputParser.h base/GTOExpansionSTO.h base/loggers/MOLogger.h base/loggers/DensityLogger.h base/loggers/HoleDensityLogger.h base/loggers/ParticleDensityLogger.h base/ElectronicStructure.h cndo/Cndo2.h cndo/ReducedOverlapAOsParameters.h indo/Indo.h zindo/ZindoS.h mndo/Mndo.h am1/Am1.h am1/Am1D.h pm3/Pm3.h pm3/Pm3D.h pm3/Pm3Pddg.h base/factories/ElectronicStructureFactory.h md/MD.h mc/MC.h rpmd/RPMD.h nasco/NASCO.h optimization/Optimizer.h optimization/ConjugateGradient.h optimization/SteepestDescent.h optimization/BFGS.h optimization/GEDIIS.h base/factories/OptimizerFactory.h base/MolDS.h
43-ALL_OBJ_FILES = obj/Enums.o obj/PrintController.o obj/MolDSException.o obj/MallocerFreer.o obj/MpiProcess.o obj/AsyncCommunicator.o obj/Blas.o obj/Lapack.o obj/Utilities.o obj/MathUtilities.o obj/EularAngle.o obj/Parameters.o obj/RealSphericalHarmonicsIndex.o obj/Atom.o obj/Hatom.o obj/Liatom.o obj/Catom.o obj/Natom.o obj/Oatom.o obj/Satom.o obj/EnvironmentalPointCharge.o obj/AtomFactory.o obj/Molecule.o obj/InputParser.o obj/GTOExpansionSTO.o obj/MOLogger.o obj/DensityLogger.o obj/HoleDensityLogger.o obj/ParticleDensityLogger.o obj/Cndo2.o obj/Indo.o obj/ZindoS.o obj/Mndo.o obj/Am1.o obj/Am1D.o obj/Pm3.o obj/Pm3D.o obj/Pm3Pddg.o obj/ElectronicStructureFactory.o obj/MD.o obj/MC.o obj/RPMD.o obj/NASCO.o obj/Optimizer.o obj/ConjugateGradient.o obj/SteepestDescent.o obj/BFGS.o obj/GEDIIS.o obj/OptimizerFactory.o obj/MolDS.o obj/Main.o
41+ALL_CPP_FILES = base/Enums.cpp base/PrintController.cpp base/MolDSException.cpp base/MallocerFreer.cpp mpi/MpiProcess.cpp mpi/AsyncCommunicator.cpp wrappers/Blas.cpp wrappers/Lapack.cpp base/Utilities.cpp base/MathUtilities.cpp base/EularAngle.cpp base/Parameters.cpp base/RealSphericalHarmonicsIndex.cpp base/atoms/Atom.cpp base/atoms/Hatom.cpp base/atoms/Liatom.cpp base/atoms/Catom.cpp base/atoms/Natom.cpp base/atoms/Oatom.cpp base/atoms/Satom.cpp base/atoms/bq/Bq.cpp base/atoms/bq/BqHatom.cpp base/atoms/bq/BqLiatom.cpp base/atoms/bq/BqCatom.cpp base/atoms/bq/BqNatom.cpp base/atoms/bq/BqOatom.cpp base/atoms/bq/BqSatom.cpp base/atoms/mm/EnvironmentalPointCharge.cpp base/factories/AtomFactory.cpp base/Molecule.cpp base/InputParser.cpp base/GTOExpansionSTO.cpp base/loggers/MOLogger.cpp base/loggers/DensityLogger.cpp base/loggers/HoleDensityLogger.cpp base/loggers/ParticleDensityLogger.cpp cndo/Cndo2.cpp indo/Indo.cpp zindo/ZindoS.cpp mndo/Mndo.cpp am1/Am1.cpp am1/Am1D.cpp pm3/Pm3.cpp pm3/Pm3D.cpp pm3/Pm3Pddg.cpp base/factories/ElectronicStructureFactory.cpp md/MD.cpp mc/MC.cpp rpmd/RPMD.cpp nasco/NASCO.cpp optimization/Optimizer.cpp optimization/ConjugateGradient.cpp optimization/SteepestDescent.cpp optimization/BFGS.cpp optimization/GEDIIS.cpp base/factories/OptimizerFactory.cpp base/MolDS.cpp Main.cpp
42+ALL_HEAD_FILES = config.h base/Enums.h base/Uncopyable.h base/PrintController.h base/MolDSException.h base/containers/ThreadSafeQueue.h base/MallocerFreer.h mpi/MpiInt.h mpi/MpiProcess.h mpi/AsyncCommunicator.h wrappers/Blas.h wrappers/Lapack.h base/Utilities.h base/MathUtilities.h base/EularAngle.h base/Parameters.h base/RealSphericalHarmonicsIndex.h base/atoms/Atom.h base/atoms/Hatom.h base/atoms/Liatom.h base/atoms/Catom.h base/atoms/Natom.h base/atoms/Oatom.h base/atoms/Satom.h base/atoms/bq/Bq.h base/atoms/bq/BqHatom.h base/atoms/bq/BqLiatom.h base/atoms/bq/BqCatom.h base/atoms/bq/BqNatom.h base/atoms/bq/BqOatom.h base/atoms/bq/BqSatom.h base/atoms/mm/EnvironmentalPointCharge.h base/factories/AtomFactory.h base/Molecule.h base/InputParser.h base/GTOExpansionSTO.h base/loggers/MOLogger.h base/loggers/DensityLogger.h base/loggers/HoleDensityLogger.h base/loggers/ParticleDensityLogger.h base/ElectronicStructure.h cndo/Cndo2.h cndo/ReducedOverlapAOsParameters.h indo/Indo.h zindo/ZindoS.h mndo/Mndo.h am1/Am1.h am1/Am1D.h pm3/Pm3.h pm3/Pm3D.h pm3/Pm3Pddg.h base/factories/ElectronicStructureFactory.h md/MD.h mc/MC.h rpmd/RPMD.h nasco/NASCO.h optimization/Optimizer.h optimization/ConjugateGradient.h optimization/SteepestDescent.h optimization/BFGS.h optimization/GEDIIS.h base/factories/OptimizerFactory.h base/MolDS.h
43+ALL_OBJ_FILES = obj/Enums.o obj/PrintController.o obj/MolDSException.o obj/MallocerFreer.o obj/MpiProcess.o obj/AsyncCommunicator.o obj/Blas.o obj/Lapack.o obj/Utilities.o obj/MathUtilities.o obj/EularAngle.o obj/Parameters.o obj/RealSphericalHarmonicsIndex.o obj/Atom.o obj/Hatom.o obj/Liatom.o obj/Catom.o obj/Natom.o obj/Oatom.o obj/Satom.o obj/Bq.o obj/BqHatom.o obj/BqLiatom.o obj/BqCatom.o obj/BqNatom.o obj/BqOatom.o obj/BqSatom.o obj/EnvironmentalPointCharge.o obj/AtomFactory.o obj/Molecule.o obj/InputParser.o obj/GTOExpansionSTO.o obj/MOLogger.o obj/DensityLogger.o obj/HoleDensityLogger.o obj/ParticleDensityLogger.o obj/Cndo2.o obj/Indo.o obj/ZindoS.o obj/Mndo.o obj/Am1.o obj/Am1D.o obj/Pm3.o obj/Pm3D.o obj/Pm3Pddg.o obj/ElectronicStructureFactory.o obj/MD.o obj/MC.o obj/RPMD.o obj/NASCO.o obj/Optimizer.o obj/ConjugateGradient.o obj/SteepestDescent.o obj/BFGS.o obj/GEDIIS.o obj/OptimizerFactory.o obj/MolDS.o obj/Main.o
4444
4545 $(EXENAME): $(DEPFILE) $(ALL_OBJ_FILES)
4646 $(CC) -o $@ $(LDFLAGS) -L$(BOOST_LIB_DIR) $(ALL_OBJ_FILES) $(LIBS)
--- a/src/Makefile_GNU
+++ b/src/Makefile_GNU
@@ -35,9 +35,9 @@ DEPFILE = obj/objfile.dep
3535 LDFLAGS = -Wl,-rpath=$(BOOST_LIB_DIR) -Wl,-rpath=$(OPENBLAS_LIB_DIR)
3636 THIS_MAKEFILE := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
3737
38-ALL_CPP_FILES = base/Enums.cpp base/PrintController.cpp base/MolDSException.cpp base/MallocerFreer.cpp mpi/MpiProcess.cpp mpi/AsyncCommunicator.cpp wrappers/Blas.cpp wrappers/Lapack.cpp base/Utilities.cpp base/MathUtilities.cpp base/EularAngle.cpp base/Parameters.cpp base/atoms/Atom.cpp base/atoms/Hatom.cpp base/atoms/Liatom.cpp base/atoms/Catom.cpp base/atoms/Natom.cpp base/atoms/Oatom.cpp base/atoms/Satom.cpp base/atoms/mm/EnvironmentalPointCharge.cpp base/factories/AtomFactory.cpp base/Molecule.cpp base/InputParser.cpp base/GTOExpansionSTO.cpp base/RealSphericalHarmonicsIndex.cpp base/loggers/MOLogger.cpp base/loggers/DensityLogger.cpp base/loggers/HoleDensityLogger.cpp base/loggers/ParticleDensityLogger.cpp cndo/Cndo2.cpp indo/Indo.cpp zindo/ZindoS.cpp mndo/Mndo.cpp am1/Am1.cpp am1/Am1D.cpp pm3/Pm3.cpp pm3/Pm3D.cpp pm3/Pm3Pddg.cpp base/factories/ElectronicStructureFactory.cpp md/MD.cpp mc/MC.cpp rpmd/RPMD.cpp nasco/NASCO.cpp optimization/Optimizer.cpp optimization/ConjugateGradient.cpp optimization/SteepestDescent.cpp optimization/BFGS.cpp optimization/GEDIIS.cpp base/factories/OptimizerFactory.cpp base/MolDS.cpp Main.cpp
39-ALL_HEAD_FILES = config.h base/Enums.h base/Uncopyable.h base/PrintController.h base/MolDSException.h base/containers/ThreadSafeQueue.h base/MallocerFreer.h mpi/MpiInt.h mpi/MpiProcess.h mpi/AsyncCommunicator.h wrappers/Blas.h wrappers/Lapack.h base/Utilities.h base/MathUtilities.h base/EularAngle.h base/Parameters.h base/atoms/Atom.h base/atoms/Hatom.h base/atoms/Liatom.h base/atoms/Catom.h base/atoms/Natom.h base/atoms/Oatom.h base/atoms/Satom.h base/atoms/mm/EnvironmentalPointCharge.h base/factories/AtomFactory.h base/Molecule.h base/InputParser.h base/GTOExpansionSTO.h base/RealSphericalHarmonicsIndex.h base/loggers/MOLogger.h base/loggers/DensityLogger.h base/loggers/HoleDensityLogger.h base/loggers/ParticleDensityLogger.h base/ElectronicStructure.h cndo/Cndo2.h cndo/ReducedOverlapAOsParameters.h indo/Indo.h zindo/ZindoS.h mndo/Mndo.h am1/Am1.h am1/Am1D.h pm3/Pm3.h pm3/Pm3D.h pm3/Pm3Pddg.h base/factories/ElectronicStructureFactory.h md/MD.h mc/MC.h rpmd/RPMD.h nasco/NASCO.h optimization/Optimizer.h optimization/ConjugateGradient.h optimization/SteepestDescent.h optimization/BFGS.h optimization/GEDIIS.h base/factories/OptimizerFactory.h base/MolDS.h
40-ALL_OBJ_FILES = obj/Enums.o obj/PrintController.o obj/MolDSException.o obj/MallocerFreer.o obj/MpiProcess.o obj/AsyncCommunicator.o obj/Blas.o obj/Lapack.o obj/Utilities.o obj/MathUtilities.o obj/EularAngle.o obj/Parameters.o obj/Atom.o obj/Hatom.o obj/Liatom.o obj/Catom.o obj/Natom.o obj/Oatom.o obj/Satom.o obj/EnvironmentalPointCharge.o obj/AtomFactory.o obj/Molecule.o obj/InputParser.o obj/GTOExpansionSTO.o obj/RealSphericalHarmonicsIndex.o obj/MOLogger.o obj/DensityLogger.o obj/HoleDensityLogger.o obj/ParticleDensityLogger.o obj/Cndo2.o obj/Indo.o obj/ZindoS.o obj/Mndo.o obj/Am1.o obj/Am1D.o obj/Pm3.o obj/Pm3D.o obj/Pm3Pddg.o obj/ElectronicStructureFactory.o obj/MD.o obj/MC.o obj/RPMD.o obj/NASCO.o obj/Optimizer.o obj/ConjugateGradient.o obj/SteepestDescent.o obj/BFGS.o obj/GEDIIS.o obj/OptimizerFactory.o obj/MolDS.o obj/Main.o
38+ALL_CPP_FILES = base/Enums.cpp base/PrintController.cpp base/MolDSException.cpp base/MallocerFreer.cpp mpi/MpiProcess.cpp mpi/AsyncCommunicator.cpp wrappers/Blas.cpp wrappers/Lapack.cpp base/Utilities.cpp base/MathUtilities.cpp base/EularAngle.cpp base/Parameters.cpp base/atoms/Atom.cpp base/atoms/Hatom.cpp base/atoms/Liatom.cpp base/atoms/Catom.cpp base/atoms/Natom.cpp base/atoms/Oatom.cpp base/atoms/Satom.cpp base/atoms/bq/Bq.cpp base/atoms/bq/BqHatom.cpp base/atoms/bq/BqLiatom.cpp base/atoms/bq/BqCatom.cpp base/atoms/bq/BqNatom.cpp base/atoms/bq/BqOatom.cpp base/atoms/bq/BqSatom.cpp base/atoms/mm/EnvironmentalPointCharge.cpp base/factories/AtomFactory.cpp base/Molecule.cpp base/InputParser.cpp base/GTOExpansionSTO.cpp base/RealSphericalHarmonicsIndex.cpp base/loggers/MOLogger.cpp base/loggers/DensityLogger.cpp base/loggers/HoleDensityLogger.cpp base/loggers/ParticleDensityLogger.cpp cndo/Cndo2.cpp indo/Indo.cpp zindo/ZindoS.cpp mndo/Mndo.cpp am1/Am1.cpp am1/Am1D.cpp pm3/Pm3.cpp pm3/Pm3D.cpp pm3/Pm3Pddg.cpp base/factories/ElectronicStructureFactory.cpp md/MD.cpp mc/MC.cpp rpmd/RPMD.cpp nasco/NASCO.cpp optimization/Optimizer.cpp optimization/ConjugateGradient.cpp optimization/SteepestDescent.cpp optimization/BFGS.cpp optimization/GEDIIS.cpp base/factories/OptimizerFactory.cpp base/MolDS.cpp Main.cpp
39+ALL_HEAD_FILES = config.h base/Enums.h base/Uncopyable.h base/PrintController.h base/MolDSException.h base/containers/ThreadSafeQueue.h base/MallocerFreer.h mpi/MpiInt.h mpi/MpiProcess.h mpi/AsyncCommunicator.h wrappers/Blas.h wrappers/Lapack.h base/Utilities.h base/MathUtilities.h base/EularAngle.h base/Parameters.h base/atoms/Atom.h base/atoms/Hatom.h base/atoms/Liatom.h base/atoms/Catom.h base/atoms/Natom.h base/atoms/Oatom.h base/atoms/Satom.h base/atoms/bq/Bq.h base/atoms/bq/BqHatom.h base/atoms/bq/BqLiatom.h base/atoms/bq/BqCatom.h base/atoms/bq/BqNatom.h base/atoms/bq/BqOatom.h base/atoms/bq/BqSatom.h base/atoms/mm/EnvironmentalPointCharge.h base/factories/AtomFactory.h base/Molecule.h base/InputParser.h base/GTOExpansionSTO.h base/RealSphericalHarmonicsIndex.h base/loggers/MOLogger.h base/loggers/DensityLogger.h base/loggers/HoleDensityLogger.h base/loggers/ParticleDensityLogger.h base/ElectronicStructure.h cndo/Cndo2.h cndo/ReducedOverlapAOsParameters.h indo/Indo.h zindo/ZindoS.h mndo/Mndo.h am1/Am1.h am1/Am1D.h pm3/Pm3.h pm3/Pm3D.h pm3/Pm3Pddg.h base/factories/ElectronicStructureFactory.h md/MD.h mc/MC.h rpmd/RPMD.h nasco/NASCO.h optimization/Optimizer.h optimization/ConjugateGradient.h optimization/SteepestDescent.h optimization/BFGS.h optimization/GEDIIS.h base/factories/OptimizerFactory.h base/MolDS.h
40+ALL_OBJ_FILES = obj/Enums.o obj/PrintController.o obj/MolDSException.o obj/MallocerFreer.o obj/MpiProcess.o obj/AsyncCommunicator.o obj/Blas.o obj/Lapack.o obj/Utilities.o obj/MathUtilities.o obj/EularAngle.o obj/Parameters.o obj/Atom.o obj/Hatom.o obj/Liatom.o obj/Catom.o obj/Natom.o obj/Oatom.o obj/Satom.o obj/Bq.o obj/BqHatom.o obj/BqLiatom.o obj/BqCatom.o obj/BqNatom.o obj/BqOatom.o obj/BqSatom.o obj/EnvironmentalPointCharge.o obj/AtomFactory.o obj/Molecule.o obj/InputParser.o obj/GTOExpansionSTO.o obj/RealSphericalHarmonicsIndex.o obj/MOLogger.o obj/DensityLogger.o obj/HoleDensityLogger.o obj/ParticleDensityLogger.o obj/Cndo2.o obj/Indo.o obj/ZindoS.o obj/Mndo.o obj/Am1.o obj/Am1D.o obj/Pm3.o obj/Pm3D.o obj/Pm3Pddg.o obj/ElectronicStructureFactory.o obj/MD.o obj/MC.o obj/RPMD.o obj/NASCO.o obj/Optimizer.o obj/ConjugateGradient.o obj/SteepestDescent.o obj/BFGS.o obj/GEDIIS.o obj/OptimizerFactory.o obj/MolDS.o obj/Main.o
4141
4242 $(EXENAME): $(DEPFILE) $(ALL_OBJ_FILES)
4343 $(CC) -o $@ $(LDFLAGS) $(ALL_OBJ_FILES) -L$(BOOST_LIB_DIR) -L$(OPENBLAS_LIB_DIR) $(LIBS)
--- a/src/base/Enums.h
+++ b/src/base/Enums.h
@@ -107,24 +107,42 @@ RENUMSTR_BEGIN( OrbitalType, OrbitalTypeStr )
107107 RENUMSTR_END()
108108
109109 RENUMSTR_BEGIN( AtomType, AtomTypeStr )
110- RENUMSTR( H, "H" )
111- RENUMSTR( He, "He" )
112- RENUMSTR( Li, "Li" )
113- RENUMSTR( Be, "Be" )
114- RENUMSTR( B, "B" )
115- RENUMSTR( C, "C" )
116- RENUMSTR( N, "N" )
117- RENUMSTR( O, "O" )
118- RENUMSTR( F, "F" )
119- RENUMSTR( Ne, "Ne" )
120- RENUMSTR( Na, "Na" )
121- RENUMSTR( Mg, "Mg" )
122- RENUMSTR( Al, "Al" )
123- RENUMSTR( Si, "Si" )
124- RENUMSTR( P, "P" )
125- RENUMSTR( S, "S" )
126- RENUMSTR( Cl, "Cl" )
127- RENUMSTR( Ar, "Ar" )
110+ RENUMSTR( H, "H" )
111+ RENUMSTR( He, "He" )
112+ RENUMSTR( Li, "Li" )
113+ RENUMSTR( Be, "Be" )
114+ RENUMSTR( B, "B" )
115+ RENUMSTR( C, "C" )
116+ RENUMSTR( N, "N" )
117+ RENUMSTR( O, "O" )
118+ RENUMSTR( F, "F" )
119+ RENUMSTR( Ne, "Ne" )
120+ RENUMSTR( Na, "Na" )
121+ RENUMSTR( Mg, "Mg" )
122+ RENUMSTR( Al, "Al" )
123+ RENUMSTR( Si, "Si" )
124+ RENUMSTR( P, "P" )
125+ RENUMSTR( S, "S" )
126+ RENUMSTR( Cl, "Cl" )
127+ RENUMSTR( Ar, "Ar" )
128+ RENUMSTR( bqH, "ghost-H" )
129+ RENUMSTR( bqHe, "ghost-He" )
130+ RENUMSTR( bqLi, "ghost-Li" )
131+ RENUMSTR( bqBe, "ghost-Be" )
132+ RENUMSTR( bqB, "ghost-B" )
133+ RENUMSTR( bqC, "ghost-C" )
134+ RENUMSTR( bqN, "ghost-N" )
135+ RENUMSTR( bqO, "ghost-O" )
136+ RENUMSTR( bqF, "ghost-F" )
137+ RENUMSTR( bqNe, "ghost-Ne" )
138+ RENUMSTR( bqNa, "ghost-Na" )
139+ RENUMSTR( bqMg, "ghost-Mg" )
140+ RENUMSTR( bqAl, "ghost-Al" )
141+ RENUMSTR( bqSi, "ghost-Si" )
142+ RENUMSTR( bqP, "ghost-P" )
143+ RENUMSTR( bqS, "ghost-S" )
144+ RENUMSTR( bqCl, "ghost-Cl" )
145+ RENUMSTR( bqAr, "ghost-Ar" )
128146 RENUMSTR( EPC, "Environmental Point Charge" )
129147 RENUMSTR( AtomType_end, "AtomType_end" )
130148 RENUMSTR_END()
--- a/src/base/atoms/Atom.cpp
+++ b/src/base/atoms/Atom.cpp
@@ -58,6 +58,8 @@ Atom::Atom(int index){
5858 this->index = index;
5959 }
6060
61+Atom::Atom(){}
62+
6163 Atom::~Atom(){
6264 MallocerFreer::GetInstance()->Free<double>(&this->xyz, CartesianType_end);
6365 MallocerFreer::GetInstance()->Free<double>(&this->pxyz, CartesianType_end);
--- a/src/base/atoms/Atom.h
+++ b/src/base/atoms/Atom.h
@@ -107,6 +107,7 @@ public:
107107 double GetPm3PddgParameterPa(int paIndex) const;
108108 double GetPm3PddgParameterDa(int daIndex) const;
109109 protected:
110+ Atom();
110111 double* xyz; // coordinates
111112 double* pxyz; // momentum. Note that this is not velocity!!
112113 MolDS_base::AtomType atomType;
@@ -228,8 +229,8 @@ protected:
228229 double pm3DBondingParameterS; // Table II in ref. [MH_2007] for H, C, N, O, and Table IV in re. [MMHBV_2007] for S.
229230 double pm3DBondingParameterP; // Table II in ref. [MH_2007] for H, C, N, O, and Table IV in re. [MMHBV_2007] for S.
230231 double pm3DAlpha; // Table II in ref. [MH_2007] for H, C, N, O, and Table IV in re. [MMHBV_2007] for S.
232+ virtual void SetAtomicParameters() = 0;
231233 private:
232- Atom();
233234 std::string errorMessageIonPot;
234235 std::string errorMessageAtomType;
235236 std::string errorMessageNumberValences;
@@ -306,7 +307,6 @@ private:
306307 double GetPm3CoreIntegral(MolDS_base::OrbitalType orbital) const;
307308 double GetPm3DCoreIntegral(MolDS_base::OrbitalType orbital) const;
308309 double GetPm3PddgCoreIntegral(MolDS_base::OrbitalType orbital) const;
309- virtual void SetAtomicParameters() = 0;
310310 };
311311 }
312312 #endif
--- a/src/base/atoms/Catom.h
+++ b/src/base/atoms/Catom.h
@@ -19,12 +19,13 @@
1919 #ifndef INCLUDED_CATOM
2020 #define INCLUDED_CATOM
2121 namespace MolDS_base_atoms{
22-class Catom : public Atom {
22+class Catom : virtual public Atom {
2323 public:
2424 Catom(int index);
25+protected:
26+ void virtual SetAtomicParameters();
2527 private:
2628 Catom();
27- void SetAtomicParameters();
2829 };
2930 }
3031 #endif
--- a/src/base/atoms/Hatom.h
+++ b/src/base/atoms/Hatom.h
@@ -20,12 +20,13 @@
2020 #define INCLUDED_HATOM
2121 namespace MolDS_base_atoms{
2222
23-class Hatom : public Atom {
23+class Hatom : virtual public Atom {
2424 public:
2525 Hatom(int index);
26+protected:
27+ void virtual SetAtomicParameters();
2628 private:
2729 Hatom();
28- void SetAtomicParameters();
2930 };
3031
3132 }
--- a/src/base/atoms/Liatom.h
+++ b/src/base/atoms/Liatom.h
@@ -19,12 +19,13 @@
1919 #ifndef INCLUDED_LIATOM
2020 #define INCLUDED_LIATOM
2121 namespace MolDS_base_atoms{
22-class Liatom : public Atom {
22+class Liatom : virtual public Atom {
2323 public:
2424 Liatom(int index);
25+protected:
26+ void virtual SetAtomicParameters();
2527 private:
2628 Liatom();
27- void SetAtomicParameters();
2829 };
2930 }
3031 #endif
--- a/src/base/atoms/Natom.h
+++ b/src/base/atoms/Natom.h
@@ -19,12 +19,13 @@
1919 #ifndef INCLUDED_NATOM
2020 #define INCLUDED_NATOM
2121 namespace MolDS_base_atoms{
22-class Natom : public Atom {
22+class Natom : virtual public Atom {
2323 public:
2424 Natom(int index);
25+protected:
26+ void virtual SetAtomicParameters();
2527 private:
2628 Natom();
27- void SetAtomicParameters();
2829 };
2930 }
3031 #endif
--- a/src/base/atoms/Oatom.h
+++ b/src/base/atoms/Oatom.h
@@ -19,12 +19,13 @@
1919 #ifndef INCLUDED_OATOM
2020 #define INCLUDED_OATOM
2121 namespace MolDS_base_atoms{
22-class Oatom : public Atom {
22+class Oatom : virtual public Atom {
2323 public:
2424 Oatom(int index);
25+protected:
26+ void virtual SetAtomicParameters();
2527 private:
2628 Oatom();
27- void SetAtomicParameters();
2829 };
2930 }
3031 #endif
--- a/src/base/atoms/Satom.h
+++ b/src/base/atoms/Satom.h
@@ -19,12 +19,13 @@
1919 #ifndef INCLUDED_SATOM
2020 #define INCLUDED_SATOM
2121 namespace MolDS_base_atoms{
22-class Satom : public Atom {
22+class Satom : virtual public Atom {
2323 public:
2424 Satom(int index);
25+protected:
26+ void virtual SetAtomicParameters();
2527 private:
2628 Satom();
27- void SetAtomicParameters();
2829 };
2930 }
3031 #endif
--- /dev/null
+++ b/src/base/atoms/bq/Bq.cpp
@@ -0,0 +1,54 @@
1+//************************************************************************//
2+// Copyright (C) 2011-2012 Mikiya Fujii //
3+// //
4+// This file is part of MolDS. //
5+// //
6+// MolDS is free software: you can redistribute it and/or modify //
7+// it under the terms of the GNU General Public License as published by //
8+// the Free Software Foundation, either version 3 of the License, or //
9+// (at your option) any later version. //
10+// //
11+// MolDS is distributed in the hope that it will be useful, //
12+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14+// GNU General Public License for more details. //
15+// //
16+// You should have received a copy of the GNU General Public License //
17+// along with MolDS. If not, see <http://www.gnu.org/licenses/>. //
18+//************************************************************************//
19+#include<stdio.h>
20+#include<stdlib.h>
21+#include<iostream>
22+#include<sstream>
23+#include<math.h>
24+#include<vector>
25+#include<boost/format.hpp>
26+#include"../../Enums.h"
27+#include"../../Uncopyable.h"
28+#include"../../PrintController.h"
29+#include"../../MolDSException.h"
30+#include"../../MallocerFreer.h"
31+#include"../../../mpi/MpiInt.h"
32+#include"../../../mpi/MpiProcess.h"
33+#include"../../EularAngle.h"
34+#include"../../Parameters.h"
35+#include"../../RealSphericalHarmonicsIndex.h"
36+#include"../Atom.h"
37+#include"Bq.h"
38+using namespace std;
39+using namespace MolDS_base;
40+using namespace MolDS_base_atoms;
41+namespace MolDS_base_atoms_bq{
42+Bq::Bq() : Atom(){
43+}
44+
45+void Bq::SetAtomicParameters(){
46+ this->atomicMass = 0.0;
47+ this->coreCharge = 0.0;
48+ this->numberValenceElectrons = 0;
49+ this->vdWCoefficient = 0.0;
50+ for(int i=0; i<2; i++){
51+ pm3PddgParameterPa[i]=0.0;
52+ }
53+}
54+}
--- /dev/null
+++ b/src/base/atoms/bq/Bq.h
@@ -0,0 +1,30 @@
1+//************************************************************************//
2+// Copyright (C) 2011-2012 Mikiya Fujii //
3+// //
4+// This file is part of MolDS. //
5+// //
6+// MolDS is free software: you can redistribute it and/or modify //
7+// it under the terms of the GNU General Public License as published by //
8+// the Free Software Foundation, either version 3 of the License, or //
9+// (at your option) any later version. //
10+// //
11+// MolDS is distributed in the hope that it will be useful, //
12+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14+// GNU General Public License for more details. //
15+// //
16+// You should have received a copy of the GNU General Public License //
17+// along with MolDS. If not, see <http://www.gnu.org/licenses/>. //
18+//************************************************************************//
19+#ifndef INCLUDED_BQ
20+#define INCLUDED_BQ
21+namespace MolDS_base_atoms_bq{
22+class Bq : virtual public MolDS_base_atoms::Atom {
23+public:
24+ Bq();
25+protected:
26+ void virtual SetAtomicParameters();
27+private:
28+};
29+}
30+#endif
--- /dev/null
+++ b/src/base/atoms/bq/BqCatom.cpp
@@ -0,0 +1,52 @@
1+//************************************************************************//
2+// Copyright (C) 2011-2012 Mikiya Fujii //
3+// //
4+// This file is part of MolDS. //
5+// //
6+// MolDS is free software: you can redistribute it and/or modify //
7+// it under the terms of the GNU General Public License as published by //
8+// the Free Software Foundation, either version 3 of the License, or //
9+// (at your option) any later version. //
10+// //
11+// MolDS is distributed in the hope that it will be useful, //
12+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14+// GNU General Public License for more details. //
15+// //
16+// You should have received a copy of the GNU General Public License //
17+// along with MolDS. If not, see <http://www.gnu.org/licenses/>. //
18+//************************************************************************//
19+#include<stdio.h>
20+#include<stdlib.h>
21+#include<iostream>
22+#include<sstream>
23+#include<math.h>
24+#include<vector>
25+#include<boost/format.hpp>
26+#include"../../Enums.h"
27+#include"../../Uncopyable.h"
28+#include"../../PrintController.h"
29+#include"../../MolDSException.h"
30+#include"../../MallocerFreer.h"
31+#include"../../../mpi/MpiInt.h"
32+#include"../../../mpi/MpiProcess.h"
33+#include"../../EularAngle.h"
34+#include"../../Parameters.h"
35+#include"../../RealSphericalHarmonicsIndex.h"
36+#include"../Atom.h"
37+#include"../Catom.h"
38+#include"Bq.h"
39+#include"BqCatom.h"
40+using namespace std;
41+using namespace MolDS_base;
42+using namespace MolDS_base_atoms;
43+namespace MolDS_base_atoms_bq{
44+BqCatom::BqCatom(int index) : Catom(index),Bq(){
45+}
46+
47+void BqCatom::SetAtomicParameters(){
48+ Catom::SetAtomicParameters();
49+ Bq::SetAtomicParameters();
50+ this->atomType = bqC;
51+}
52+}
--- /dev/null
+++ b/src/base/atoms/bq/BqCatom.h
@@ -0,0 +1,31 @@
1+//************************************************************************//
2+// Copyright (C) 2011-2012 Mikiya Fujii //
3+// //
4+// This file is part of MolDS. //
5+// //
6+// MolDS is free software: you can redistribute it and/or modify //
7+// it under the terms of the GNU General Public License as published by //
8+// the Free Software Foundation, either version 3 of the License, or //
9+// (at your option) any later version. //
10+// //
11+// MolDS is distributed in the hope that it will be useful, //
12+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14+// GNU General Public License for more details. //
15+// //
16+// You should have received a copy of the GNU General Public License //
17+// along with MolDS. If not, see <http://www.gnu.org/licenses/>. //
18+//************************************************************************//
19+#ifndef INCLUDED_BQCATOM
20+#define INCLUDED_BQCATOM
21+namespace MolDS_base_atoms_bq{
22+class BqCatom : public MolDS_base_atoms::Catom, public Bq {
23+public:
24+ BqCatom(int index);
25+protected:
26+ void virtual SetAtomicParameters();
27+private:
28+ BqCatom();
29+};
30+}
31+#endif
--- /dev/null
+++ b/src/base/atoms/bq/BqHatom.cpp
@@ -0,0 +1,52 @@
1+//************************************************************************//
2+// Copyright (C) 2011-2012 Mikiya Fujii //
3+// //
4+// This file is part of MolDS. //
5+// //
6+// MolDS is free software: you can redistribute it and/or modify //
7+// it under the terms of the GNU General Public License as published by //
8+// the Free Software Foundation, either version 3 of the License, or //
9+// (at your option) any later version. //
10+// //
11+// MolDS is distributed in the hope that it will be useful, //
12+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14+// GNU General Public License for more details. //
15+// //
16+// You should have received a copy of the GNU General Public License //
17+// along with MolDS. If not, see <http://www.gnu.org/licenses/>. //
18+//************************************************************************//
19+#include<stdio.h>
20+#include<stdlib.h>
21+#include<iostream>
22+#include<sstream>
23+#include<math.h>
24+#include<vector>
25+#include<boost/format.hpp>
26+#include"../../Enums.h"
27+#include"../../Uncopyable.h"
28+#include"../../PrintController.h"
29+#include"../../MolDSException.h"
30+#include"../../MallocerFreer.h"
31+#include"../../../mpi/MpiInt.h"
32+#include"../../../mpi/MpiProcess.h"
33+#include"../../EularAngle.h"
34+#include"../../Parameters.h"
35+#include"../../RealSphericalHarmonicsIndex.h"
36+#include"../Atom.h"
37+#include"../Hatom.h"
38+#include"Bq.h"
39+#include"BqHatom.h"
40+using namespace std;
41+using namespace MolDS_base;
42+using namespace MolDS_base_atoms;
43+namespace MolDS_base_atoms_bq{
44+BqHatom::BqHatom(int index) : Hatom(index),Bq(){
45+}
46+
47+void BqHatom::SetAtomicParameters(){
48+ Hatom::SetAtomicParameters();
49+ Bq::SetAtomicParameters();
50+ this->atomType = bqC;
51+}
52+}
--- /dev/null
+++ b/src/base/atoms/bq/BqHatom.h
@@ -0,0 +1,31 @@
1+//************************************************************************//
2+// Copyright (C) 2011-2012 Mikiya Fujii //
3+// //
4+// This file is part of MolDS. //
5+// //
6+// MolDS is free software: you can redistribute it and/or modify //
7+// it under the terms of the GNU General Public License as published by //
8+// the Free Software Foundation, either version 3 of the License, or //
9+// (at your option) any later version. //
10+// //
11+// MolDS is distributed in the hope that it will be useful, //
12+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14+// GNU General Public License for more details. //
15+// //
16+// You should have received a copy of the GNU General Public License //
17+// along with MolDS. If not, see <http://www.gnu.org/licenses/>. //
18+//************************************************************************//
19+#ifndef INCLUDED_BQHATOM
20+#define INCLUDED_BQHATOM
21+namespace MolDS_base_atoms_bq{
22+class BqHatom : public MolDS_base_atoms::Hatom, public Bq {
23+public:
24+ BqHatom(int index);
25+protected:
26+ void virtual SetAtomicParameters();
27+private:
28+ BqHatom();
29+};
30+}
31+#endif
--- /dev/null
+++ b/src/base/atoms/bq/BqLiatom.cpp
@@ -0,0 +1,52 @@
1+//************************************************************************//
2+// Copyright (C) 2011-2012 Mikiya Fujii //
3+// //
4+// This file is part of MolDS. //
5+// //
6+// MolDS is free software: you can redistribute it and/or modify //
7+// it under the terms of the GNU General Public License as published by //
8+// the Free Software Foundation, either version 3 of the License, or //
9+// (at your option) any later version. //
10+// //
11+// MolDS is distributed in the hope that it will be useful, //
12+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14+// GNU General Public License for more details. //
15+// //
16+// You should have received a copy of the GNU General Public License //
17+// along with MolDS. If not, see <http://www.gnu.org/licenses/>. //
18+//************************************************************************//
19+#include<stdio.h>
20+#include<stdlib.h>
21+#include<iostream>
22+#include<sstream>
23+#include<math.h>
24+#include<vector>
25+#include<boost/format.hpp>
26+#include"../../Enums.h"
27+#include"../../Uncopyable.h"
28+#include"../../PrintController.h"
29+#include"../../MolDSException.h"
30+#include"../../MallocerFreer.h"
31+#include"../../../mpi/MpiInt.h"
32+#include"../../../mpi/MpiProcess.h"
33+#include"../../EularAngle.h"
34+#include"../../Parameters.h"
35+#include"../../RealSphericalHarmonicsIndex.h"
36+#include"../Atom.h"
37+#include"../Liatom.h"
38+#include"Bq.h"
39+#include"BqLiatom.h"
40+using namespace std;
41+using namespace MolDS_base;
42+using namespace MolDS_base_atoms;
43+namespace MolDS_base_atoms_bq{
44+BqLiatom::BqLiatom(int index) : Liatom(index),Bq(){
45+}
46+
47+void BqLiatom::SetAtomicParameters(){
48+ Liatom::SetAtomicParameters();
49+ Bq::SetAtomicParameters();
50+ this->atomType = bqC;
51+}
52+}
--- /dev/null
+++ b/src/base/atoms/bq/BqLiatom.h
@@ -0,0 +1,31 @@
1+//************************************************************************//
2+// Copyright (C) 2011-2012 Mikiya Fujii //
3+// //
4+// This file is part of MolDS. //
5+// //
6+// MolDS is free software: you can redistribute it and/or modify //
7+// it under the terms of the GNU General Public License as published by //
8+// the Free Software Foundation, either version 3 of the License, or //
9+// (at your option) any later version. //
10+// //
11+// MolDS is distributed in the hope that it will be useful, //
12+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14+// GNU General Public License for more details. //
15+// //
16+// You should have received a copy of the GNU General Public License //
17+// along with MolDS. If not, see <http://www.gnu.org/licenses/>. //
18+//************************************************************************//
19+#ifndef INCLUDED_BQLIATOM
20+#define INCLUDED_BQLIATOM
21+namespace MolDS_base_atoms_bq{
22+class BqLiatom : public MolDS_base_atoms::Liatom, public Bq {
23+public:
24+ BqLiatom(int index);
25+protected:
26+ void virtual SetAtomicParameters();
27+private:
28+ BqLiatom();
29+};
30+}
31+#endif
--- /dev/null
+++ b/src/base/atoms/bq/BqNatom.cpp
@@ -0,0 +1,52 @@
1+//************************************************************************//
2+// Copyright (C) 2011-2012 Mikiya Fujii //
3+// //
4+// This file is part of MolDS. //
5+// //
6+// MolDS is free software: you can redistribute it and/or modify //
7+// it under the terms of the GNU General Public License as published by //
8+// the Free Software Foundation, either version 3 of the License, or //
9+// (at your option) any later version. //
10+// //
11+// MolDS is distributed in the hope that it will be useful, //
12+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14+// GNU General Public License for more details. //
15+// //
16+// You should have received a copy of the GNU General Public License //
17+// along with MolDS. If not, see <http://www.gnu.org/licenses/>. //
18+//************************************************************************//
19+#include<stdio.h>
20+#include<stdlib.h>
21+#include<iostream>
22+#include<sstream>
23+#include<math.h>
24+#include<vector>
25+#include<boost/format.hpp>
26+#include"../../Enums.h"
27+#include"../../Uncopyable.h"
28+#include"../../PrintController.h"
29+#include"../../MolDSException.h"
30+#include"../../MallocerFreer.h"
31+#include"../../../mpi/MpiInt.h"
32+#include"../../../mpi/MpiProcess.h"
33+#include"../../EularAngle.h"
34+#include"../../Parameters.h"
35+#include"../../RealSphericalHarmonicsIndex.h"
36+#include"../Atom.h"
37+#include"../Natom.h"
38+#include"Bq.h"
39+#include"BqNatom.h"
40+using namespace std;
41+using namespace MolDS_base;
42+using namespace MolDS_base_atoms;
43+namespace MolDS_base_atoms_bq{
44+BqNatom::BqNatom(int index) : Natom(index),Bq(){
45+}
46+
47+void BqNatom::SetAtomicParameters(){
48+ Natom::SetAtomicParameters();
49+ Bq::SetAtomicParameters();
50+ this->atomType = bqC;
51+}
52+}
--- /dev/null
+++ b/src/base/atoms/bq/BqNatom.h
@@ -0,0 +1,31 @@
1+//************************************************************************//
2+// Copyright (C) 2011-2012 Mikiya Fujii //
3+// //
4+// This file is part of MolDS. //
5+// //
6+// MolDS is free software: you can redistribute it and/or modify //
7+// it under the terms of the GNU General Public License as published by //
8+// the Free Software Foundation, either version 3 of the License, or //
9+// (at your option) any later version. //
10+// //
11+// MolDS is distributed in the hope that it will be useful, //
12+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14+// GNU General Public License for more details. //
15+// //
16+// You should have received a copy of the GNU General Public License //
17+// along with MolDS. If not, see <http://www.gnu.org/licenses/>. //
18+//************************************************************************//
19+#ifndef INCLUDED_BQNATOM
20+#define INCLUDED_BQNATOM
21+namespace MolDS_base_atoms_bq{
22+class BqNatom : public MolDS_base_atoms::Natom, public Bq {
23+public:
24+ BqNatom(int index);
25+protected:
26+ void virtual SetAtomicParameters();
27+private:
28+ BqNatom();
29+};
30+}
31+#endif
--- /dev/null
+++ b/src/base/atoms/bq/BqOatom.cpp
@@ -0,0 +1,52 @@
1+//************************************************************************//
2+// Copyright (C) 2011-2012 Mikiya Fujii //
3+// //
4+// This file is part of MolDS. //
5+// //
6+// MolDS is free software: you can redistribute it and/or modify //
7+// it under the terms of the GNU General Public License as published by //
8+// the Free Software Foundation, either version 3 of the License, or //
9+// (at your option) any later version. //
10+// //
11+// MolDS is distributed in the hope that it will be useful, //
12+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14+// GNU General Public License for more details. //
15+// //
16+// You should have received a copy of the GNU General Public License //
17+// along with MolDS. If not, see <http://www.gnu.org/licenses/>. //
18+//************************************************************************//
19+#include<stdio.h>
20+#include<stdlib.h>
21+#include<iostream>
22+#include<sstream>
23+#include<math.h>
24+#include<vector>
25+#include<boost/format.hpp>
26+#include"../../Enums.h"
27+#include"../../Uncopyable.h"
28+#include"../../PrintController.h"
29+#include"../../MolDSException.h"
30+#include"../../MallocerFreer.h"
31+#include"../../../mpi/MpiInt.h"
32+#include"../../../mpi/MpiProcess.h"
33+#include"../../EularAngle.h"
34+#include"../../Parameters.h"
35+#include"../../RealSphericalHarmonicsIndex.h"
36+#include"../Atom.h"
37+#include"../Oatom.h"
38+#include"Bq.h"
39+#include"BqOatom.h"
40+using namespace std;
41+using namespace MolDS_base;
42+using namespace MolDS_base_atoms;
43+namespace MolDS_base_atoms_bq{
44+BqOatom::BqOatom(int index) : Oatom(index),Bq(){
45+}
46+
47+void BqOatom::SetAtomicParameters(){
48+ Oatom::SetAtomicParameters();
49+ Bq::SetAtomicParameters();
50+ this->atomType = bqC;
51+}
52+}
--- /dev/null
+++ b/src/base/atoms/bq/BqOatom.h
@@ -0,0 +1,31 @@
1+//************************************************************************//
2+// Copyright (C) 2011-2012 Mikiya Fujii //
3+// //
4+// This file is part of MolDS. //
5+// //
6+// MolDS is free software: you can redistribute it and/or modify //
7+// it under the terms of the GNU General Public License as published by //
8+// the Free Software Foundation, either version 3 of the License, or //
9+// (at your option) any later version. //
10+// //
11+// MolDS is distributed in the hope that it will be useful, //
12+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14+// GNU General Public License for more details. //
15+// //
16+// You should have received a copy of the GNU General Public License //
17+// along with MolDS. If not, see <http://www.gnu.org/licenses/>. //
18+//************************************************************************//
19+#ifndef INCLUDED_BQOATOM
20+#define INCLUDED_BQOATOM
21+namespace MolDS_base_atoms_bq{
22+class BqOatom : public MolDS_base_atoms::Oatom, public Bq {
23+public:
24+ BqOatom(int index);
25+protected:
26+ void virtual SetAtomicParameters();
27+private:
28+ BqOatom();
29+};
30+}
31+#endif
--- /dev/null
+++ b/src/base/atoms/bq/BqSatom.cpp
@@ -0,0 +1,52 @@
1+//************************************************************************//
2+// Copyright (C) 2011-2012 Mikiya Fujii //
3+// //
4+// This file is part of MolDS. //
5+// //
6+// MolDS is free software: you can redistribute it and/or modify //
7+// it under the terms of the GNU General Public License as published by //
8+// the Free Software Foundation, either version 3 of the License, or //
9+// (at your option) any later version. //
10+// //
11+// MolDS is distributed in the hope that it will be useful, //
12+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14+// GNU General Public License for more details. //
15+// //
16+// You should have received a copy of the GNU General Public License //
17+// along with MolDS. If not, see <http://www.gnu.org/licenses/>. //
18+//************************************************************************//
19+#include<stdio.h>
20+#include<stdlib.h>
21+#include<iostream>
22+#include<sstream>
23+#include<math.h>
24+#include<vector>
25+#include<boost/format.hpp>
26+#include"../../Enums.h"
27+#include"../../Uncopyable.h"
28+#include"../../PrintController.h"
29+#include"../../MolDSException.h"
30+#include"../../MallocerFreer.h"
31+#include"../../../mpi/MpiInt.h"
32+#include"../../../mpi/MpiProcess.h"
33+#include"../../EularAngle.h"
34+#include"../../Parameters.h"
35+#include"../../RealSphericalHarmonicsIndex.h"
36+#include"../Atom.h"
37+#include"../Satom.h"
38+#include"Bq.h"
39+#include"BqSatom.h"
40+using namespace std;
41+using namespace MolDS_base;
42+using namespace MolDS_base_atoms;
43+namespace MolDS_base_atoms_bq{
44+BqSatom::BqSatom(int index) : Satom(index),Bq(){
45+}
46+
47+void BqSatom::SetAtomicParameters(){
48+ Satom::SetAtomicParameters();
49+ Bq::SetAtomicParameters();
50+ this->atomType = bqC;
51+}
52+}
--- /dev/null
+++ b/src/base/atoms/bq/BqSatom.h
@@ -0,0 +1,31 @@
1+//************************************************************************//
2+// Copyright (C) 2011-2012 Mikiya Fujii //
3+// //
4+// This file is part of MolDS. //
5+// //
6+// MolDS is free software: you can redistribute it and/or modify //
7+// it under the terms of the GNU General Public License as published by //
8+// the Free Software Foundation, either version 3 of the License, or //
9+// (at your option) any later version. //
10+// //
11+// MolDS is distributed in the hope that it will be useful, //
12+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
13+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14+// GNU General Public License for more details. //
15+// //
16+// You should have received a copy of the GNU General Public License //
17+// along with MolDS. If not, see <http://www.gnu.org/licenses/>. //
18+//************************************************************************//
19+#ifndef INCLUDED_BQSATOM
20+#define INCLUDED_BQSATOM
21+namespace MolDS_base_atoms_bq{
22+class BqSatom : public MolDS_base_atoms::Satom, public Bq {
23+public:
24+ BqSatom(int index);
25+protected:
26+ void virtual SetAtomicParameters();
27+private:
28+ BqSatom();
29+};
30+}
31+#endif