Contribuire
Atomsk utilizza la libreria LAPACK, i cui autori sono calorosamente ringraziati.
Rivolgo un ringraziamento speciale alle seguenti persone, per i loro significativi contributi ad Atomsk (le affiliazioni corrispondono al momento del primo contributo):
- Juri Barthel, RWTH Aachen, Germania, per l'implementazione dei gruppi spaziali, l'aggiunta del supporto file ai file CEL, per il miglioramento del supporto file per i file CIF e per la traduzione dei messaggi di programma in tedesco.
- Philippe Carrez, Università di Lille, Francia, per aver implementato una modalità di calcolo del tensore di Nye.
- Emmanuel Clouet, CEA, Francia, per aver condiviso il suo programma Babel per la creazione di anelli di dislocazione.
- Adham Hashibon, Fraunhofer-IWM, Freiburg, Germania, per lo scambio di idee e discussioni sull'implementazione di diversi metodi.
- Eva Marie Kalivoda, Fraunhofer-IWM, Freiburg, Germania, per aver implementato il supporto per i file in formato XV di SIESTA.
- Srinivasan Mahendran, Università di Lille, Francia, per il suo aiuto nell'implementazione di un algoritmo di decomposizione cellulare che rende più veloce la ricerca dei vicini.
- Matous Mrovec, Fraunhofer-IWM, Freiburg, Germania, per il suo aiuto nell'implementazione dell'elasticità anisotropa per costruire dislocazioni.
Infine, ringrazio i cacciatori di bug, i cui post hanno contribuito a migliorare l'affidabilità e l'accuratezza del programma:
- Jonathan Amodeo, MATEIS, Univ. Lyon 1, France.
- Pietro Bonfa', Uni. Parma, Italy.
- Marion Borde, MATEIS, Univ. Lyon 1, France.
- Peixin Chen, Shanghai Jiao Tong University, China.
- Sen Chen, The Peac Institute of Multiscale Sciences (PIMS), Chengdu, China.
- Jaroslaw Czernek, IMC, Prague, Czech Republic.
- Valentin Delbecq, UMET, Univ. Lille, France.
- Jérôme Dequeker, UMET, Univ. Lille, France.
- Davide Di Stefano, Fraunhofer-IWM, Freiburg, Germany.
- Yann Even, MATEIS, Lyon, France.
- Jan Fikar, Institute of Physics of Materials ASCR, Brno, Czech Republic.
- Jean Furstoss, UMET, Univ. Lille, France.
- Nils Garvik, UMET, Univ. Lille, France.
- Alexandra Goryaeva, INSA Lyon, France.
- Karine Gouriet, University of Lille, France.
- Roman Gröger, Institute of Physics of Materials, Czech Academy of Sciences, Czech Republic.
- Julien Guénolé, IPMP, RWTH Aachen, Germany.
- Ling-Ju Guo, National Center for Nanoscience and Technology, Beijing, China.
- Lubin Huo, Ningbo Institute of Materials Technology and Engineering, China.
- Yaron Kauffmann, Technion, Israel.
- Vasiliy Krasnikov, South-Ural State University, Chelyabinsk, Russia.
- Antoine Kraych, CEA, France.
- Wei Li, University of Hong-Kong, China.
- Hui Liu, McGill University, Montreal, Canada.
- Dario Marrocchelli, MIT, Boston, USA.
- Marcin Minkowsky, Tampere University, Finland.
- Samaneh Nasiri, Friedrich-Alexander-University Erlangen-Nürnberg, Germany.
- Raoul Aurelien Ngayam Happy, Paul Sherrer Institute, Switzerland.
- Dongho Nguimdo Moise, AIMS, Cameroon.
- Justin Ondry, UC Berkeley, USA.
- Anirban Pal, Rensselaer Polytechnic Institute, Troy (NY), USA.
- Sebastian Ritterbex, UMET, Univ. Lille, France.
- Davide Sangiovanni, Linköping University, Sweden.
- Min Shi, University of Minnesotta, USA.
- Eerik Voimanen, Tampere University, Finland.
- Yanzhou Wang, Aalto University, Finland.
- Michael Wolloch, University of Modena and Reggio Emilia, Italy.
- Jianyang Wu, Xiamen University, China.
- Zhuocheng Xie, RWTH Aachen, Germany.
- Zheyuan Xing, Southwest Jiaotong University, China.
- Jian-Hui Zhai, UMET, Univ. Lille, France.
- Yong Zhang, Monash University, Clayton, Australia.
- Benedikt Ziebarth, Fraunhofer-IWM, Freiburg, Germany.
Vuoi contribuire?
Atomsk può ancora essere migliorato in molti modi. Se desideri contribuire, puoi modificare il codice sorgente per correggere un bug, ottimizzare una routine, aggiungere una nuova funzionalità o modificare o aggiungere traduzioni dei messaggi. Puoi anche tradurre la documentazione di Atomsk, in modo che gli utenti possano leggerla nella loro lingua madre. I tuoi contributi sono i benvenuti!
Segnalare un bug
Se hai trovato un bug durante l'esecuzione di Atomsk, puoi aprire un report su GitHub o contattare direttamente l'autore via email.
Un "bug" può essere qualsiasi tipo di comportamento indesiderato: un risultato errato o incoerente, una cattiva traduzione, un crash o un segfault. Quando invii una segnalazione di bug, indica quale versione di Atomsk stai utilizzando e il comando che produce questo bug. Inoltre, se possibile, spiega quale risultato ti aspetti di ottenere e perché pensi che il risultato prodotto da Atomsk sia sbagliato.
Usa Git e Github
Atomsk è sviluppato utilizzando Git e lo sviluppo è reso pubblico sul sito GitHub. Per imparare a usare git (il gestore di rilascio stesso) e come usare Github (la piattaforma che ospita Atomsk), i seguenti collegamenti possono essere un buon inizio:
Inoltre, sentiti libero di richiedere ulteriori informazioni e tutorial dal tuo motore di ricerca preferito.
Come contribuire ad Atomsk
Se desideri contribuire ad Atomsk, segui questi passaggi:
- Crea il tuo account su GitHub.com. Si prega di utilizzare il proprio vero nome e cognome (e non uno pseudonimo).
- Vai alla pagina GitHub di Atomsk e fai clic sul pulsante "Fork"; questo creerà una copia di Atomsk sul tuo account GitHub.
- Controlla la tua copia sul tuo computer locale, come faresti con qualsiasi repository GitHub:
git clone https://github.com/mon_nom/mon_depot
- Ora, invece di lavorare direttamente sul tuo ramo principale "master" (che potrebbe creare conflitti), è più sicuro creare il tuo ramo separato:
git checkout -b ma_branche
- Lavora sulla tua copia di Atomsk, modifica i file come desideri. Compila la tua versione per verificare che le tue modifiche funzionino bene. Non dimenticare di includere commenti nel codice sorgente.
- Una volta terminato il lavoro, conferma le modifiche (con i commenti!):
git commit -a
Quindi inviali al tuo repository GitHub:
git push origin ma_branche
Git chiede quindi le tue credenziali GitHub.
- Apri il tuo browser Web, vai alla pagina GitHub del tuo repository e fai clic sul pulsante "Pull request".
Le tue modifiche appariranno all'autore principale come una richiesta pull. Dopo aver verificato le modifiche, l'autore principale può accettarle e unirle alla versione principale di Atomsk (o meno).
Invia una versione modificata via e-mail
Se non puoi o non vuoi utilizzare GiHub, puoi inviare direttamente tramite e-mail la versione modificata . In questo caso, archivia l'intera versione modificata di Atomsk (in formato zip o tar.gz) prima di inviarla. Se possibile o pertinente, puoi anche inviare script che illustrino le modifiche apportate.
Importante: regole d'uso e buona condotta
I contributi sono benvenuti. I contributi vanno bene. Ma per evitare che sia caotico, per favore rispetta le poche regole di etichetta qui sotto quando contribuisci ad Atomsk.
- Usa il tuo vero nome e la tua affiliazione su GitHub. Come autore principale, ho più fiducia in un contributo se so da dove viene. Meglio ancora: inviami un'e-mail dal tuo indirizzo di lavoro quando effettui una richiesta pull. Le e-mail sono sempre apprezzate (vedi la pagina dei contatti). Se utilizzi uno pseudonimo o un indirizzo non professionale, il tuo contributo sembrerà sospetto, ci vorrà più tempo per verificarlo ed è più probabile che venga rifiutato.
- Contatta lo sviluppatore principale prima di iniziare a programmare. Ciò consente allo sviluppatore principale di sapere su quali parti del codice si sta lavorando, in modo che più persone non lavorino sulla stessa cosa. Dovresti descrivere le tue intenzioni facendo clic sul pulsante "Problemi" nella pagina GitHub del progetto o inviare un'e-mail allo sviluppatore principale (vedi la pagina dei contatti).
- Commenta e commenta. Commenta il tuo codice sorgente. Commenta i tuoi commit. Questo aiuta molto a capire cosa è stato fatto, e la verifica del tuo contributo sarà accelerata. Quando non ci sono commenti (o commenti non necessari o mal formulati), l'autore principale deve dedicare più tempo a comprendere le modifiche nel codice sorgente, perché è stato modificato e come influisce sul comportamento del programma.
- Assicurati che la tua versione venga compilata prima di richiedere un pull. Se la tua versione non si compila, allora il tuo lavoro non è finito: non c'è bisogno di inviare le tue modifiche, non saranno accettate!
- Assicurati che la documentazione sia d'accordo con le tue modifiche. Le correzioni di bug non richiedono la modifica della documentazione. Tuttavia, se modifichi alcune funzionalità o ne aggiungi di nuove, modifica anche la documentazione (nella cartella /doc/) in modo che incorpori le tue modifiche. Se le tue aggiunte non sono descritte nella documentazione, praticamente nessuno saprà di questa funzione e nessuno la userà.