E hoje apresentamos um novo concorrente ao concurso de BASIC Apascalado, na categoria B - Outros (educativos, utilitários, etc.): GaussMem 2022.
Estamos perante um pequeno programa utilitário, mas desenvolvido de forma muito profissional, tanto que até foi enviada a versão ZX Spectrum Next. Além disso, veio acompanhado de uma carta de apresentação muito detalhada de Massimiliano Arca, que não resistimos a mostrar as partes mais relevantes, até porque faz o devido enquadramento ao programa.
Gaussian is a very popular suite of commercial software for computational chemistry aimed at electronic structure quantum-mechanical calculations. This type of calculations is extremely demanding from a computational point of view. Even evaluating the electronic structure of a small molecule can require the computation of millions of integrals.
Gaussian, in its current version G16 C.01, can run on a variety of systems, ranging from single core computers to supercomputers such as Galileo100 and Marconi100 at CINECA. The applications of computational chemistry are extremely varied, ranging from the development of novel materials and drugs, to the understanding of biochemical processes, to the investigation of the action of restoration agents for Cultural Heritage.
The computational capability of Gaussian is allowed by the possibility to cope with a large number of cores and memory. In this context, the evaluation of the correct amount of memory is crucial. In fact, a shortage of assigned memory will prevent all cores to be used, while increasing excessively the amount of memory will cause the calculation to slow down significantly.
The required amount of memory depends on the following parameters:
- The number of assigned processors.
- The type of calculations.
- The basis set, i.e. the library of mathematical functions describing the electron shells of the investigated system.
The amount of memory is provided to Gaussian in several units, such as megawords (1 MW = 1,048,576 words = 8,388,608 bytes), megabytes (MB), or gigabytes (GB). For example, on a 64-bit single-core system, a 300 basis function Hartree-Fock optimization of the geometry of a molecule using g functions would require 10.4 MW (about 83 MB).
The evaluation of the required memory is not trivial, since it is given by a memory threshold augmented by a term linearly proportional to the square of the number of basis functions.
GaussMem brings a professional research tool for evaluating the memory required for Gaussian calculations to the humble ZX Spectrum and exploits successfully structured BASIC for this purpose. Apart for the programming exercise, this tool is particularly useful to theoretical chemists, as shown by the number of times questions on the use of memory in Gaussian have appeared on specialized social media, such as ResearchGate. Worthy of note, a snapshot of GaussMem can be easily embedded in a self-running sandbox for Windows, Linux, or MacOS systems adopting a variety of available emulators.
GaussMem has been programmed in ‘pascalated’ BASIC as well as structured standard Sinclair Spectrum BASIC. The pascalated BASIC listing can be introduced in the automatic online converter (here) generating – without any modifications – a working program that can be copied directly to BasinC and exported to an authentic ZX Spectrum.
In addition, GaussMem has been converted to ZX Spectrum Next structured BASIC, where it can natively adopt integer (%) variables, PROCedure definitions, REPEAT loops, and so forth.
For the participation to the 2022 ‘pascalated’ BASIC contest, please find attached the following files (here):
- Gaussmem-pas.pbas - Pascalated BASIC program (text format)
- Gaussmem-48k.bas - Structured ZX Spectrum BASIC (BasinC format)
- Gaussmem_pas-bas.bas - Structured BASIC obtained by conversion of the pbas program (BasinC format)
- Gaussmem-next.bas - ZX Spectrum Next BASIC (native ZX Spectrum Next BASIC format)
All files are also provided in ASCII text format (extension .txt), for easy of reading. Files with the bas extension are also provided as z80 snapshots.
Agora em Português, poderão aqui descarregar o programa.