@@ -206,41 +206,45 @@ ESolver* init_esolver(const Input_para& inp, UnitCell& ucell)
206206 return new ESolver_GetS ();
207207 }
208208 }
209- if (PARAM.globalv . gamma_only_local )
209+ else if (PARAM.inp . deepks_out_base != " none " )
210210 {
211- if (PARAM.inp . deepks_out_base != " none " )
211+ if (PARAM.globalv . gamma_only_local )
212212 {
213213 return new ESolver_DoubleXC<double , double >();
214214 }
215+ else if (PARAM.inp .nspin < 4 )
216+ {
217+ return new ESolver_DoubleXC<std::complex <double >, double >();
218+ }
215219 else
216220 {
217- return new ESolver_KS_LCAO< double , double >();
221+ return new ESolver_DoubleXC<std:: complex < double >, std:: complex < double > >();
218222 }
219223 }
220- else if (PARAM.inp .nspin < 4 )
224+ else if (PARAM.inp .dm_to_rho )
221225 {
222- if (PARAM.inp . dm_to_rho )
226+ if (PARAM.globalv . gamma_only_local )
223227 {
224- return new ESolver_DM2rho<std:: complex < double >, double >( );
228+ ModuleBase::WARNING_QUIT ( " ESolver " , " dm_to_rho is not implemented for gamma_only " );
225229 }
226- else if (PARAM.inp .deepks_out_base != " none " )
230+ else if (PARAM.inp .nspin < 4 )
227231 {
228- return new ESolver_DoubleXC <std::complex <double >, double >();
232+ return new ESolver_DM2rho <std::complex <double >, double >();
229233 }
230234 else
231235 {
232- return new ESolver_KS_LCAO <std::complex <double >, double >();
236+ return new ESolver_DM2rho <std::complex <double >, std:: complex < double > >();
233237 }
234238 }
235239 else
236240 {
237- if (PARAM.inp . dm_to_rho )
241+ if (PARAM.globalv . gamma_only_local )
238242 {
239- return new ESolver_DM2rho<std:: complex < double >, std:: complex < double > >();
243+ return new ESolver_KS_LCAO< double , double >();
240244 }
241- else if (PARAM.inp .deepks_out_base != " none " )
245+ else if (PARAM.inp .nspin < 4 )
242246 {
243- return new ESolver_DoubleXC <std::complex <double >, std:: complex < double > >();
247+ return new ESolver_KS_LCAO <std::complex <double >, double >();
244248 }
245249 else
246250 {
0 commit comments