![]() |
(git:f7b9015)
|
Parse CELL_OPT constraints, build symmetry constraint rows, and compute the cell enthalpy gradient. More...
Functions/Subroutines | |
| subroutine, public | read_external_press_tensor (geo_section, cell, pres_ext, mtrx, input_to_opt) |
| Reads the external pressure tensor. | |
| subroutine, public | parse_cell_constraint (constraint_tokens, cell, explicit, mask) |
| Parses the tokens of the CONSTRAINT keyword into a cell component mask. | |
| pure character(len=default_string_length) function, public | cell_opt_constraint_label (mask) |
| Returns the label of the cell constraint mask. | |
| subroutine, public | symmetry_constraint_rows (symmetry_id, mask, lin_w, n_lin_rows, eq_pair, n_eq_rows) |
| Translate a crystal system into cell constraint rows. | |
| integer function, public | spgr_point_group_symmetry_id (spgr, cell) |
| Identify the canonical crystal system preserved by a space group's point group. | |
| pure subroutine, public | parse_token (token, accepted, token_mask, reject_reason) |
| Classify one CONSTRAINT token without aborting (decision half of the parser). | |
| subroutine, public | get_dg_dh (gradient, av_ptens, pres_ext, cell, mtrx, pres_int) |
| Computes the derivatives for the cell. | |
Parse CELL_OPT constraints, build symmetry constraint rows, and compute the cell enthalpy gradient.
| subroutine, public cell_opt_utils::read_external_press_tensor | ( | type(section_vals_type), pointer | geo_section, |
| type(cell_type), pointer | cell, | ||
| real(kind=dp), intent(out) | pres_ext, | ||
| real(kind=dp), dimension(3, 3), intent(out) | mtrx, | ||
| real(kind=dp), dimension(3, 3), intent(in) | input_to_opt ) |
Reads the external pressure tensor.
| geo_section | ... |
| cell | ... |
| pres_ext | ... |
| mtrx | ... |
| input_to_opt | rotation from the input Cartesian frame to the optimization frame |
Definition at line 63 of file cell_opt_utils.F.
| subroutine, public cell_opt_utils::parse_cell_constraint | ( | character(len=*), dimension(:), intent(in) | constraint_tokens, |
| type(cell_type), pointer | cell, | ||
| logical, intent(in) | explicit, | ||
| integer, intent(out) | mask ) |
Parses the tokens of the CONSTRAINT keyword into a cell component mask.
| constraint_tokens | value tokens of the CONSTRAINT keyword (char_t list) |
| cell | simulation cell (only the periodicity is used) |
| explicit | whether the CONSTRAINT keyword was given explicitly |
| mask | union of the fixed cell components (comp_* and mask_* bits) |
Definition at line 122 of file cell_opt_utils.F.
| pure character(len=default_string_length) function, public cell_opt_utils::cell_opt_constraint_label | ( | integer, intent(in) | mask | ) |
Returns the label of the cell constraint mask.
| mask | bit mask of fixed cell components (comp_*, mask_*) |
Definition at line 209 of file cell_opt_utils.F.
| subroutine, public cell_opt_utils::symmetry_constraint_rows | ( | integer, intent(in) | symmetry_id, |
| integer, intent(out) | mask, | ||
| real(kind=dp), dimension(n_slot, n_slot), intent(out) | lin_w, | ||
| integer, intent(out) | n_lin_rows, | ||
| integer, dimension(2, n_geom), intent(out) | eq_pair, | ||
| integer, intent(out) | n_eq_rows ) |
Translate a crystal system into cell constraint rows.
| symmetry_id | crystal system of the canonical cell |
| mask | comp_* bits for canonical entries fixed to zero by symmetry |
| lin_w | linear coupling normals, one normal per column |
| n_lin_rows | number of active columns in lin_w |
| eq_pair | index pairs [m, n] in 1..6 for geometric equalities, one pair per column |
| n_eq_rows | number of active columns in eq_pair |
Definition at line 257 of file cell_opt_utils.F.
| integer function, public cell_opt_utils::spgr_point_group_symmetry_id | ( | type(spgr_type), intent(in), pointer | spgr, |
| type(cell_type), pointer | cell ) |
Identify the canonical crystal system preserved by a space group's point group.
| spgr | space group with integer lattice rotations in rotations_subset |
| cell | symmetric start cell in the canonical frame |
Definition at line 345 of file cell_opt_utils.F.
| pure subroutine, public cell_opt_utils::parse_token | ( | character(len=*), intent(in) | token, |
| logical, intent(out) | accepted, | ||
| integer, intent(out) | token_mask, | ||
| character(len=default_string_length), intent(out) | reject_reason ) |
Classify one CONSTRAINT token without aborting (decision half of the parser).
| token | one upper-case token of the CONSTRAINT value line |
| accepted | .TRUE. when the token contributes a mask |
| token_mask | the constraint mask contributed by an accepted token |
| reject_reason | empty for accepted tokens, or the abort message otherwise |
Definition at line 426 of file cell_opt_utils.F.
| subroutine, public cell_opt_utils::get_dg_dh | ( | real(kind=dp), dimension(n_slot), intent(out) | gradient, |
| real(kind=dp), dimension(3, 3), intent(in) | av_ptens, | ||
| real(kind=dp), intent(in) | pres_ext, | ||
| type(cell_type), pointer | cell, | ||
| real(kind=dp), dimension(3, 3), intent(in) | mtrx, | ||
| real(kind=dp), intent(out) | pres_int ) |
Computes the derivatives for the cell.
| gradient | enthalpy gradient +d(E + pres_ext*V)/dq in the six canonical components |
| av_ptens | ... |
| pres_ext | ... |
| cell | ... |
| mtrx | ... |
| pres_int | ... |
Definition at line 492 of file cell_opt_utils.F.