OSDN Git Service

Start implementing 'additional exponent' for JANPA output
[molby/Molby.git] / MolLib / Molecule.h
index 6afb0d5..5bc8364 100755 (executable)
@@ -46,6 +46,7 @@ typedef struct Aniso {
        char has_bsig;     /*  Has sigma values?  */
        Double  bsig[6];   /*  sigma values  */
        Mat33  pmat;      /*  A 3x3 matrix whose three column vectors are the principal axes of the ellipsoid. Note: If the B matrix is not positive definite, the axis length corresponding to the negative eigenvalue is replaced with 0.001.  */
+    Double eigval[3]; /*  Eigenvalues of the B matrix; this should be all non-negative */
 } Aniso;
 
 /*  Symmetry operation  */
@@ -218,6 +219,7 @@ typedef struct ShellInfo {
        signed char sym;     /*  Symmetry of the basis; S, P, ... */
        signed char ncomp;   /*  Number of components (S: 1, P: 3, SP: 4, etc.)  */
        signed char nprim;   /*  Number of primitives for this shell  */
+    signed char add_exp; /*  Additional exponent (for JANPA-Molden only)  */
        Int p_idx;           /*  Index to the PrimInfo (exponent/coefficient) table  */
        Int cn_idx;          /*  Index to the normalized (cached) contraction coefficient table  */
        Int a_idx;           /*  Index to the atom which this primitive belongs to */
@@ -409,7 +411,7 @@ Molecule *MoleculeRetain(Molecule *mp);
 void MoleculeRelease(Molecule *mp);
 void MoleculeExchange(Molecule *mp1, Molecule *mp2);
 
-int MoleculeAddGaussianOrbitalShell(Molecule *mol, Int a_idx, Int sym, Int nprims);
+int MoleculeAddGaussianOrbitalShell(Molecule *mol, Int a_idx, Int sym, Int nprims, Int add_exp);
 int MoleculeAddGaussianPrimitiveCoefficients(Molecule *mol, Double exponent, Double contraction, Double contraction_sp);
 int MoleculeGetGaussianComponentInfo(Molecule *mol, Int comp_idx, Int *outAtomIdx, char *outLabel, Int *outShellIdx);
 int MoleculeSetMOCoefficients(Molecule *mol, Int idx, Double energy, Int ncomps, Double *coeffs);
@@ -615,7 +617,7 @@ STUB void MoleculeCallback_enableModificationFromGUI(Molecule *mol);
        
 STUB void MoleculeCallback_cannotModifyMoleculeDuringMDError(Molecule *mol);
 
-STUB int MoleculeCallback_callSubProcessAsync(Molecule *mol, const char *cmd, int (*callback)(Molecule *, int), int (*timerCallback)(Molecule *, int), FILE *output, FILE *errout);
+STUB int MoleculeCallback_callSubProcessAsync(Molecule *mol, const char **argv, int (*callback)(Molecule *, int), int (*timerCallback)(Molecule *, int), FILE *output, FILE *errout);
 
 /*  This is also defined in Molby_extern.h, but it may be called from functions in Molecule.c  */
 STUB int MyAppCallback_checkInterrupt(void);