save style names alongside the classes when using read_data nocoeff
this fixes #2673
This commit is contained in:
@ -1479,7 +1479,8 @@ void Neighbor::print_pairwise_info()
|
|||||||
rq = requests[i];
|
rq = requests[i];
|
||||||
if (rq->pair) {
|
if (rq->pair) {
|
||||||
char *pname = force->pair_match_ptr((Pair *) rq->requestor);
|
char *pname = force->pair_match_ptr((Pair *) rq->requestor);
|
||||||
out += fmt::format(" ({}) pair {}",i+1,pname);
|
if (pname) out += fmt::format(" ({}) pair {}",i+1,pname);
|
||||||
|
else out += fmt::format(" ({}) pair (none)",i+1);
|
||||||
} else if (rq->fix) {
|
} else if (rq->fix) {
|
||||||
out += fmt::format(" ({}) fix {}",i+1,((Fix *) rq->requestor)->style);
|
out += fmt::format(" ({}) fix {}",i+1,((Fix *) rq->requestor)->style);
|
||||||
} else if (rq->compute) {
|
} else if (rq->compute) {
|
||||||
|
|||||||
@ -337,6 +337,12 @@ void ReadData::command(int narg, char **arg)
|
|||||||
Dihedral *saved_dihedral = nullptr;
|
Dihedral *saved_dihedral = nullptr;
|
||||||
Improper *saved_improper = nullptr;
|
Improper *saved_improper = nullptr;
|
||||||
KSpace *saved_kspace = nullptr;
|
KSpace *saved_kspace = nullptr;
|
||||||
|
char *saved_pair_style = nullptr;
|
||||||
|
char *saved_bond_style = nullptr;
|
||||||
|
char *saved_angle_style = nullptr;
|
||||||
|
char *saved_dihedral_style = nullptr;
|
||||||
|
char *saved_improper_style = nullptr;
|
||||||
|
char *saved_kspace_style = nullptr;
|
||||||
|
|
||||||
if (coeffflag == 0) {
|
if (coeffflag == 0) {
|
||||||
char *coeffs[2];
|
char *coeffs[2];
|
||||||
@ -344,33 +350,45 @@ void ReadData::command(int narg, char **arg)
|
|||||||
coeffs[1] = (char *) "nocoeff";
|
coeffs[1] = (char *) "nocoeff";
|
||||||
|
|
||||||
saved_pair = force->pair;
|
saved_pair = force->pair;
|
||||||
|
saved_pair_style = force->pair_style;
|
||||||
force->pair = nullptr;
|
force->pair = nullptr;
|
||||||
|
force->pair_style = nullptr;
|
||||||
force->create_pair("zero",0);
|
force->create_pair("zero",0);
|
||||||
if (force->pair) force->pair->settings(2,coeffs);
|
if (force->pair) force->pair->settings(2,coeffs);
|
||||||
|
|
||||||
coeffs[0] = coeffs[1];
|
coeffs[0] = coeffs[1];
|
||||||
saved_bond = force->bond;
|
saved_bond = force->bond;
|
||||||
|
saved_bond_style = force->bond_style;
|
||||||
force->bond = nullptr;
|
force->bond = nullptr;
|
||||||
|
force->bond_style = nullptr;
|
||||||
force->create_bond("zero",0);
|
force->create_bond("zero",0);
|
||||||
if (force->bond) force->bond->settings(1,coeffs);
|
if (force->bond) force->bond->settings(1,coeffs);
|
||||||
|
|
||||||
saved_angle = force->angle;
|
saved_angle = force->angle;
|
||||||
|
saved_angle_style = force->angle_style;
|
||||||
force->angle = nullptr;
|
force->angle = nullptr;
|
||||||
|
force->angle_style = nullptr;
|
||||||
force->create_angle("zero",0);
|
force->create_angle("zero",0);
|
||||||
if (force->angle) force->angle->settings(1,coeffs);
|
if (force->angle) force->angle->settings(1,coeffs);
|
||||||
|
|
||||||
saved_dihedral = force->dihedral;
|
saved_dihedral = force->dihedral;
|
||||||
|
saved_dihedral_style = force->dihedral_style;
|
||||||
force->dihedral = nullptr;
|
force->dihedral = nullptr;
|
||||||
|
force->dihedral_style = nullptr;
|
||||||
force->create_dihedral("zero",0);
|
force->create_dihedral("zero",0);
|
||||||
if (force->dihedral) force->dihedral->settings(1,coeffs);
|
if (force->dihedral) force->dihedral->settings(1,coeffs);
|
||||||
|
|
||||||
saved_improper = force->improper;
|
saved_improper = force->improper;
|
||||||
|
saved_improper_style = force->improper_style;
|
||||||
force->improper = nullptr;
|
force->improper = nullptr;
|
||||||
|
force->improper_style = nullptr;
|
||||||
force->create_improper("zero",0);
|
force->create_improper("zero",0);
|
||||||
if (force->improper) force->improper->settings(1,coeffs);
|
if (force->improper) force->improper->settings(1,coeffs);
|
||||||
|
|
||||||
saved_kspace = force->kspace;
|
saved_kspace = force->kspace;
|
||||||
|
saved_kspace_style = force->kspace_style;
|
||||||
force->kspace = nullptr;
|
force->kspace = nullptr;
|
||||||
|
force->kspace_style = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------
|
// -----------------------------------------------------------------
|
||||||
@ -873,20 +891,26 @@ void ReadData::command(int narg, char **arg)
|
|||||||
if (coeffflag == 0) {
|
if (coeffflag == 0) {
|
||||||
if (force->pair) delete force->pair;
|
if (force->pair) delete force->pair;
|
||||||
force->pair = saved_pair;
|
force->pair = saved_pair;
|
||||||
|
force->pair_style = saved_pair_style;
|
||||||
|
|
||||||
if (force->bond) delete force->bond;
|
if (force->bond) delete force->bond;
|
||||||
force->bond = saved_bond;
|
force->bond = saved_bond;
|
||||||
|
force->bond_style = saved_bond_style;
|
||||||
|
|
||||||
if (force->angle) delete force->angle;
|
if (force->angle) delete force->angle;
|
||||||
force->angle = saved_angle;
|
force->angle = saved_angle;
|
||||||
|
force->angle_style = saved_angle_style;
|
||||||
|
|
||||||
if (force->dihedral) delete force->dihedral;
|
if (force->dihedral) delete force->dihedral;
|
||||||
force->dihedral = saved_dihedral;
|
force->dihedral = saved_dihedral;
|
||||||
|
force->dihedral_style = saved_dihedral_style;
|
||||||
|
|
||||||
if (force->improper) delete force->improper;
|
if (force->improper) delete force->improper;
|
||||||
force->improper = saved_improper;
|
force->improper = saved_improper;
|
||||||
|
force->improper_style = saved_improper_style;
|
||||||
|
|
||||||
force->kspace = saved_kspace;
|
force->kspace = saved_kspace;
|
||||||
|
force->kspace_style = saved_kspace_style;
|
||||||
}
|
}
|
||||||
|
|
||||||
// total time
|
// total time
|
||||||
|
|||||||
Reference in New Issue
Block a user