A freeze group can now be allowed to move rigidly in some dimension by using "freezed...
[gromacs/rigid-bodies.git] / src / gmxlib / nonbonded / nb_kernel_x86_64_sse / nb_kernel102_x86_64_sse.h
blob2401cec20a34b103de5bc53e5842a413a4f8d1ef
1 /* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
3 *
4 * This file is part of Gromacs Copyright (c) 1991-2004
5 * David van der Spoel, Erik Lindahl, University of Groningen.
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
12 * To help us fund GROMACS development, we humbly ask that you cite
13 * the research papers on the package. Check out http://www.gromacs.org
15 * And Hey:
16 * Gnomes, ROck Monsters And Chili Sauce
18 #ifndef _NB_KERNEL102_X86_64_SSE_H_
19 #define _NB_KERNEL102_X86_64_SSE_H_
22 /*! \file nb_kernel102_x86_64_sse.h
23 * \brief x86_64 SSE-optimized versions of nonbonded kernel 102
25 * \internal
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 #if 0
33 #endif
35 /*! \brief Nonbonded kernel 102 with forces, optimized for x86_64 sse.
37 * \internal
39 * <b>Coulomb interaction:</b> Standard 1/r <br>
40 * <b>VdW interaction:</b> No <br>
41 * <b>Water optimization:</b> Pairs of SPC/TIP3P waters interaction <br>
42 * <b>Forces calculated:</b> Yes <br>
44 * \note All level1 and level2 nonbonded kernels use the same
45 * call sequence. Parameters are documented in nb_kernel.h
47 void
48 nb_kernel102_x86_64_sse (int * nri, int iinr[], int jindex[],
49 int jjnr[], int shift[], float shiftvec[],
50 float fshift[], int gid[], float pos[],
51 float faction[], float charge[], float * facel,
52 float * krf, float * crf, float Vc[],
53 int type[], int * ntype, float vdwparam[],
54 float Vvdw[], float * tabscale, float VFtab[],
55 float invsqrta[], float dvda[], float * gbtabscale,
56 float GBtab[], int * nthreads, int * count,
57 void * mtx, int * outeriter,int * inneriter,
58 float * work);
63 /*! \brief Nonbonded kernel 102 without forces, optimized for x86_64 sse.
65 * \internal
67 * <b>Coulomb interaction:</b> Standard 1/r <br>
68 * <b>VdW interaction:</b> No <br>
69 * <b>Water optimization:</b> Pairs of SPC/TIP3P waters interaction <br>
70 * <b>Forces calculated:</b> No <br>
72 * \note All level1 and level2 nonbonded kernels use the same
73 * call sequence. Parameters are documented in nb_kernel.h
75 void
76 nb_kernel102nf_x86_64_sse(int * nri, int iinr[], int jindex[],
77 int jjnr[], int shift[], float shiftvec[],
78 float fshift[], int gid[], float pos[],
79 float faction[], float charge[], float * facel,
80 float * krf, float * crf, float Vc[],
81 int type[], int * ntype, float vdwparam[],
82 float Vvdw[], float * tabscale, float VFtab[],
83 float invsqrta[], float dvda[], float * gbtabscale,
84 float GBtab[], int * nthreads, int * count,
85 void * mtx, int * outeriter,int * inneriter,
86 float * work);
89 #ifdef __cplusplus
91 #endif
94 #endif /* _NB_KERNEL102_X86_64_SSE_H_ */