Hi Togo,

Yes, I meant non-primitive translation. For now I would prefer to retrieve this 
information from Spglib to avoid replication errors. I can have Avogadro 
translate a Hall symbol to the Hall number used in spg_database.c.

Dealing with International symbols and non-primitive unit cells could be 
troublesome, but I could always just force the user to choose an origin.


Thanks,
Albert


On Aug 20, 2014, at 7:57 PM, Atsushi Togo <atz.t...@gmail.com> wrote:

> Hi,
> 
> If you mean origin_shift as non primitive translation part of space
> group operations, I can understand what you wrote. I can extend spglib
> so that the database is accessed from the API. The other option is
> just to hard code the database in Avogadro's crystallography extension
> itself. It may be a matter of strategy. If Avogadro may have a chance
> to use other crystal symmetry libraries in the future, it may be
> better the later option.
> 
> Togo
> 
> On Thu, Aug 21, 2014 at 6:06 AM, Defusco III, Albert A <defu...@pitt.edu> 
> wrote:
>> Good afternoon everyone,
>> 
>> I am working on getting porting the crystallography extension and space 
>> group support into Avogadro 2. What is missing from Avogadro 2 is a look-up 
>> of rotation matrices and origin shift vectors for a given space group. Do 
>> you believe it is possible to extend Sgplib so that I can get these 
>> quantities when specifying just the space group (either Hall symbol/number 
>> or international symbol/number)?
>> 
>> 
>> Here's what I've done so far
>> 
>> 1. I have added support for rotation matrices and origin shift vectors in 
>> Avogado2's UnitCell class and added a fillUnitCell method to 
>> crystaltools.cpp. A filled unit cell can then be given the the Spglib 
>> routines for further action. (The rotation matrices and origin shift vectors 
>> are only available if read from a cml file where they have been specified in 
>> <transform3> child nodes of <symmetry>.)
>> 
>> 2. Once a filled unit cell is generated all AvoSpglib/Spglib routines are 
>> nearly unchanged when ported into Avogadro2.
>> 
>> 
>> 
>> Here's an example of what I mean.
>> 
>> int numRotations = get_rotation(int HallNumber,
>>                                int rotation[][3][3],
>>                                double origin_shift[][3])
>> 
>> HallNumber is read as input and rotation and origin_shift are populated on 
>> output.The length of the rotation and origin_shift arrays is numRotations.
>> 
>> Using the space group "F 4d 2 3 -1d" (#525) there are 192 rotation matrices 
>> and origin shift vectors.
>> 
>> 
>> 
>> Thanks,
>> Albert
>> 
>> 
>> 
>> 
>> ------------------------------------------------------
>> Albert DeFusco, Ph.D.
>> Research Assistant Professor
>> Technical Director, Center for Simulation and Modeling
>> University of Pittsburgh
>> Pittsburgh, PA 15260
>> 412-648-3094
>> http://www.sam.pitt.edu
>> 
> 
> 
> 
> -- 
> Atsushi Togo
> http://atztogo.github.com/
> atz.t...@gmail.com


------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Avogadro-devel mailing list
Avogadro-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/avogadro-devel

Reply via email to