NWChem/web/doc/user.4.6/node24.html
2006-01-12 21:22:32 +00:00

230 lines
7.1 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with jLaTeX2HTML 2002 (1.62) JA patch-1.4
patched version by: Kenshi Muto, Debian Project.
LaTeX2HTML 2002 (1.62),
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>22. Constraints for Geometry Optimization</TITLE>
<META NAME="description" CONTENT="22. Constraints for Geometry Optimization">
<META NAME="keywords" CONTENT="user">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="jLaTeX2HTML v2002 JA patch-1.4">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="user.css">
<LINK REL="next" HREF="node25.html">
<LINK REL="previous" HREF="node23.html">
<LINK REL="up" HREF="user.html">
<LINK REL="next" HREF="node25.html">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<!--Navigation Panel-->
<A NAME="tex2html1444"
HREF="node25.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html1440"
HREF="user.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html1434"
HREF="node23.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html1442"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html1445"
HREF="node25.html">23. Hybrid Calculations with</A>
<B> Up:</B> <A NAME="tex2html1441"
HREF="user.html">user</A>
<B> Previous:</B> <A NAME="tex2html1435"
HREF="node23.html">21. Geometry Optimization with</A>
&nbsp <B> <A NAME="tex2html1443"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION002400000000000000000">
22. Constraints for Geometry Optimization</A>
</H1>
<A NAME="sec:constraintsnew"></A>
<P>
The constraints directive allows the user to specify which constraints
should be imposed on the system during the geometry optimization. Currently
such constraints are limited to fixed atom positions and
harmonic restraints (springs) on the distance between the two atoms. The
general form of constraints block is presented below:
<PRE>
CONSTRAINTS [string name ] \
[clear] \
[enable||disable] \
[fix atom &lt;integer list&gt;] \
[spring bond &lt;integer atom1&gt; &lt;integer atom2&gt; &lt;real k&gt; &lt;real r0&gt; ]
END
</PRE>
The keywords are described below
<UL>
<LI><I>name</I> - optional keyword that associates a name with a given set of
constraints. Any unnamed set of constraints will be given a name ''default''
and will be automatically loaded prior to a calculation. Any constraints
with the name other than ''default'' will have to be loaded manually using
SET directive. For example,
</LI>
</UL>
<P>
<PRE>
CONSTRAINTS one
spring bond 1 3 5.0 1.3
fix atom 1
END
#the above constraints can be loaded using set directive
set constraints one
....
task ....
</PRE>
<P>
<UL>
<LI><I>clear</I> - destroys any prior constraint information. This may be
useful when the same constraints have to be redefined or completely removed from
the runtime database.
<P>
</LI>
<LI><I>enable||disable</I> - enables or
disables particular set of constraints without actually removing the
information from the runtime database.
<P>
</LI>
<LI><I>fix atom</I> - fixes atom positions during geometry optimization. This
directive requires an integer list that specifies which atoms are to be
fixed. This directive can be repeated within a given constraints block.
To illustrate the use "<I>fix atom</I>" directive let us
consider a situation where we would like to fix atoms 1, 3, 4, 5, 6 while performing an optimization on some hypothetical system.
There are actually several
ways to enter this particular constraint.
There is a straightforward option which requires the most typing
<P>
<PRE>
constraints
fix atom 1 3 4 5 6
end
</PRE>
<P>
Second method uses list input
<PRE>
constraints
fix atom 1 3:6
end
</PRE>
<P>
Third approach illustrates the use of multiple fix atom directives
<PRE>
constraints
fix atom 1
fix atom 3:6
end
</PRE>
<P>
</LI>
<LI><I>spring</I> bond &lt;<IMG
WIDTH="40" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
SRC="img161.gif"
ALT="$i j k r_0$">&gt; - places a spring with a spring constant <IMG
WIDTH="13" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img162.gif"
ALT="$k$"> and equilibrium length <IMG
WIDTH="18" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
SRC="img163.gif"
ALT="$r_0$">
between atoms <IMG
WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img164.gif"
ALT="$i$"> and <IMG
WIDTH="12" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
SRC="img66.gif"
ALT="$j$"> (all in atomic units). Please note that this type of constraint adds an additional term to
the total energy expression
<BR><P></P>
<DIV>
<!-- MATH
\begin{displaymath}
E=E_{total}+\frac{1}{2}k(r_{ij}-r_0)^2
\end{displaymath}
-->
<IMG
WIDTH="184" HEIGHT="78" BORDER="0"
SRC="img165.gif"
ALT="\begin{displaymath}
E=E_{total}+\frac{1}{2}k(r_{ij}-r_0)^2
\end{displaymath}">
</DIV>
<BR CLEAR="ALL">
<P></P>
This additional term forces the distance between atoms <IMG
WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img164.gif"
ALT="$i$"> and <IMG
WIDTH="12" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
SRC="img66.gif"
ALT="$j$"> to be in the vicinity of <IMG
WIDTH="18" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
SRC="img163.gif"
ALT="$r_0$"> but never exactly that. In general
the spring energy term will always have some nonzero residual value, and this has to be accounted for when comparing total
energies. The "<I>spring bond</I>" directive can be repeated within a given constraints block. If the spring between the same pair of atoms
is defined more than once, it will be replaced by the latest specification in the order it appears in the input block.
</LI>
</UL>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html1444"
HREF="node25.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html1440"
HREF="user.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html1434"
HREF="node23.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html1442"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html1445"
HREF="node25.html">23. Hybrid Calculations with</A>
<B> Up:</B> <A NAME="tex2html1441"
HREF="user.html">user</A>
<B> Previous:</B> <A NAME="tex2html1435"
HREF="node23.html">21. Geometry Optimization with</A>
&nbsp <B> <A NAME="tex2html1443"
HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Edoardo Apra
2004-05-25
</ADDRESS>
</BODY>
</HTML>