Specificity constant: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
No edit summary
en>A22brad22
Fixed the parsing error on the last math line.
 
Line 1: Line 1:
In [[physical chemistry]], a '''constraint algorithm''' is a computational method for satisfying constraints for bodies that obey Newton's equations of motion.  There are three basic approaches to satisfying such constraints: choosing novel unconstrained coordinates ("internal coordinates"), introducing explicit constraint forces, and minimizing constraint forces implicitly by the technique of [[Lagrange multipliers]] or projection methods.
The author's name is Christy. Alaska is the only location I've been residing in but now I'm contemplating other choices.  [http://medialab.zendesk.com/entries/54181460-Will-You-Often-End-Up-Bored-Try-One-Of-These-Hobby-Ideas- online reader] I am really fond of handwriting but I can't make it my occupation really. Distributing manufacturing is where my primary earnings arrives from and it's some thing I truly appreciate.<br><br>Feel free to surf to my homepage ... phone [http://findyourflirt.net/index.php?m=member_profile&p=profile&id=117823 love psychic readings] readings ([http://koreanyelp.com/index.php?document_srl=1798&mid=SchoolNews simply click the up coming document])
 
Constraint algorithms are often applied to [[molecular dynamics]] simulations.  Although such simulations are sometimes carried out in internal coordinates that automatically satisfy the bond-length and bond-angle constraints, they may also be carried out with explicit or implicit constraint forces for the bond lengths and bond angles.  Explicit constraint forces typically shorten the time-step significantly, making the simulation less efficient computationally; in other words, more computer power is required to compute a trajectory of a given length.  Therefore, internal coordinates and implicit-force constraint solvers are generally preferred.
 
==Mathematical background==
 
The motion of a set of ''N'' particles can be described by a set of second-order ordinary differential equations, Newton's second law, which can be written in matrix form
 
:<math>
\mathbf{M} \cdot \frac{d^{2}\mathbf{q}}{dt^{2}} = \mathbf{f} = -\frac{\partial V}{\partial \mathbf{q}}
</math>
 
