2828
2929using namespace PHON_NS ;
3030
31- Dielec::Dielec (PHON *phon) : Pointers(phon)
31+ Dielec::Dielec (PHON *phon) :
32+ Pointers(phon)
3233{
3334 set_default_variables ();
3435}
@@ -113,8 +114,11 @@ void Dielec::setup_dielectric(const unsigned int verbosity)
113114 if (mympi->my_rank == 0 ) load_born (symmetrize_borncharge, verbosity);
114115
115116 MPI_Bcast (dielec_tensor.data (), 9 , MPI_DOUBLE, 0 , MPI_COMM_WORLD);
116- MPI_Bcast (&borncharge[0 ][0 ][0 ], 9 * system->get_primcell ().number_of_atoms ,
117- MPI_DOUBLE, 0 , MPI_COMM_WORLD);
117+ MPI_Bcast (&borncharge[0 ][0 ][0 ],
118+ 9 * system->get_primcell ().number_of_atoms ,
119+ MPI_DOUBLE,
120+ 0 ,
121+ MPI_COMM_WORLD);
118122}
119123
120124void Dielec::load_born (const unsigned int flag_symmborn,
@@ -148,7 +152,7 @@ void Dielec::load_born(const unsigned int flag_symmborn,
148152
149153 if (verbosity > 0 ) {
150154 std::cout << " Dielectric constants and Born effective charges are read from "
151- << file_born << " .\n\n " ;
155+ << file_born << " .\n\n " ;
152156 std::cout << " Dielectric constant tensor in Cartesian coordinate : \n " ;
153157 for (i = 0 ; i < 3 ; ++i) {
154158 for (j = 0 ; j < 3 ; ++j) {
@@ -161,13 +165,13 @@ void Dielec::load_born(const unsigned int flag_symmborn,
161165 std::cout << " Born effective charge tensor in Cartesian coordinate\n " ;
162166 for (i = 0 ; i < natmin_tmp; ++i) {
163167 std::cout << " Atom" << std::setw (5 ) << i + 1 << " ("
164- << std::setw (3 ) << system->symbol_kd [system->get_supercell (0 ).kind [system->get_map_p2s (0 )[i][0 ]]]
165- << " ) :\n " ;
168+ << std::setw (3 ) << system->symbol_kd [system->get_supercell (0 ).kind [system->get_map_p2s (0 )[i][0 ]]]
169+ << " ) :\n " ;
166170
167171 for (j = 0 ; j < 3 ; ++j) {
168172 for (k = 0 ; k < 3 ; ++k) {
169173 std::cout << std::setw (15 ) << std::fixed
170- << std::setprecision (6 ) << borncharge[i][j][k];
174+ << std::setprecision (6 ) << borncharge[i][j][k];
171175 }
172176 std::cout << ' \n ' ;
173177 }
@@ -204,7 +208,7 @@ void Dielec::load_born(const unsigned int flag_symmborn,
204208 for (j = 0 ; j < 3 ; ++j) {
205209 for (k = 0 ; k < 3 ; ++k) {
206210 borncharge[i][j][k] -=
207- sum_born[j][k] / static_cast <double >(system->get_primcell ().number_of_atoms );
211+ sum_born[j][k] / static_cast <double >(system->get_primcell ().number_of_atoms );
208212 }
209213 }
210214 }
@@ -290,10 +294,10 @@ void Dielec::load_born(const unsigned int flag_symmborn,
290294 std::cout << " Symmetrized Born effective charge tensor in Cartesian coordinate." << ' \n ' ;
291295 for (i = 0 ; i < natmin_tmp; ++i) {
292296 std::cout << " Atom" << std::setw (5 ) << i + 1 << " ("
293- << std::setw (3 )
294- << system->symbol_kd [system->get_primcell ().kind [system->get_map_p2s (0 )[i][0 ]]]
295- << " ) :"
296- << ' \n ' ;
297+ << std::setw (3 )
298+ << system->symbol_kd [system->get_primcell ().kind [system->get_map_p2s (0 )[i][0 ]]]
299+ << " ) :"
300+ << ' \n ' ;
297301
298302 for (j = 0 ; j < 3 ; ++j) {
299303 for (k = 0 ; k < 3 ; ++k) {
@@ -333,11 +337,18 @@ void Dielec::run_dielec_calculation()
333337
334338 for (auto i = 0 ; i < 3 ; ++i) xk[i] = 0.0 ;
335339
336- dynamical->eval_k (xk, xk, fcs_phonon->force_constant_with_cell [0 ],
337- eval, evec, true );
340+ dynamical->eval_k (xk,
341+ xk,
342+ fcs_phonon->force_constant_with_cell [0 ],
343+ eval,
344+ evec,
345+ true );
338346
339- compute_dielectric_function (nomega, omega_grid,
340- eval, evec, dielec);
347+ compute_dielectric_function (nomega,
348+ omega_grid,
349+ eval,
350+ evec,
351+ dielec);
341352
342353 deallocate (xk);
343354 deallocate (eval);
@@ -487,15 +498,19 @@ void Dielec::compute_mode_effective_charge(std::vector<std::vector<double>> &zst
487498 dynamical->get_projection_directions (),
488499 evec);
489500 } else {
490- dynamical->eval_k (&xk[0 ], &xk[0 ], fcs_phonon->force_constant_with_cell [0 ],
491- eval, evec, true );
501+ dynamical->eval_k (&xk[0 ],
502+ &xk[0 ],
503+ fcs_phonon->force_constant_with_cell [0 ],
504+ eval,
505+ evec,
506+ true );
492507 }
493508
494509 // Divide by sqrt of atomic mass to get normal coordinate
495510 for (auto i = 0 ; i < ns; ++i) {
496511 for (auto j = 0 ; j < ns; ++j) {
497512 evec[i][j] /= std::sqrt (system->get_mass_super ()[system->get_map_p2s (0 )[j / 3 ][0 ]] / amu_ry);
498- // evec[i][j] /= std::sqrt(system->mass[system->map_trueprim_to_super[j / 3][0]]);
513+ // evec[i][j] /= std::sqrt(system->mass[system->map_trueprim_to_super[j / 3][0]]);
499514 }
500515 }
501516
0 commit comments