Skip to content

Commit

Permalink
Jmol.___JmolVersion="15.2.73" // P also 14.32.73
Browse files Browse the repository at this point in the history
new feature: MODELKIT SPACEGROUP "123" or MODELKIT SPACEGROUP 123
 -- allows setting of the space group after loading
 -- accepts any name of a space group accepted by the spacegroup()
function or a number from 1 to 230
 -- note that some space group names have extensions:  "6:a", "6:b",
"6:c". If these are given
    simply as "6" or the number 6, then one of these options will be
used.
 -- will not set the space group if the current unit cell is not
appropriate for the given space group
 -- can accept semicolon-separated Jones-Faithful operation listing:
"x,y,z;-x,-y,-z"
    which can be obtained for any space group by:

    x = spaceGroup("6:c").spaceGroupInfo.operationsXYZ.join(";")

    or for the current space group by

    x = _M.symmetryOperations.join(";")

 -- using operation lists is recommended over using names, as this
covers all possible space groups
    and avoids any ambiguity in settings

new feature: MODELKIT SPACEGROUP "123" packed
 -- also packs the unit cell after assigning the space group

new feature: MODELKIT PACKED
 -- packs the unit cell

new feature: MODELKIT ADD {xxx} PACKED
 -- packs the unit cell just for the specified subset of atoms

new feature: x = spacegroup("123") or spacegroup(123)
 -- returns a map containing keys:
	    HallSymbol
		HermannMauguinSymbol
		crystalClass
		ita
		itaFull
		operationCount
		operationsXYZ
 -- note that some space group names have extensions:  "6:a", "6:b",
"6:c". If these are given
    simply as "6" or the number 6, then one of these options will be
delivered.
 -- if a space group name is given that is not recognized, such as "6:d"
or "400", "?" will be returned.

new feature: x = spacegroup("x,y,z;-x,y,z")
 -- similar to spacegroup("123") but finds the space group with this set
of operations

new feature: x = spacegroup("x,y,z&-x,y,z") or
spacegroup("&x,y,z;-x,y,z") or spacegroup("x,y,z;-x,y,z&")
 -- use of "&" instead of ";" or adding "&" at the beginning or end of
the string
 -- gives an array of space group names for space groups that have AT
LEAST these operators, maybe more
 -- for example:

	$ print spacegroup("-x,-y,-z;-x,y,z;-x,-y,z;x,y,-z;-x,-y,-z;-x,-y,z;-y,-x,z+1/2&").format("JSON")

	[ "131","226" ]

new feature: x = spacegroup(6, [a, b, c, alpha, beta, gamma])
 -- adding an array of unit cell parameters can sometimes help in
distinguishing among space group settings,
    at least for simple cases where the setting is dependent upon the
"unique" axis

new feature: x = spacegroup("x,y,z;-x,y,z", [a, b, c, alpha, beta,
gamma])
 -- adding an array of unit cell parameters to an operator list will
ensure that the returned space group
    is consistent with the given unit cell. For example,

		$ print spaceGroup("&x,y+1/2,z+1/2", [5,5,5,90,90,90]).count
		64

		$ print spaceGroup("&x,y+1/2,z+1/2", [5,5,6,90,90,90]).count
		50

		$ print spaceGroup("&x,y+1/2,z+1/2", [5,5,6,90,90,120]).count
		0

    because the second case does not include 14 matching cubic groups,
and there are no hexaganol groups with this operation.
  • Loading branch information
BobHanson committed Aug 20, 2022
1 parent 12d93b1 commit 7ffd2a6
Showing 1 changed file with 77 additions and 2 deletions.
79 changes: 77 additions & 2 deletions src/org/jmol/viewer/Jmol.properties
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,82 @@ Jmol.___fullJmolProperties="src/org/jmol/viewer/Jmol.properties"

TODO: should suppress painting during adding of hydrogens

