Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

QCHIMIE

Liste de commandes écrite en Pascal (Turbo Pascal ou Free Pascal) sur la chimie.

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

QChimie

Liste de commandes écrite en Pascal (Turbo Pascal ou Free Pascal) sur la chimie.

image

Aperçu de la commande PyMOL :

image

Aperçu de la commande ChemDraw :

ChemDraw

Aperçu de la commande VCCTL :

VCCTL

Aperçu de la commande ORCA :

ORCA

Aperçu de la commande JMOL :

JMOL

Liste des fichiers</h3>

Voici la liste des différents fichiers proposés dans QChimie :

<table> <tr> <th>Nom</th> <th>Description</th> </tr> <tr> <td>CHEMDRAW.PAS</td> <td>Cette commande permet de dessiner des structures chimiques en deux dimensions (molécules, réactions, flèches, cycles, groupes d'atomes), de les analyser (formule, poids moléculaire, masse exacte, spectre de masse, prédiction RMN ¹H et ¹³C, nom du composé, SMILES, InChI, stéréochimie R/S et E/Z) et de les importer ou exporter aux formats CDT, MOL, SMILES, InChI, SVG et BMP, à la manière du logiciel ChemDraw.</td> </tr> <tr> <td>CP2K.PAS</td> <td>Cette commande permet de lancer, à la manière de la ligne de commande du logiciel CP2K (<code>CP2K [-i] fichier.inp [-o sortie.out]</code>), des simulations atomistiques de molécules, de liquides et de solides périodiques à partir d'un fichier d'entrée au format CP2K (sections <code>&GLOBAL</code>, <code>&FORCE_EVAL</code>, <code>&SUBSYS</code>, <code>&MOTION</code>…, unités entre crochets, préprocesseur <code>@SET</code>, <code>@IF</code>, <code>@INCLUDE</code> et <code>${VARIABLE}</code>) : énergie et forces, optimisation de géométrie et de cellule, dynamique moléculaire (NVE, NVT avec Nosé-Hoover ou CSVR, NPT), analyse vibrationnelle et vérification des dérivées. Deux moteurs sont fournis : <code>FIST</code> (champ de force avec Lennard-Jones, Williams, liaisons, angles, torsions et charges avec sommation d'Ewald, forces et contraintes analytiques) et <code>QS</code> (Quickstep : Hartree-Fock et DFT LDA, BLYP, B3LYP, PBE et PBE0 avec les bases STO-3G, 3-21G et 6-31G). Elle produit un fichier de sortie au format CP2K ainsi que les fichiers <code>-pos-1.xyz</code>, <code>-1.ener</code>, <code>-1.cell</code>, <code>-1.restart</code> et <code>-VIBRATIONS-1.mol</code>, et accepte les options <code>--check</code>, <code>--echo</code>, <code>-E nom=valeur</code>, <code>--version</code> et <code>--xml</code>.</td> </tr> <tr> <td>ELEMENTS.PAS</td> <td>Cette commande permet d'afficher le tableau des éléments chimiques ou un élément chimique.</td> </tr> <tr> <td>FINDELEM.PAS</td> <td>Cette commande permet de détecter les éléments chimiques mentionné dans un texte.</td> </tr> <tr> <td>FORMULA.PAS</td> <td>Cette commande permet d'afficher la formule d'un élément chimique ou d'un composé chimique.</td> </tr> <tr> <td>JMOL.PAS</td> <td>Cette commande permet de visualiser et de manipuler des structures moléculaires tridimensionnelles (PDB, XYZ, MOL, SDF, MOL2 et CIF), à la manière du logiciel Jmol : menus déroulants et menu contextuel (bouton droit) en français, barre d'outils, styles (remplissage CPK, boules et bâtons, bâtonnets, fil de fer, points de surface, squelette, trace, rubans, cartoon, brins), couleurs (élément, chaîne, résidu, structure, arc-en-ciel, température), sélection par expressions, étiquettes, mesures de distances, d'angles et de dièdres, liaisons hydrogène, cellule unitaire, modèles multiples avec animation, modes de vibration (panneau Vibration), console de commandes (langage de script de type Jmol), minimisation d'énergie, calculs (formule, masse molaire, centre de masse) et enregistrement en PDB, XYZ, MOL ou image BMP.</td> </tr> <tr> <td>ORCA.PAS</td> <td>Cette commande permet d'effectuer, à la manière du logiciel ORCA, des calculs de chimie quantique sur des molécules à partir d'un fichier d'entrée au format ORCA (lignes <code>! mots-clés</code>, blocs <code>%scf</code>, <code>%geom</code>, <code>%tddft</code>, <code>%freq</code> et coordonnées <code>* xyz</code>, <code>* int</code> ou <code>* xyzfile</code>) : énergie Hartree-Fock (RHF/UHF), MP2, états excités CIS et DFT (LDA, BLYP, B3LYP, PBE, PBE0) avec les bases STO-3G, 3-21G et 6-31G, optimisation de géométrie (avec contraintes), balayage relaxé de surface, fréquences harmoniques, spectre infrarouge et thermochimie. Elle produit un fichier de sortie <code>.OUT</code> (énergies, orbitales, charges de Mulliken et de Löwdin, ordres de liaison de Mayer, moment dipolaire) et propose un éditeur d'entrée, la visualisation 3D de la molécule, le diagramme et les coupes des orbitales moléculaires ainsi que les graphiques SCF, optimisation, IR, UV et surface d'énergie (<code>ORCA /B fichier.INP</code> en mode lot).</td> </tr> <tr> <td>PYMOL.PAS</td> <td>Cette commande permet de visualiser, manipuler et analyser des structures moléculaires tridimensionnelles, not amment des protéines, des acides nucléiques et des composés chimiques, à l'aide du logiciel PyMOL.</td> </tr> <tr> <td>VCCTL.PAS</td> <td>Cette commande permet de simuler, à la manière du logiciel VCCTL (Virtual Cement and Concrete Testing Laboratory), la microstructure 3D et l'hydratation d'une pâte de ciment (ciment Portland, cendres volantes, laitier, calcaire, fumée de silice) par automate cellulaire, puis d'estimer ses propriétés : degré d'hydratation, chaleur dégagée, retrait chimique, porosité, percolation, distribution des pores, modules élastiques, résistance à la compression, conductivité et diffusivité, zone de transition interfaciale. Elle comprend aussi une bibliothèque de matériaux, le calculateur de Bogue, l'empilement 3D de granulats, le calibrage de la cinétique et un mode lot (<code>VCCTL /B</code>).</td> </tr> </table>

