Commit 00ce1e2
committed
DeltaP LCAO force/stress implementation
Add cal_force_stress() to DeltaPOperator following DeltaSpin pattern:
deltap_force_stress.hpp (new file, 270 lines):
- cal_force_stress(): iterates over constrained atoms,
calls intor_->snap(cal_deri=1) for projector derivatives,
accumulates force/stress via cal_force_IJR/cal_stress_IJR
- cal_force_IJR(): force = lambda * nlm_deriv * nlm * DM
(same structure as DeltaSpin, scalar lambda instead of Vector3)
- cal_stress_IJR(): stress = force * r_vector projection
deltap_lcao.h: add force/stress method declarations +
static s_stored_lambda for cross-module lambda access
deltap_lcao.cpp: include deltap_force_stress.hpp +
static member definition
FORCE_STRESS.cpp: create temp DeltaPOperator with stored lambda,
call cal_force_stress(), accumulate into fcs/scs
esolver_ks_lcao.cpp: store lambda before getForceStress
BN LCAO + PW regression pass.1 parent ecbde57 commit 00ce1e2
5 files changed
Lines changed: 452 additions & 0 deletions
File tree
- source
- source_esolver
- source_lcao
- module_operator_lcao
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
239 | 251 | | |
240 | 252 | | |
241 | 253 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
429 | 430 | | |
430 | 431 | | |
431 | 432 | | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
432 | 456 | | |
433 | 457 | | |
434 | 458 | | |
| |||
498 | 522 | | |
499 | 523 | | |
500 | 524 | | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
501 | 529 | | |
502 | 530 | | |
503 | 531 | | |
| |||
709 | 737 | | |
710 | 738 | | |
711 | 739 | | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
712 | 744 | | |
713 | 745 | | |
714 | 746 | | |
| |||
0 commit comments