Jmol.___JmolVersion="15.2.72" // P also 14.32.72
Jmol.___JmolVersion="15.2.73" // P also 14.32.73

new feature: MODELKIT SPACEGROUP "123" or MODELKIT SPACEGROUP 123
-- allows setting of the space group after loading
-- accepts any name of a space group accepted by the spacegroup() function or a number from 1 to 230
-- note that some space group names have extensions: "6:a", "6:b", "6:c". If these are given
simply as "6" or the number 6, then one of these options will be used.
-- will not set the space group if the current unit cell is not appropriate for the given space group
-- can accept semicolon-separated Jones-Faithful operation listing: "x,y,z;-x,-y,-z"
which can be obtained for any space group by:

x = spaceGroup("6:c").spaceGroupInfo.operationsXYZ.join(";")

or for the current space group by

x = _M.symmetryOperations.join(";")

-- using operation lists is recommended over using names, as this covers all possible space groups
and avoids any ambiguity in settings

new feature: MODELKIT SPACEGROUP "123" packed
-- also packs the unit cell after assigning the space group

new feature: MODELKIT PACKED
-- packs the unit cell

new feature: MODELKIT ADD {xxx} PACKED
-- packs the unit cell just for the specified subset of atoms

new feature: x = spacegroup("123") or spacegroup(123)
-- returns a map containing keys:
HallSymbol
HermannMauguinSymbol
crystalClass
ita
itaFull
operationCount
operationsXYZ
-- note that some space group names have extensions: "6:a", "6:b", "6:c". If these are given
simply as "6" or the number 6, then one of these options will be delivered.
-- if a space group name is given that is not recognized, such as "6:d" or "400", "?" will be returned.

new feature: x = spacegroup("x,y,z;-x,y,z")
-- similar to spacegroup("123") but finds the space group with this set of operations

new feature: x = spacegroup("x,y,z&-x,y,z") or spacegroup("&x,y,z;-x,y,z") or spacegroup("x,y,z;-x,y,z&")
-- use of "&" instead of ";" or adding "&" at the beginning or end of the string
-- gives an array of space group names for space groups that have AT LEAST these operators, maybe more
-- for example:

$ print spacegroup("-x,-y,-z;-x,y,z;-x,-y,z;x,y,-z;-x,-y,-z;-x,-y,z;-y,-x,z+1/2&").format("JSON")

[ "131","226" ]

new feature: x = spacegroup(6, [a, b, c, alpha, beta, gamma])
-- adding an array of unit cell parameters can sometimes help in distinguishing among space group settings,
at least for simple cases where the setting is dependent upon the "unique" axis

new feature: x = spacegroup("x,y,z;-x,y,z", [a, b, c, alpha, beta, gamma])
-- adding an array of unit cell parameters to an operator list will ensure that the returned space group
is consistent with the given unit cell. For example,

$ print spaceGroup("&x,y+1/2,z+1/2", [5,5,5,90,90,90]).count
64

$ print spaceGroup("&x,y+1/2,z+1/2", [5,5,6,90,90,90]).count
50

$ print spaceGroup("&x,y+1/2,z+1/2", [5,5,6,90,90,120]).count
0

because the second case does not include 14 matching cubic groups, and there are no hexaganol groups with this operation.



JmolVersion="15.2.72" // P also 14.32.72

bug fix: saving state after connect AUTO to modelkit-added atoms uses H atom radius instead of final atom radius

Expand Down Expand Up @@ -2688,7 +2763,7 @@ new feature: spacegroup function
- returns an associative array
- spacegroup() current model's space group
- spacegroup(3) ITA#3
- spacegorup("6:b") full ITA# with setting
- spacegroup("6:b") full ITA# with setting
- spacegroup("x,y,z;-x,-y,-z") from operators

new feature: ELLIPSOID ID xx axes [...] [...] [...]
Expand Down

0 comments on commit 7ffd2a6

Please sign in to comment.