From d1dc0f7efc8df9b2932be232f74e998e6e89e2e7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Jan 2025 04:54:45 -0500 Subject: [PATCH] enable and apply clang-format --- src/DRUDE/compute_temp_drude.cpp | 177 ++++++++++++++++--------------- 1 file changed, 90 insertions(+), 87 deletions(-) diff --git a/src/DRUDE/compute_temp_drude.cpp b/src/DRUDE/compute_temp_drude.cpp index 6976f2f2c8..d7df6745ee 100644 --- a/src/DRUDE/compute_temp_drude.cpp +++ b/src/DRUDE/compute_temp_drude.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -29,10 +28,9 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputeTempDrude::ComputeTempDrude(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputeTempDrude::ComputeTempDrude(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg != 3) error->all(FLERR,"Illegal compute temp command"); + if (narg != 3) error->all(FLERR, "Illegal compute temp command"); vector_flag = 1; scalar_flag = 1; @@ -42,7 +40,7 @@ ComputeTempDrude::ComputeTempDrude(LAMMPS *lmp, int narg, char **arg) : extlist = new int[6]; extlist[0] = extlist[1] = 0; extlist[2] = extlist[3] = extlist[4] = extlist[5] = 1; - tempflag = 0; // because does not compute a single temperature (scalar and vector) + tempflag = 0; // because does not compute a single temperature (scalar and vector) vector = new double[size_vector]; fix_drude = nullptr; @@ -69,7 +67,7 @@ void ComputeTempDrude::init() fix_drude = dynamic_cast(fixes[0]); if (!comm->ghost_velocity) - error->all(FLERR,"compute temp/drude requires ghost velocities. Use comm_modify vel yes"); + error->all(FLERR, "compute temp/drude requires ghost velocities. Use comm_modify vel yes"); } /* ---------------------------------------------------------------------- */ @@ -93,15 +91,15 @@ void ComputeTempDrude::dof_compute() bigint dof_core_loc = 0, dof_drude_loc = 0; for (int i = 0; i < nlocal; i++) { if (atom->mask[i] & groupbit) { - if (drudetype[type[i]] == DRUDE_TYPE) // Non-polarizable atom - dof_drude_loc++; + if (drudetype[type[i]] == DRUDE_TYPE) // Non-polarizable atom + dof_drude_loc++; else - dof_core_loc++; + dof_core_loc++; } } dof_core_loc *= dim; dof_drude_loc *= dim; - MPI_Allreduce(&dof_core_loc, &dof_core, 1, MPI_LMP_BIGINT, MPI_SUM, world); + MPI_Allreduce(&dof_core_loc, &dof_core, 1, MPI_LMP_BIGINT, MPI_SUM, world); MPI_Allreduce(&dof_drude_loc, &dof_drude, 1, MPI_LMP_BIGINT, MPI_SUM, world); dof_core -= fix_dof; vector[2] = dof_core; @@ -112,19 +110,19 @@ void ComputeTempDrude::dof_compute() int ComputeTempDrude::modify_param(int narg, char **arg) { - if (strcmp(arg[0],"temp") == 0) { - if (narg < 2) error->all(FLERR,"Illegal fix_modify command"); - delete [] id_temp; + if (strcmp(arg[0], "temp") == 0) { + if (narg < 2) utils::missing_cmd_args(FLERR, "compute_modify temp", error); + delete[] id_temp; id_temp = utils::strdup(arg[1]); temperature = modify->get_compute_by_id(id_temp); if (!temperature) - error->all(FLERR,"Could not find fix_modify temperature compute {}", id_temp); + error->all(FLERR, "Could not find fix_modify temperature compute {}", id_temp); if (temperature->tempflag == 0) error->all(FLERR, "Fix_modify temperature compute {} does not compute temperature", id_temp); if (temperature->igroup != igroup && comm->me == 0) - error->warning(FLERR,"Group for fix_modify temp != fix group"); + error->warning(FLERR, "Group for fix_modify temp != fix group"); return 2; } return 0; @@ -134,64 +132,39 @@ int ComputeTempDrude::modify_param(int narg, char **arg) void ComputeTempDrude::compute_vector() { - invoked_vector = update->ntimestep; + invoked_vector = update->ntimestep; - int nlocal = atom->nlocal; - int *mask = atom->mask; - int *type = atom->type; - double *rmass = atom->rmass, *mass = atom->mass; - double **v = atom->v; - tagint *drudeid = fix_drude->drudeid; - int *drudetype = fix_drude->drudetype; - int dim = domain->dimension; - double mvv2e = force->mvv2e, kb = force->boltz; + int nlocal = atom->nlocal; + int *mask = atom->mask; + int *type = atom->type; + double *rmass = atom->rmass, *mass = atom->mass; + double **v = atom->v; + tagint *drudeid = fix_drude->drudeid; + int *drudetype = fix_drude->drudetype; + int dim = domain->dimension; + double mvv2e = force->mvv2e, kb = force->boltz; - double mcore, mdrude; - double ecore, edrude; - double *vcore, *vdrude; - double kineng_core_loc = 0., kineng_drude_loc = 0.; - for (int i=0; iremove_bias(i, vcore); - for (int k=0; krestore_bias(i, vcore); - if (rmass) mcore = rmass[i]; - else mcore = mass[type[i]]; - kineng_core_loc += mcore * ecore; - } else { // CORE_TYPE - int j = atom->map(drudeid[i]); - if (rmass) { - mcore = rmass[i]; - mdrude = rmass[j]; - } else { - mcore = mass[type[i]]; - mdrude = mass[type[j]]; - } - double mtot_inv = 1. / (mcore + mdrude); - ecore = 0.; - edrude = 0.; - vcore = v[i]; - vdrude = v[j]; - if (temperature) { - temperature->remove_bias(i, vcore); - temperature->remove_bias(j, vdrude); - } - for (int k=0; krestore_bias(i, vcore); - temperature->restore_bias(j, vdrude); - } - kineng_core_loc += mtot_inv * ecore; - kineng_drude_loc += mtot_inv * mcore * mdrude * edrude; - } + double mcore, mdrude; + double ecore, edrude; + double *vcore, *vdrude; + double kineng_core_loc = 0.0, kineng_drude_loc = 0.0; + for (int i = 0; i < nlocal; i++) { + vdrude = nullptr; + vcore = nullptr; + if (groupbit & mask[i] && drudetype[type[i]] != DRUDE_TYPE) { + if (drudetype[type[i]] == NOPOL_TYPE) { + ecore = 0.0; + vcore = v[i]; + if (temperature) temperature->remove_bias(i, vcore); + for (int k = 0; k < dim; k++) ecore += vcore[k] * vcore[k]; + if (temperature) temperature->restore_bias(i, vcore); + if (rmass) + mcore = rmass[i]; + else + mcore = mass[type[i]]; + kineng_core_loc += mcore * ecore; + } else { // CORE_TYPE + int j = atom->map(drudeid[i]); if (j < 0) { if (drudeid[i] == 0) { error->one(FLERR, "Drude atom for core atom ID {} is not defined", atom->tag[i]); @@ -200,24 +173,54 @@ void ComputeTempDrude::compute_vector() atom->tag[i]); } } + if (rmass) { + mcore = rmass[i]; + mdrude = rmass[j]; + } else { + mcore = mass[type[i]]; + mdrude = mass[type[j]]; + } + double mtot_inv = 1.0 / (mcore + mdrude); + ecore = 0.0; + edrude = 0.0; + vcore = v[i]; + vdrude = v[j]; + if (temperature) { + temperature->remove_bias(i, vcore); + temperature->remove_bias(j, vdrude); + } + for (int k = 0; k < dim; k++) { + double v1 = mdrude * vdrude[k] + mcore * vcore[k]; + ecore += v1 * v1; + double v2 = vdrude[k] - vcore[k]; + edrude += v2 * v2; + } + if (temperature) { + temperature->restore_bias(i, vcore); + temperature->restore_bias(j, vdrude); + } + kineng_core_loc += mtot_inv * ecore; + kineng_drude_loc += mtot_inv * mcore * mdrude * edrude; + } } + } - if (dynamic) dof_compute(); - kineng_core_loc *= 0.5 * mvv2e; - kineng_drude_loc *= 0.5 * mvv2e; - MPI_Allreduce(&kineng_core_loc,&kineng_core,1,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&kineng_drude_loc,&kineng_drude,1,MPI_DOUBLE,MPI_SUM,world); - temp_core = 2.0 * kineng_core / (dof_core * kb); - temp_drude = 2.0 * kineng_drude / (dof_drude * kb); - vector[0] = temp_core; - vector[1] = temp_drude; - vector[4] = kineng_core; - vector[5] = kineng_drude; + if (dynamic) dof_compute(); + kineng_core_loc *= 0.5 * mvv2e; + kineng_drude_loc *= 0.5 * mvv2e; + MPI_Allreduce(&kineng_core_loc, &kineng_core, 1, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(&kineng_drude_loc, &kineng_drude, 1, MPI_DOUBLE, MPI_SUM, world); + temp_core = 2.0 * kineng_core / (dof_core * kb); + temp_drude = 2.0 * kineng_drude / (dof_drude * kb); + vector[0] = temp_core; + vector[1] = temp_drude; + vector[4] = kineng_core; + vector[5] = kineng_drude; } -double ComputeTempDrude::compute_scalar() { - compute_vector(); - scalar = vector[0]; - return scalar; +double ComputeTempDrude::compute_scalar() +{ + compute_vector(); + scalar = vector[0]; + return scalar; } -