Trace: • get_coordinates
Getting Coordinates
There are various macros to Get coordinates of atoms for use in other equations. Different ones are needed for regular sites and for point_for_sites in rigid bodies. Note that you can't use information from point_for_sites of a rigid body in regular sites.
For regular sites use:
{ Get(Find_Child(Get(site_recs), site_name), x) } { Get(Find_Child(Get(site_recs), site_name), y) } { Get(Find_Child(Get(site_recs), site_name), z) }
If it's more convenient use the macro:
macro Get_x(site_name) { Get(Find_Child(Get(site_recs), site_name), x) } macro Get_y(site_name) { Get(Find_Child(Get(site_recs), site_name), y) } macro Get_z(site_name) { Get(Find_Child(Get(site_recs), site_name), z) }
For rigid body point for sites you can get the coordinates in cartesian space with the macro:
macro & Get_x(site_name) { Point(site_name, rx) } macro & Get_y(site_name) { Point(site_name, ry) } macro & Get_z(site_name) { Point(site_name, rz) }
In the future it might be possible to work with the fractional coordinates of other atoms in the rigid body by switching from rx to ua coordinates with topas.inc macros:
Point_ua(site_name) Point_ub(site_name) Point_uc(site_name)