chfl_selection type¶
-
type
chfl_selection¶ chfl_selectionallow to get the index of atoms in achfl_frame, matching a selection language. The matching atoms are given in an array ofchfl_match.- Type fields
%init[subroutine] ::chfl_selection%init()%copy[subroutine] ::chfl_selection%copy()%size[function] ::chfl_selection%size()%string[function] ::chfl_selection%string()%evaluate[subroutine] ::chfl_selection%evaluate()%matches[subroutine] ::chfl_selection%matches()%free[subroutine] ::chfl_selection%free()
-
type
chfl_match¶ This type contains the matched atoms for a given selection in the
atomsarray. Values in theatomsarray are valid up to thesizeof this match. If the match size is 2, thenatom(1)andatom(2)are valid, andatom(3)andatom(4)contains invalid indexes.- Type fields
%size[integer] :: The size of this match.%atoms(4) [integer] :: The index of the matched atoms.
-
subroutine
chfl_selection%init(selection[, status])¶ Initialize the selection from the given
selectionstring. This subroutine allocate memory which must be released withchfl_selection%free().See the selection documentation for the selection language specification.
- Parameters
selection [character(len=*)] :: The selection string
- Options
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS, usechfl_last_error()to learn more about the error.
-
subroutine
chfl_selection%copy(selection[, status])¶ Initialize the selection with a copy of
selection. This subroutine allocate memory which must be released withchfl_selection%free().The copy does not contains any state, and
chfl_selection%evaluate()must be called again before usingchfl_selection%matches().- Parameters
selection [type(chfl_selection)] :: selection to copy
- Options
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS, usechfl_last_error()to learn more about the error.
-
function
chfl_selection%size([status])¶ Get the size of the selection. This is the number of atoms we are selecting together. This value is 1 for the ‘atom’ context, 2 for the ‘pair’ and ‘bond’ context, 3 for the ‘three’ and ‘angles’ contextes and 4 for the ‘four’ and ‘dihedral’ contextes.
- Return
integer :: selection size
- Options
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS, usechfl_last_error()to learn more about the error.
-
function
chfl_selection%string([status])¶ Get the selection string used to create this selection. If the string is longer than
CHFL_STRING_LENGTH, it will be truncated.- Return
character (len=CHFL_STRING_LENGTH) :: selection string
- Options
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS, usechfl_last_error()to learn more about the error.
-
subroutine
chfl_selection%evaluate(frame, count[, status])¶ Evaluate the selection for a given
frame, and store the number of matches incount. Usechfl_selection%matches()to get the matches.- Parameters
frame [type(chfl_frame)] :: frame to evaluate
count [integer] :: number of matches for this selection
- Options
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS, usechfl_last_error()to learn more about the error.
-
subroutine
chfl_selection%matches(matches[, status])¶ Get the matches for the
selectionafter a call tochfl_selection%evalutate(), in the pre-allocatedmatchesarray.- Parameters
matches [type(chfl_match),dimension(:)] :: Array of
chfl_matchof the size given bychfl_selection%evaluate().- Options
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS, usechfl_last_error()to learn more about the error.
-
subroutine
chfl_selection%free()¶ Destroy a selection, and free the associated memory