1. Presentation and general concepts#
The provision of a tool like*Code_Aster* that works on multiple platforms requires a graphical interface to simplify the user’s work.
Moreover, the evolution of centralized computing resources and the free distribution of Code_Aster have required the development of a portable product whose architecture can be adapted to different computer configurations.
astk is the graphical interface that allows you to organize Aster calculations: prepare data, organize files, access pre and post-processing tools, launch and monitor the evolution of calculations. astk also allows you to choose the version of Code_Aster to use among those available (stable, testing…).
The name « astk » comes from the contraction of Aster and Tk which is the graphics library used.
1.1. Start-up#
In Salome-Meca, open the Aster module, then launch astk from its icon or from the Aster/Tools/Run ASTK menu.
On the command line, you must execute: salome shell – astk, salome being a script available in the Salome-Meca installation. It can be found by replacing nnn with the version index in: /opt/salome-meca/nnn/APPLI_Vnnn/Salome.
Outside of Salome-Meca, the astk command has, in general, been placed in the user’s default path, the interface opens with a default configuration (see [§ 4 ] Configuration).
If the command is not found, run: [aster_root] /bin/astk where [aster_root] is the installation directory of*Code_Aster* (possibly contact your administrator).
1.2. Features#
**ETUDE:* astk allows you to launch an Aster calculation on the local machine (for example when used on a personal computer), on a departmental calculation server or on the EDF -R&D Aster calculation server (access restricted to EDF and its study providers).
**REX:* Bringing the code to life involves taking into account the comments, needs, and opinions of users. Feedback sheets can be issued and viewed by users from the interface, developers can respond to them (access to the EDF server required). This feature is reserved for EDF and its service providers.
**MULTI - MACHINES:* The files required for these various actions (mesh files, source, results…) can be distributed on different machines on the network (declared in astk), astk providing transfer and compression/decompression.
The passage of a firewall is not proposed.
**OUTILS:* The user can launch various pre-defined tools and configure the ones he needs (mesher, post-processing tool, editor…).
**BSF:* A browser is provided (called bsf, file selection box), it allows you to browse the file systems of defined remote machines and to perform common operations on the files: copy, delete, rename, print, or even open a command window on these machines.
**ASJOB:* You can follow the calculations and their status (especially in the case of batch launch) from the « Job Tracking » window, also called asjob.
1.3. Mode of operation#
The client/server architecture allows a clear separation between the interface (client) and the tools used to access the code (services). The server entry point is as_run: it allows you to use the reference version in batch and/or to access all the versions available on a network or locally.
The communication protocol by default between the various machines is ssh for shell commands and scp for copying files. However, you can still use rsh and rcp but this is not recommended on most networks.
Example: The client (i.e. the interface launched by the astk or codeaster-gui command) requests the launch of a calculation on a calculation server.
The interface executes an as_run service which is responsible for copying the data files to the server (in an intermediate directory defined by this one and shared by all the nodes of this server), and asking the server to start the calculation. The results of the calculation remain on the execution server (in the intermediate directory if they are supposed to be copied to the client or in their final directory if their destination is on the calculation server). If necessary, the results are sent back to the client machine when the calculation status is ENDED in job tracking; that is to say after a manual or automatic update.
Therefore, only the connection in the client to server machine direction is required (ssh key valid for a connection without a password). There are no more reverse connections initiated by the server to the client (as in versions prior to 1.9).
In addition, once the calculation has been submitted, the network link between the client and the server can be interrupted without the risk of losing the calculation because the data has already been deposited on the server and the results will only be returned at the request of the client (interface).
For purists: as_run is not really a server in fact, there is no daemon listening on a particular port. It is started on demand.
1.4. ASTK servers#
For astk, a server is:
or an*Aster calculation server: a machine on which we can find as_run, that is to say all the services that allow access to the code; we can launch calculations via this server and use files on this server for a calculation,
or a file server: you can simply use files on this server during a calculation.
The server called « Local « is in fact a file server (only the connection information is required for a file server, but it is easily known on the local machine).
If you want to start calculations on the local machine (on which a version of Aster and the server part of ASTK are installed), you must also declare this machine as a calculation server (Local and Machine in the following example and § 2.1.2).
In this document, we will call the « reference server » the machine on which the qualified version of Code_Aster is managed internally EDF. Some features are only available if the user has access to this machine.
Configuration example: (see [§ 2.1.2])
astk is used on the mach00 name machine, where Code_Aster is installed. We have access to a departmental file server file01, the files of this server are accessible (nfs mount) from two calculation machines comp02, comp03. We also have access to a cluster with N computing nodes whose front end machine is front04.
We then have:
« Local » (reserved label): we always have it to explore the files found on mach00;
« Machine » (any label, the installation procedure sets this name to the value returned by the uname —n command): whose IP address is that of mach00 which is the calculation server (as_run services installed) of the local machine;
« Depart » (any label): whose IP address is that of file01, which allows to explore the files hosted by the file server, configured as an Aster calculation server (as_run services installed) having comp02 and comp03 seen as computing nodes (comp0i can be the same machine as file01);
« Cluster » (any label): whose IP address is that of front04 which is a computing server (as_run services installed) with N nodes, the only accessible machine being front04.
The difference between « Depart » and « Cluster » is that in general the computing stations are accessible directly (one could therefore submit an interactive calculation on one or the other), whereas for a cluster, users generally only see the front machine, the distribution being done on the nodes by a batch job sequencer.
You can just as easily have several « Depart » or « Cluster » computing servers as well as having only the « Local+Machine » workstation.
1.5. astk profile#
An astk profile is a file that contains all the information relating to a study: the location of the study files: the location of the study files, data, results, the type associated with each file, the parameters for submitting the calculation (memory, time, calculation machine, batch/interactive…).
The profile also contains settings on the interface itself to resume a study in exactly the same condition in which it was left.
The profile is saved at the user’s request (File/Save or*Save as…* menu) and each time a calculation is started (this is the file whose extension is, by convention, .astk).
We will talk later about the « export » file (extension.export), which is a simplified representation of the astk profile: it contains only the information on the files and the parameters necessary for the calculation (and no information on the graphical interface).