<h2>Compilation

Les fichiers Pascal n'ont aucune dépendances, il suffit de télécharger le fichier désiré et de le compiler avec Free Pascal avec la syntaxe de commande :

<pre>fpc LEFICHIER.PAS</pre>

Sinon, vous pouvez également le compiler avec le Turbo Pascal à l'aide de la syntaxe de commande suivante :

<pre>tpc LEFICHIER.PAS</pre>

Par exemple, si vous voulez compiler ELEMENTS.PAS, vous devrez tapez la commande suivante :

<pre>fpc ELEMENTS.PAS</pre>

Remarque

<ul> <li>La commande JMOL accepte en ligne de commande un fichier moléculaire (PDB, XYZ, MOL, SDF, MOL2 ou CIF) ou un script de commandes (SPT). Des exemples sont fournis dans le dossier SAMPLES/JMOL (par exemple JMOL SAMPLES\JMOL\DEMO.SPT). Bouton gauche : rotation ; bouton droit : menu contextuel (ou translation en glissant) ; bouton du milieu : zoom ; touche F4 : console ; touche F10 : barre de menus ; touche F1 : aide.</li> <li>La commande CHEMDRAW accepte en ligne de commande un fichier à ouvrir (CDT, MOL, SDF ou SMI) ou une structure SMILES avec le paramètre -s (par exemple : CHEMDRAW -s CC(=O)Oc1ccccc1C(O)=O). Des exemples sont fournis dans le dossier SAMPLES/CHEMDRAW. Le format CDT est le format texte natif de la commande.</li> <li>L'InChI produit par la commande CHEMDRAW (menu Analyse) couvre la formule, la connectivité, les hydrogènes (y compris mobiles), la charge et la stéréochimie (couches /b, /t, /m et /s, calculées à partir des coins pleins, des hachures et de la géométrie des doubles liaisons) d'une molécule connexe, sans isotopes. Sur un échantillon de 4 900 molécules sans stéréochimie, il est identique à celui de la bibliothèque InChI officielle dans 98,8 % des cas ; sur 3 000 stéréoisomères la couche stéréochimique est identique dans tous les cas où la structure est correctement lue, hormis les doubles liaisons de grands cycles et quelques cations conjugués. Les fragments multiples et les organométalliques ne sont pas pris en charge.</li> <li>La stéréochimie de la commande CHEMDRAW (menu Affichage > Stéréochimie, ou menu Analyse > Stéréochimie) attribue les descripteurs CIP R/S aux centres dessinés avec un coin plein ou hachuré (extrémité fine sur le centre) et les descripteurs E/Z aux doubles liaisons substituées. Les priorités sont calculées avec un digraphe hiérarchique (atomes dupliqués, hydrogènes implicites, doublets libres) selon les règles 1 à 5 (numéro atomique, nombre de masse, Z avant E, unités chirales avant pseudo-asymétriques, like avant unlike, r avant s, R avant S) : les centres pseudo-asymétriques (r/s), les alditols symétriques et les cycles symétriques 1,3- ou 1,4-disubstitués sont donc étiquetés. Les symboles @ / @@ et / \ du SMILES sont lus (ils deviennent des coins pleins ou hachurés) et écrits, y compris pour les doubles liaisons des grands cycles (jusqu'à 40 atomes, dessinés avec des coudes pour les liaisons trans) ; la stéréochimie est conservée par la commande Nettoyer. Sur 3 001 stéréoisomères tirés d'une collection de molécules, 2 982 (99,4 %) reçoivent exactement les mêmes descripteurs que la bibliothèque RDKit ; les écarts restants concernent des systèmes pontés ou fusionnés (bicycles, azote en tête de pont), des complexes métalliques et quelques cycles symétriques couplés. L'InChI exporté contient la couche stéréochimique (/b, /t, /m, /s).</li> <li>La commande ORCA accepte en ligne de commande un fichier d'entrée à ouvrir (INP) ou une géométrie XYZ, ou le paramètre /B pour exécuter un calcul sans interface (par exemple : ORCA /B EAU.INP EAU.OUT). Des exemples d'entrées (avec deux sorties) sont fournis dans le dossier SAMPLES/ORCA. Le moteur de calcul est entièrement écrit en Pascal : intégrales gaussiennes (schéma de McMurchie-Davidson), SCF avec DIIS, MP2 à cœur gelé, CIS, DFT sur grille de Becke et dérivées numériques pour les gradients, les fréquences et les intensités IR. Sur les molécules testées (eau, OH, NH3, éthane, benzène, O2…), les énergies HF, MP2, CIS, B3LYP, PBE et PBE0, les charges, les dipôles, les fréquences harmoniques et les valeurs de <S²> concordent avec celles de la bibliothèque PySCF à environ 10-6 Eh près (quelques 10-6 Eh pour la DFT, à cause de la grille d'intégration). Les bases se limitent à STO-3G (H à Ne), 3-21G et 6-31G (H, He, C à F) ; les autres bases d'ORCA (def2-SVP, etc.) sont remplacées par 6-31G avec un avertissement. Les calculs DFT et les optimisations sont plus lents qu'avec ORCA (pas de gradient analytique, pas d'approximation RI) : prévoyez quelques dizaines de secondes pour optimiser une petite molécule en B3LYP.</li> <li>La commande CP2K accepte en ligne de commande un fichier d'entrée au format CP2K et, facultativement, un fichier de sortie (par exemple : CP2K -i EAUHF.INP -o EAUHF.OUT ou CP2K SAMPLES\CP2K\NACL.INP pour une sortie à l'écran ; les exemples EAUXYZ et PREPROC doivent être lancés depuis le dossier SAMPLES/CP2K, car ils lisent des fichiers voisins). Les options --check (vérifie seulement la syntaxe), --echo (affiche l'entrée après prétraitement) et -E nom=valeur (définit une variable du préprocesseur) sont prises en charge. Des exemples sont fournis dans le dossier SAMPLES/CP2K (argon de Lennard-Jones et optimisation de cellule, butane avec Ewald, boîte de 64 molécules d'eau, chlorure de sodium, eau en DFT, Hartree-Fock, vibrations et dynamique ab initio, dioxygène triplet, préprocesseur) avec quelques sorties. Les forces FIST, le tenseur des contraintes (y compris en cellule triclinique, avec liaisons, angles, torsions et Ewald) concordent avec les différences finies de l'énergie à 10-7 près (RUN_TYPE DEBUG) ; l'énergie de Madelung de NaCl (-1,31173 Eh) est reproduite à 10-6 Eh ; la dynamique NVE conserve l'énergie et les thermostats NVT donnent la température demandée. Le moteur QS réutilise le moteur quantique de la commande ORCA : l'énergie HF/STO-3G de l'eau (-74,96590 Eh), sa géométrie (O-H = 0,989 Å) et ses fréquences (2170, 4140 et 4391 cm-1) sont celles de la littérature. Limites : le moteur QS est limité à 32 atomes, à des systèmes non périodiques (les pseudopotentiels POTENTIAL sont ignorés : calcul tout-électron), aux bases STO-3G (H à Ne), 3-21G et 6-31G (H, He, C à F) et ses forces sont obtenues par différences finies ; l'ensemble NPT utilise un barostat de type Berendsen (isotrope) ; les méthodes semi-empiriques (DFTB, xTB, PM6…), les ondes planes, la métadynamique, NEB et Monte-Carlo ne sont pas prises en charge. Les messages de la ligne de commande sont en français ; le fichier de sortie reprend la présentation de CP2K.</li> <li>La commande FORMULA a été bonifié du paramètre /FORMAT:HTML à partir de sa version 1.1.</li> </ul>

Licence

<ul> <li>Le code source est publié sous la licence MIT.</li> <li>Le paquet original est publié sous la licence MIT.</li> </ul>