where '''M''' is a ''mass matrix'' and '''q''' is the [[Vector (geometric)|vector]] of [[generalized coordinate]]s that describe the particles' positions.  For example, the vector '''q''' may be a ''3N'' Cartesian coordinates of the particle positions '''r'''<sub>''k''</sub>, where ''k'' runs from 1 to ''N''; in the absence of constraints, '''M''' would be the ''3N''x''3N'' diagonal square matrix of the particle masses.  The vector '''f''' represents the generalized forces and the scalar ''V''('''q''') represents the potential energy, both of which are functions of the generalized coordinates '''q'''.
 
If ''M'' constraints are present, the coordinates must also satisfy ''M'' time-independent algebraic equations
 
:<math>
g_{j}(\mathbf{q}) = 0
</math>
 
where the index ''j'' runs from 1 to ''M''. For brevity, these functions ''g''<sub>''i''</sub> are grouped into an ''M''-dimensional vector '''g'''  below.  The task is to solve the combined set of differential-algebraic (DAE) equations, instead of just the ordinary differential equations (ODE) of Newton's second law.
 
This problem was studied in detail by [[Joseph Louis Lagrange]], who laid out most of the methods for solving it.<ref name="lagrange_1788" >{{cite book | last = Lagrange | first = GL| authorlink = Lagrange| year = 1788 | title = Mécanique analytique}}</ref>  The simplest approach is to define new generalized coordinates that are unconstrained; this approach eliminates the algebraic equations and reduces the problem once again to solving an ordinary differential equation.  Such an approach is used, for example, in describing the motion of a rigid body; the position and orientation of a rigid body can be described by six independent, unconstrained coordinates, rather than describing the positions of the particles that make it up and the constraints among them that maintain their relative distances.  The drawback of this approach is that the equations may become unwieldy and complex; for example, the mass matrix '''M''' may become non-diagonal and depend on the generalized coordinates.   
 
A second approach is to introduce explicit forces that work to maintain the constraint; for example, one could introduce strong spring forces that enforce the distances among mass points within a "rigid" body.  The two difficulties of this approach are that the constraints are not satisfied exactly, and the strong forces may require very short time-steps, making simulations inefficient computationally.
 
A third approach is to use a method such as [[Lagrange multipliers]] or projection to the constraint manifold to determine the coordinate adjustments necessary to satisfy the constraints.  Finally, there are various hybrid approaches in which different sets of constraints are satisfied by different methods, e.g., internal coordinates, explicit forces and implicit-force solutions.
 
==Internal coordinate methods==
 
The simplest approach to satisfying constraints in energy minimization and molecular dynamics is to represent the mechanical system in so-called ''internal coordinates'' corresponding to unconstrained independent degrees of freedom of the system.  For example, the dihedral angles of a protein are an independent set of coordinates that specify the positions of all the atoms without requiring any constraints.  The difficulty of such internal-coordinate approaches is twofold: the Newtonian equations of motion become much more complex and the internal coordinates may be difficult to define for cyclic systems of constraints, e.g., in ring puckering or when a protein has a disulfide bond.
 
The original methods for efficient recursive energy minimization in internal coordinates were developed by Gō and coworkers.<ref name="noguti_1983" >{{cite journal | last = Noguti T | coauthors = Gō N | year = 1983 | title = A Method of Rapid Calculation of a 2nd Derivative Matrix of Conformational Energy for Large Molecules | journal = Journal of the Physical Society of Japan | volume = 52 | issue = 10 | pages = 3685–3690 | doi = 10.1143/JPSJ.52.3685 | first1 = Toshiyuki|bibcode = 1983JPSJ...52.3685N }}</ref><ref name="Abe_1984" >{{cite journal | last = Abe | first = H | coauthors = Braun W, Noguti T, Gō N | year = 1984 | title =  Rapid Calculation of 1st and 2nd Derivatives of Conformational Energy with respect to Dihedral Angles for Proteins: General Recurrent Equations | journal = Computers and Chemistry | volume = 8 | issue = 4 | pages = 239–247 | doi =  10.1016/0097-8485(84)85015-9}}</ref>
 
Efficient recursive, internal-coordinate constraint solvers were extended to molecular dynamics.<ref name="Bae_Haug_1988a" >{{cite journal | last = Bae | first = D-S | coauthors = Haug EJ | year = 1988 | title = A Recursive Formulation for Constrained Mechanical System Dynamics: Part I. Open Loop Systems | journal = Mechanics of Structures and Machines | volume = 15 | pages = 359–382}}</ref><ref name="jain_1993" >{{cite journal | last = Jain | first = A | coauthors = Vaidehi N, Rodriguez G | year = 1993 | title = A Fast Recursive Algorithm for Molecular Dynamics Simulation | journal = Journal of Computational Physics | volume = 106 | issue = 2 | pages = 258–268 | doi = 10.1006/jcph.1993.1106 | bibcode = 1993JCoPh.106..258J}}</ref>  Analogous methods were applied later to other systems.<ref name="rice_1994" >{{cite journal | last = Rice | first = LM | coauthors = Brünger AT | year = 1994 | title = Torsion Angle Dynamics: Reduced Variable Conformational Sampling Enhances Crystallographic Structure Refinement | journal = Proteins: Structure, Function, and Genetics | volume = 19 | pages = 277–290 | doi = 10.1002/prot.340190403 | pmid = 7984624 | issue = 4}}</ref><ref>{{cite journal | last = Mathiowetz | first = AM | coauthors = Jain A, Karasawa N, Goddard III, WA | year = 1994 | title = Protein Simulations Using Techniques Suitable for Very Large Systems: The Cell Multipole Method for Nonbond Interactions and the Newton-Euler Inverse Mass Operator Method for Internal Coordinate Dynamics | journal = Proteins: Structure, Function, and Genetics | volume = 20 | pages = 227–247 | doi = 10.1002/prot.340200304 | pmid = 7892172 | issue = 3}}</ref><ref name="mazur_1997" >{{cite journal | last = Mazur | first = AK | year = 1997 | title = Quasi-Hamiltonian Equations of Motion for Internal Coordinate Molecular Dynamics of Polymers | journal = Journal of Computational Chemistry | volume = 18 | issue = 11 | pages = 1354–1364 | doi = 10.1002/(SICI)1096-987X(199708)18:11<1354::AID-JCC3>3.0.CO;2-K}}</ref>
 
==Lagrange multiplier-based methods==
[[File:SHAKE.png|thumb|200px|right|Resolving the constraints of a rigid water molecule using [[Lagrange multipliers]]: a) the unconstrained positions are obtained after a simulation time-step, b) the [[gradients]] of each constraint over each particle are computed and c) the Lagrange multipliers are computed for each gradient such that the constraints are satisfied.]]
 
In most [[molecular dynamics]] simulation, constraints are enforced using the method of [[Lagrange multipliers]]. Given a set of ''n'' linear ([[Holonomic constraints|holonomic]]) constraints at the time ''t'',
 
:<math>\sigma_k(t) := \| \mathbf x_{k\alpha}(t) - \mathbf x_{k\beta}(t) \|^2 - d_k^2 = 0, \quad k=1 \dots n</math>
 
where <math>\scriptstyle \mathbf x_{k\alpha}(t)</math> and <math>\scriptstyle\mathbf x_{k\beta}(t)</math> are the positions of the two particles involved in the ''k''th constraint at the time ''t'' and <math>d_k</math> is the prescribed inter-particle distance.
 
The forces due to these constraints are added in the equations of motion, resulting in, for each of the ''N'' particles in the system
 
:<math>\frac{\partial^2 \mathbf x_i(t)}{\partial t^2} m_i = -\frac{\partial}{\partial \mathbf x_i} \left[ V(\mathbf x_i(t)) + \sum_{k=1}^n \lambda_k \sigma_k(t) \right], \quad i=1 \dots N.</math>
 
Adding the constraint forces does not change the total energy, as the net work done by the constraint forces (taken over the set of particles that the constraints act on) is zero.
 
Integrating both sides of the equations of motion twice in time yields the constrained particle positions at the time <math>t + \Delta t</math>
 
:<math>\mathbf x_i(t + \Delta t) = \hat{\mathbf x}_i(t + \Delta t) + \sum_{k=1}^n \lambda_k \frac{\partial\sigma_k(t)}{\partial \mathbf x_i}\left(\Delta t\right)^2m_i^{-1}, \quad i=1 \dots N</math>
 
where <math>\hat{\mathbf x}_i(t + \Delta t)</math> is the unconstrained (or uncorrected) position of the ''i''th particle after integrating the unconstrained equations of motion.
 
To satisfy the constraints <math>\sigma_k(t + \Delta t)</math> in the next timestep, the [[Lagrange multipliers]] must be chosen such that
 
:<math>\sigma_k(t + \Delta t) := \left\| \mathbf x_{k\alpha}(t+\Delta t) - \mathbf x_{k\beta}(t+\Delta t)\right\|^2 - d_k^2 = 0.</math>
 
This implies solving a system of <math>n</math> non-linear equations
 
:<math>\sigma_j(t + \Delta t) := \left\| \hat{\mathbf x}_{j\alpha}(t+\Delta t) - \hat{\mathbf x}_{j\beta}(t+\Delta t) +    \sum_{k=1}^n \lambda_k \left(\Delta t\right)^2 \left[ \frac{\partial\sigma_k(t)}{\partial \mathbf x_{j\alpha}}m_{j\alpha}^{-1} -  \frac{\partial\sigma_k(t)}{\partial \mathbf x_{j\beta}}m_{j\beta}^{-1}\right] \right\|^2 - d_j^2 = 0, \quad j = 1 \dots n</math>
 
simultaneously for the <math>n</math> unknown Lagrange multipliers <math>\lambda_k</math>.
 
This system of <math>n</math> non-linear equations in <math>n</math> unknowns is best solved using [[Newton's method]] where the solution vector <math>\underline{\lambda}</math> is updated using
 
:<math>\underline{\lambda}^{(l+1)} \leftarrow \underline{\lambda}^{(l)} - \mathbf J_\sigma^{-1} \underline{\sigma}(t+\Delta t)</math>
 
where <math>\mathbf J_\sigma</math> is the [[Jacobian]] of the equations σ<sub>''k''</sub>:
 
:<math>\mathbf J = \left( \begin{array}{cccc}
    \frac{\partial\sigma_1}{\partial\lambda_1} & \frac{\partial\sigma_1}{\partial\lambda_2} & \dots & \frac{\partial\sigma_1}{\partial\lambda_n} \\
    \frac{\partial\sigma_2}{\partial\lambda_1} & \frac{\partial\sigma_2}{\partial\lambda_2} & \dots & \frac{\partial\sigma_2}{\partial\lambda_n} \\
    \vdots & \vdots & \ddots & \vdots \\
    \frac{\partial\sigma_n}{\partial\lambda_1} & \frac{\partial\sigma_n}{\partial\lambda_2} & \dots & \frac{\partial\sigma_n}{\partial\lambda_n} \end{array}\right).</math>
 
Since not all particles are involved in all constraints, <math>\mathbf J_\sigma</math> is blockwise-diagonal and can be solved blockwise, i.e. molecule for molecule.
 
Furthermore, instead of constantly updating the vector <math>\underline{\lambda}</math>, the iteration is started with <math>\underline{\lambda}^{(0)} = \mathbf 0</math>, resulting in simpler expressions for <math>\sigma_k(t)</math> and <math>\frac{\partial \sigma_k(t)}{\partial \lambda_j}</math>. In this case
:<math> J_{ij} = \left.\frac{\partial\sigma_j}{\partial\lambda_i}\right|_{\mathbf \lambda=0} =  2\left[\hat{x}_{j\alpha} - \hat{x}_{j\beta}\right]\left[\frac{\partial \sigma_i}{\partial x_{j\alpha}} m_{j\alpha}^{-1} - \frac{\partial \sigma_i}{\partial x_{j\beta}} m_{j\beta}^{-1}\right]. </math>
 
then <math>\lambda</math> is updated to
:<math> \mathbf \lambda_j = - \mathbf J^{-1}\left[ \left\| \hat{\mathbf x}_{j\alpha}(t+\Delta t) - \hat{\mathbf x}_{j\beta}(t+\Delta t)\right\|^2 - d_j^2\right].</math>
 
After each iteration, the unconstrained particle positions are updated using
 
:<math>\hat{\mathbf x}_i(t+\Delta t) \leftarrow \hat{\mathbf x}_i(t+\Delta t) + \sum_{k=1}^n \lambda_k\frac{\partial \sigma_k}{\partial \mathbf x_i}</math>.
 
The vector is then reset to
 
:<math>\underline{\lambda} = \mathbf 0.</math>
 
This is repeated until the constraint equations <math>\sigma_k(t+\Delta t)</math> are satisfied up to a prescribed tolerance.
 
Although there are a number of algorithms to compute the Lagrange multipliers, they differ only in how they solve the system of equations, usually using [[Quasi-Newton methods]].
 
===The SETTLE algorithm===
The SETTLE algorithm<ref>{{cite journal | last = Miyamoto | first = S | coauthors = Kollman PA | year = 1992 | title = SETTLE: An Analytical Version of the SHAKE and RATTLE Algorithm for Rigid Water Models | journal = Journal of Computational Chemistry | volume = 13 | issue = 8 | pages = 952–962 | doi = 10.1002/jcc.540130805}}</ref> solves the system of non-linear equations analytically for <math>n=3</math> constraints in constant time. Although it does not scale to larger numbers of constraints, it is very often used to constrain rigid water molecules, which are present in almost all biological simulations and are usually modelled using three constraints (e.g. SPC/E and [[TIP3P]] [[water model]]s).
 
===The SHAKE algorithm===
The SHAKE algorithm was the first algorithm developed to satisfy bond geometry constraints during molecular dynamics simulations.<ref name="ryckaert_1977" >{{cite journal | last = Ryckaert | first = J-P | coauthors = Ciccotti G, Berendsen HJC | year = 1977 | title = Numerical Integration of the Cartesian Equations of Motion of a System with Constraints: Molecular Dynamics of ''n''-Alkanes | journal = Journal of Computational Physics | volume = 23 | issue = 3 | pages = 327–341 | doi = 10.1016/0021-9991(77)90098-5 | bibcode=1977JCoPh..23..327R}}</ref>
 
It solves the system of non-linear constraint equations using the [[Gauss-Seidel method]] to approximate the solution of the linear system of equations
 
:<math>\underline{\lambda} = -\mathbf J_\sigma^{-1} \underline{\sigma}</math>
 
in the [[Newton iteration]]. This amounts to assuming that <math>\mathbf J_\sigma</math> is diagonally dominant and solving the <math>k</math>th equation only for the <math>k</math> unknown. In practice, we compute
 
:{|
|<math>\lambda_k</math>
|<math>\leftarrow</math>
|<math>\frac{\sigma_k(t)}{\partial \sigma_k(t)/\partial \lambda_k}</math>
|-
|<math>\mathbf x_{k\alpha}</math>
|<math>\leftarrow</math>
|<math>\mathbf x_{k\alpha} + \lambda_k \frac{\partial \sigma_k(t)}{\partial \mathbf x_{k\alpha}}</math>
|-
|<math>\mathbf x_{k\beta}</math>
|<math>\leftarrow</math>
|<math>\mathbf x_{k\beta} + \lambda_k \frac{\partial \sigma_k(t)}{\partial \mathbf x_{k\beta}}</math>
|}
 
for all <math>k=1\dots n</math> iteratively until the constraint equations <math>\sigma_k(t+\Delta t)</math> are solved to a given tolerance.
 
Each iteration of the SHAKE algorithm costs <math>\mathcal O(n)</math> operations and the iterations themselves converge linearly.
 
A noniterative form of SHAKE was developed later.<ref>{{cite journal | last = Yoneya | first = M | coauthors = Berendsen HJC, Hirasawa K | title = A Noniterative Matrix Method for Constraint Molecular-Dynamics Simulations | journal = Molecular Simulations | volume = 13 | issue = 6 | pages = 395–405 | doi = 10.1080/08927029408022001 | year = 1994 }}</ref>
 
Several variants of the SHAKE algorithm exist. Although they differ in how they compute or apply the constraints themselves, the constraints are still modelled using [[Lagrange multipliers]] which are computed using the [[Gauss-Seidel method]].
 
The original SHAKE algorithm is limited to mechanical systems with a tree structure, i.e., no closed loops of constraints.  A later extension of the method, QSHAKE ([[Quaternion]] SHAKE) was developed to amend this.<ref name="forester_1998" >{{cite journal | last = Forester | first = TR | coauthors = Smith W | year = 1998 | title = SHAKE, Rattle, and Roll: Efficient Constraint Algorithms for Linked Rigid Bodies | journal = Journal of Computational Chemistry | volume = 19 | pages = 102–111 | doi = 10.1002/(SICI)1096-987X(19980115)19:1<102::AID-JCC9>3.0.CO;2-T }}</ref>  It works satisfactorily for ''rigid'' loops such as aromatic ring systems but fails for flexible loops, such as when a protein has a disulfide bond.<ref>{{cite journal | last = McBride | first = C | coauthors = Wilson MR, Howard JAK | year = 1998 | title = Molecular dynamics simulations of liquid crystal phases using atomistic potentials | journal = Molecular Physics | volume = 93 | issue = 6 | pages = 955–964 | doi = 10.1080/002689798168655}}</ref>
 
Further extensions include RATTLE,<ref name=rattle>{{cite journal | first=Hans C.| last=Andersen | title=RATTLE: A "Velocity" Version of the SHAKE Algorithm for Molecular Dynamics Calculations | journal=Journal of Computational Physics | year=1983 | volume=52 | pages=24–34 | doi=10.1016/0021-9991(83)90014-1 |bibcode = 1983JCoPh..52...24A }}</ref> WIGGLE<ref name=wiggle>{{cite journal| first=Sang-Ho | last=Lee | coauthors=Kim Palmo, Samuel Krimm | title=WIGGLE: A new constrained molecular dynamics algorithm in Cartesian coordinates | journal=Journal of Computational Physics | volume=210 | year=2005 | pages=171–182 | doi=10.1016/j.jcp.2005.04.006 |bibcode = 2005JCoPh.210..171L }}</ref> and MSHAKE.<ref name=mshake>{{cite journal| first=S. G. | last=Lambrakos | coauthors=J. P. Boris, E. S. Oran, I. Chandrasekhar, M. Nagumo | title=A Modified SHAKE algorithm for Maintaining Rigid Bonds in Molecular Dynamics Simulations of Large Molecules | journal=Journal of Computational Physics | volume=85 | year=1989| issue=2 | pages=473–486 | doi= 10.1016/0021-9991(89)90160-5 |bibcode = 1989JCoPh..85..473L }}</ref>
RATTLE works the same way as SHAKE,<ref name=shake-symp>{{cite journal| first=Benedict | last=Leimkuhler | coauthors=Robert Skeel | title=Symplectic numerical integrators in constrained Hamiltonian systems | journal=Journal of Computational Physics | volume=112 | year=1994 | pages=117–125 | doi=10.1006/jcph.1994.1085 |bibcode = 1994JCoPh.112..117L }}</ref> yet using the [[Velocity Verlet]] time integration scheme. WIGGLE extends SHAKE and RATTLE by using an initial estimate for the [[Lagrange multipliers]] <math>\lambda_k</math> based on the particle velocities. Finally, MSHAKE computes corrections on the constraint ''forces'', achieving better convergence.
 
A final modification is the P-SHAKE algorithm<ref name=p-shake>{{cite journal| first=Pedro | last=Gonnet | title=P-SHAKE: A quadratically convergent SHAKE in <math>\mathcal O(n^2)</math> | journal=Journal of Computational Physics | volume=220 | year=2007| issue=2 | pages=740–750 | doi=10.1016/j.jcp.2006.05.032 |bibcode = 2007JCoPh.220..740G }}</ref> for rigid or semi-rigid molecules. P-SHAKE computes and updates a pre-conditioner which is applied to the constraint gradients before the SHAKE iteration, causing the Jacobian <math>\mathbf J_\sigma</math> to become diagonal or strongly diagonally dominant. The thus de-coupled constraints converge much faster (quadratically as opposed to linearly) at a cost of <math>\mathcal O(n^2)</math>.
 
===The M-SHAKE algorithm===
The M-SHAKE algorithm<ref name=kraeutler_2001>{{cite journal|last=Kräutler|first=Vincent|coauthors=W. F. van Gunsteren, P. H. Hünenberger|title=A Fast SHAKE Algorithm to Solve Distance Constraint Equations for Small Molecules in Molecular Dynamics Simulations|journal=Journal of Computational Chemistry|volume=22|issue=5|pages=501–508|year=2001|doi=10.1002/1096-987X(20010415)22:5<501::AID-JCC1021>3.0.CO;2-V}}</ref> solves the non-linear system of equations using [[Newton's method]] directly. In each iteration, the linear system of equations
 
:<math>\underline{\lambda} = -\mathbf J_\sigma^{-1} \underline{\sigma}</math>
 
is solved exactly using an [[LU decomposition]]. Each iteration costs <math>\mathcal O(n^3)</math> operations, yet the solution converges [[Quadratic convergence|quadratically]], requiring fewer iterations than SHAKE.
 
This solution was first proposed in 1986 by [[Giovanni Ciccotti|Ciccotti]] and Ryckaert<ref name=ciccotti_1986>{{cite journal|last=Ciccotti|first=G.|coauthors=J. P. Ryckaert|title=Molecular Dynamics Simulation of Rigid Molecules|journal=Computer Physics Reports|volume=4|year=1986|issue=6|pages=345–392|doi=10.1016/0167-7977(86)90022-5|bibcode = 1986CoPhR...4..346C }}</ref> under the title "the matrix method", yet differed in the solution of the linear system of equations. Ciccotti and Ryckaert suggest inverting the matrix <math>\mathbf J_\sigma</math> directly, yet doing so only once, in the first iteration. The first iteration then costs <math>\mathcal O(n^3)</math> operations, whereas the following iterations cost only <math>\mathcal O(n^2)</math> operations (for the matrix-vector multiplication). This improvement comes at a cost though, since the Jacobian is no longer updated, convergence is only [[Linear convergence|linear]], albeit at a much faster rate than for the SHAKE algorithm.
 
Several variants of this approach based on sparse matrix techniques were studied by Barth ''et al.''.<ref name=barthkuczeraetal>{{cite journal|last=Barth|first=Eric|coauthors=K. Kuczera, B. Leimkuhler, R. Skeel|title=Algorithms for constrained molecular dynamics |journal=Journal of Computational Chemistry|volume=16|issue=10|pages=1192–1209|year=1995|doi=10.1002/jcc.540161003}}</ref>
 
===The SHAPE algorithm===
 
The SHAPE algorithm<ref name=Tao_2012>{{cite journal|last=Tao|first=Peng|coauthors=Xiongwu Wu, Bernard R. Brooks|title= Maintain rigid structures in Verlet based Cartesian molecular dynamics simulations|journal= The Journal of Chemical Physics|volume=137|pages= 134110|year=2012|doi= 10.1063/1.4756796|bibcode = 2012JChPh.137m4110T }}</ref> is a multicenter analog of SHAKE for constraining rigid bodies of three or more centers. Like SHAKE, an unconstrained step is taken and then corrected by directly calculating and applying the rigid body rotation matrix that satisfies:
:<math>L^{rigid} \left( t + \frac{\Delta t}{2} \right) = L^{nonrigid} \left( t + \frac{\Delta t}{2} \right)</math>
This approach involves a single 3x3 matrix diagonalization followed by three or four rapid Newton iterations to determine the rotation matrix.  SHAPE provides the identical trajectory that is provided with fully converged iterative SHAKE,
yet it is found to be more efficient and more accurate than SHAKE when applied to systems involving three or more centers.
It extends the ability of SHAKE like constraints to linear systems with three or more atoms, planar systems with four or more atoms, and to significantly larger rigid structures where SHAKE is intractable.
It also allows rigid bodies to be linked with one or two common centers (e.g. peptide planes) by solving rigid body constraints iteratively in the same basic manner that SHAKE is used for atoms involving more than one SHAKE constraint.
 
===The LINCS algorithm===
 
An alternative constraint method, LINCS (Linear Constraint Solver) was developed in 1997 by Hess, Bekker, Berendsen and Fraaije,<ref name="hess_1997" >{{cite journal | last = Hess | first = B | coauthors = Bekker H, Berendsen HJC, Fraaije JGEM | year = 1997 | title = LINCS: A Linear Constraint Solver for Molecular Simulations | journal = Journal of Computational Chemistry | volume = 18 | issue = 12 | pages = 1463–1472 | doi = 10.1002/(SICI)1096-987X(199709)18:12<1463::AID-JCC4>3.0.CO;2-H}}</ref> and was based on the 1986 method of Edberg, Evans and Morriss (EEM),<ref>{{cite journal | last = Edberg | first = R | coauthors = Evans DJ, Morriss GP | year = 1986 | title = Constrained Molecular-Dynamics Simulations of Liquid Alkanes with a New Algorithm | journal = Journal of Chemical Physics | volume = 84 | issue = 12 | pages = 6933–6939 | doi = 10.1063/1.450613|bibcode = 1986JChPh..84.6933E }}</ref> and a modification thereof by Baranyai and Evans (BE).<ref>{{cite journal | last = Baranyai | first = A | coauthors = Evans DJ | year = 1990 | title = New Algorithm for Constrained Molecular-Dynamics Simulation of Liquid Benzene and Naphthalene | journal = Molecular Physics | volume = 70 | pages = 53–63 | doi = 10.1080/00268979000100841|bibcode = 1990MolPh..70...53B }}</ref>
 
LINCS applies [[Lagrange multipliers]] to the constraint forces and solves for the multipliers by using a series expansion to approximate the inverse of the Jacobian <math>\mathbf J_\sigma</math>:
 
:<math>(\mathbf I - \mathbf J_\sigma)^{-1} = \mathbf I + \mathbf J_\sigma + \mathbf J_\sigma^2 + \mathbf J_\sigma^3 + \dots</math>
 
in each step of the Newton iteration. This approximation only works for matrices with [[Eigenvalues]] smaller than 1, making the LINCS algorithm suitable only for molecules with low connectivity.
 
LINCS has been reported to be 3-4 times faster than SHAKE.<ref name="hess_1997" />
 
==Hybrid methods==
 
Hybrid methods have also been introduced in which the constraints are divided into two groups; the constraints of the first group are solved using internal coordinates whereas those of the second group are solved using constraint forces, e.g., by a Lagrange multiplier or projection method.<ref name="mazur_1999" >{{cite journal | last = Mazur | first = AK | year = 1999 | title = Symplectic integration of closed chain rigid body dynamics with internal coordinate equations of motion | journal = Journal of Chemical Physics | volume = 111 | issue = 4 | pages = 1407–1414 | doi = 10.1063/1.479399|bibcode = 1999JChPh.111.1407M }}</ref><ref>{{cite journal | last = Bae | first = D-S | coauthors = Haug EJ | year = 1988 | title = A Recursive Formulation for Constrained Mechanical System Dynamics: Part II. Closed Loop Systems | journal = Mechanics of Structures and Machines | volume = 15 | pages = 481–506}}</ref><ref>{{cite journal | last = Rodriguez | first = G | coauthors = Jain A, Kreutz-Delgado K | year = 1991 | title = A Spatial Operator Algebra for Manipulator Modeling and Control | journal = The International Journal for Robotics Research | volume = 10 | issue = 4 | pages = 371–381 | doi = 10.1177/027836499101000406}}</ref>  This approach was pioneered by [[Joseph Louis Lagrange|Lagrange]],<ref name="lagrange_1788" /> and result in ''Lagrange equations of the mixed type''.<ref>{{cite book | last = Sommerfeld | first = Arnold | authorlink = Arnold Sommerfeld | year = 1952 | title = Lectures on Theoretical Physics, Vol. I: Mechanics | publisher = Academic Press | location = New York | isbn = 0-12-654670-3}}</ref>
 
==See also==
 
* [[Molecular dynamics]]
* [[List of software for molecular mechanics modeling|Software for molecular mechanics modeling]]
 
==References and footnotes==
{{Reflist}}
 
{{DEFAULTSORT:Constraint Algorithm}}
[[Category:Molecular dynamics]]
[[Category:Computational chemistry]]
[[Category:Molecular physics]]
[[Category:Computational physics]]
[[Category:Numerical differential equations]]

Latest revision as of 05:08, 7 October 2014

The author's name is Christy. Alaska is the only location I've been residing in but now I'm contemplating other choices. online reader I am really fond of handwriting but I can't make it my occupation really. Distributing manufacturing is where my primary earnings arrives from and it's some thing I truly appreciate.

Feel free to surf to my homepage ... phone love psychic readings readings (simply click the up coming document)