chemcoord.RedundantInternalCoordinates.get_cartesian

RedundantInternalCoordinates.get_cartesian(*, start_guess=None, rtol=1e-05, atol=1e-08, max_iter=100, opt_alg='LM', weights=None, default_weights=None)[source]

Finds the closest physical structure to self. Uses an iterative algorithm with Wilson’s B matrix to converge to said structure.

Parameters:
  • start_guess (Cartesian | None) – default None, starting guess for the physical structure. If None is given, uses self.reference

  • rtol (float) – default 1e-5, relative tolerance for convergence

  • atol (float) – default 1e-8, absolute tolerance for convergence

  • max_iter (int) – default 100, maximum allowed iterations for convergence

  • opt_alg (Literal['LM', 'gauss']) – default ‘LM’, either Levenberg-Marquardt or Gauss-Newton, the optimization algorithm used to generate Cartesian representations via get_cartesian()

  • weights (ndarray[tuple[int], dtype[floating]] | Sequence[float] | None) – default None, weights used for each internal coordinate in the weighted least-squares step. A higher value means that that coordinate will be more likely to change linearly. Using values far above 1 can cause instability

  • default_weights (DefaultWeights | Mapping[str, float] | None) – default {“length” : 1.0, “angle” : 0.1, “dihedral” : 0.05, “bending” : 0.01}, the weights which each type of coordinate default to

Returns:

Closest physical structure to self, aligned to start_guess

Return type:

Cartesian