Giter Club home page Giter Club logo

atomes's Introduction

Atomes

Atomes is a Free (Open Source) cross-platform software licensed under the terms of the Affero GPL v3+ license. Atoms is a toolbox developed to analyze, to visualize and to create/edit three-dimensional atomistic models. It offers a workspace that allows to have many projects opened simultaneously.

The different projects in the workspace can exchange data: analysis results, atomic coordinates ... Atomes also provides an advanced input preparation system for further calculations using well known molecular dynamics codes:

To prepare the input filles for these calculations is likely to be the key, and most complicated step towards MD simulations. Atomes offers a user-friendly assistant to help and guide the user step by step to achieve this crucial step.

Features

  • Analysis of 3D atomistic model: neutron and x-rays diffraction, rings statistics, chain statistics, bond order, MSD ...
  • Visualization: measures, coordination polyhedras, advanced coloring, advanced design
  • Edition: molecular library, crystal builder, cell edition, surface creation and passivation ...
  • MD input preparation:

Build instructions

To build Atomes standard version:

make atomes

To build Atomes debug version:

make debug

The latter is for debugging purposes only, also prints extra information at runtime to help with the process.

Build options

Building the GTK4 version of Atomes

Atomes uses the GTK lib for the GUI, by default GTK3 is used, however it is possible to build the GTK4 version (beta), to do that edit the Makefile and change:

GTKV = 3

to

GTKV = 4

Here are some issues with GTK4 that cannot be sovled for the time being:

  1. No way to use Pango markups in menu items with sub-menus (https://gitlab.gnome.org/GNOME/gtk/-/issues/5946)
  2. No way to attach widget to menu items not in the top level of the menu (https://gitlab.gnome.org/GNOME/gtk/-/issues/5955)

Building the serial version of Atomes

By default Atomes uses OpenMP to parallelize several calculations over the CPU cores. It is possible to turn this off, and to build a serial version of Atomes, to do that edit the Makefile and change:

OPENMP = 1

to

OPENMP =

Who's behind Atomes

Atomes is developed by Dr. Sébastien Le Roux, research engineer for the CNRS

CNRS logo

Dr. Sébastien Le Roux works at the Institut de Physique et Chimie des Matériaux de Strasbourg IPCMS

IPCMS logo

Documentation

The documenation is hosted on GitHub here: Atomes documentation

Tutorials

Tutorial are regrouped and hosted on GitHub here: Atomes tutorials

atomes's People

Contributors

slookeur avatar fxcoudert avatar

Stargazers

Jerome Pansanel avatar mizu-bai avatar  avatar Janex avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

fxcoudert

atomes's Issues

Fortran files with preprocessor directives should be .F90

The following files in src/fortran/ have preprocessor directives, and should be .F90 and not .f90:

angles.f90
bonds.f90
chains.f90
dmtx.f90
gr.f90
initchains.f90
initrings.f90
molecules.f90
msd.f90
parameters.f90
rings-guttman.f90
rings-king.f90
rings-primitive.f90
sk.f90
spherical.f90

macOS status update

With all the recent pull requests merged, I can now run make GCCVER=12 GTKV=4 atomes natively on macOS, with Gtk+4 and GCC installed through Homebrew, and it compiles directly.

However, there is an OpenGL issue. I can view a structure, rotate it, but there is a color or lighting issue:

Capture d’écran 2022-08-30 à 14 08 57

I can pick atoms and they get a cyan color, so I think the issue is not color, but lighting or shading.

Capture d’écran 2022-08-30 à 14 09 46

Also, colors are OK in wireframe mode:

Capture d’écran 2022-08-30 à 14 11 20

The latest Atomes (Version1.1.9) in my PC cannot open xyz file with more than one step

Hello, Dr. Slookeur
I cannot wait to install the latest Atomes (version 1.1.9). Thanks for your effort some bugs have been fixed, however, I met with a new issue and I don't know whether it's a bug or there is just something wrong with my device. I can open an XYZ file with only one frame but Atomes (version 1.1.9) would crash when I open an XYZ file with more than one frame (e.g. a file with lots of MD steps).
I upload a ZIP file with three XYZ files, test.xyz is an MD simulation with one step, test1.xyz and test2.xyz both are MD simulations with more than one step. Can you test it and help me find the issue? Thank you very much.
In addition, my PC's CPU (with GPU) is AMD 5600G, RAM is 16GB, ROM is 1TB.
Sincerely,
Sailang
test.zip

Weirdness in make targets

After I compile, I see that make has created some weirdly named files:

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	"-DPACKAGE_DATA_DIR=\"\""
	-O0
	-O3

I think they are created because of these rules in Makefile:

$(OBJ)gtk-misc.o:
        $(CC) -c -MT $(OBJ)gtk-misc.o -MD -MP -MF $(CPPFLAGS) $(CFLAGS) $(DEFS) -o $(OBJ)gtk-misc.o $(GUI)gtk-misc.c $(INCLUDES)

and

$(OBJ)global.o:
        $(CC) -c -MT $(OBJ)global.o -MD -MP -MF $(CFLAGS) $(DEFS) -o $(OBJ)global.o $(SRC)global.c $(INCLUDES)

The -M options output dependency rules, but I am not sure if they are actually used. But, the -MF option is supposed to specify the file where the rules are written, and because it's used as -MF $(CPPFLAGS) or -MF $(CFLAGS), then it creates a file that is named as the first flag of CPPFLAGS (in my case, -DPACKAGE_DATA_DIR=\"\") or CFLAGS (in my case, -O3 or -O0).

This is made worse by the fact that this first flag, treated as a file named, is not actually used by the compiler as a flag.

Can I run Atomes by a pure command-line interaction method in HPC clusters

Hi Dr. Sébastien Le Roux,

Thank you for your efforts to develop this excellent software.
I am writing to ask if and how I can run atomes to analyze the rings data and output the results by a pure command-line method? Because I want to use it to do the ring's analysis but which is only part of the post-process of the simulation, and if I can run it just by command-line interaction, it will be convenient to run by a shell scipt on HPC clusters.

Best,
Fan

Laptop restarted when open an XYZ file and set the box parameters & Feature Request

Hello Dr. Sébastien Le Roux,

I met with a problem when I opened an xyz file and set the box size and boundary condition. I don't know why my laptop directly crushed and was restarted automatically. I don't know if it's my laptop's problem or Atomes' problem, actually I never met with this problem. I tried 3 times, but failed every time.
Here is some information in case you need to test it:
Atomes version: 1.1.14
Windows System Version: Windows 11 23H2 22631.3447
My laptop is Lenovo XiaoXinPro 14 APH8, the cpu is AMD Ryzen 7 7840HS with Radeon 780M Graphics.
The attachment is the XYZ file for your test.

dump_IPG40_40000_sample.zip

By the way, I wonder if you have the plan to add the feature of supporting lammps dump format file input? The request originated from two reasons:

  1. LAMMPS is quite popular recently.
  2. Yes I can dump xyz format file use dump_modify in LAMMPS, but I found that there are some restrictions for XYZ file. For instance, in my system, I have type1: Fe3+, type2: Fe2+, type3: P, type4: O, this can be specifically defined in LAMMPS and output in LAMMPS dump file. However, for XYZ file, the valence of element can not be defined, which means Fe3+ and Fe2+ are exactly the same. There is no doubt we will lose some information. That's why it came across in my mind if you will add features in Atomes to support read LAMMPS dump file.

Thanks a lot.

Best regards,
Fan

A confusing problem when opening *.XYZ file

Dear Dr. Sébastien Le Roux
There is a confusing problem when I used Atomes. I have a *.XYZ file which has been attached (You need to change hh.txt to hh.XYZ, because I couldn't upload an XYZ file here). I could open it by Atomes in my Ubuntu 20.04, however, I couldn't import the file by Windows Atomes.
hh.txt

calc/cpmd/cpmd_print.c: 2 * duplicated condition warning

calc/cpmd/cpmd_print.c:247:36: warning: duplicated 'if' condition [-Wduplicated-cond]
calc/cpmd/cpmd_print.c:251:36: warning: duplicated 'if' condition [-Wduplicated-cond]

Source code is

if (tmp_cpmd -> calc_type == 0)
{
i = TSTPO;
}
else if (tmp_cpmd -> calc_type == 0)
{
i = TSTPG;
}
else if (tmp_cpmd -> calc_type == 0)
{
i = TSTPC;
}

Suggest code rework.

Reopen a saved project

Hello,

I saved my project (output.apf) and when trying to reopen it, atomes closes and there's written on the shell 'Segmentation fault (core dumped)'.
What could be the source of this error?

Thanks a lot

What is the use of -Wl,--export-dynamic ?

The Makefile for Linux has:

  LIBS = -Wl,--export-dynamic $(LGTK) -lm -lgfortran

This is not an option accepted by the macOS linker. I can change the Makefile to avoid its use on macOS, but I am not sure why it is needed on Linux in the first place. The GNU ld manual says:

When creating a dynamically linked executable, add all symbols to the dynamic symbol table. The dynamic symbol table is the set of symbols which are visible from dynamic objects at run time. If you do not use this option, the dynamic symbol table will normally contain only those symbols which are referenced by some dynamic object mentioned in the link. If you use dlopen to load a dynamic object which needs to refer back to the symbols defined by the program, rather than some other dynamic object, then you will probably need to use this option when linking the program itself.

I have not seen anywhere in the code the loading of dynamic objects (with dlopen). Is it really needed?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.