Some more details on my experience and skills in High Performance Computing and Information Technology.
GOOGLE COULD PROJECT
Building, integrating, maintaining and using HPC resources in Google Cloud. Slurm clusters.
NATIONAL COMPUTATIONAL FACILITIES
National Energy Research Scientific Computing Center, Department of Energy (NERSC) computing architectures: Perlmutter, Cori, Edison.
OTHER PLATFORMS AND OPERATING SYSTEMS
Dell Clusters (Linux), HP Clusters(Linux), SUN Clusters running Solaris, IBM SP and 44P running AIX, PCs running Linux and Windows in stand-alone and dual booting modes, PC commodity Clusters running Linux. Stand-alone and virtualization.
EXPERTISE IN SOFTWARE STACK FOR COMPUTATIONAL PHYSICS, CHEMISTRY AND MATERIALS SCIENCE INCLUDING
Quantum Espresso, VASP, Gaussian, Schrodinger, Q-Chem, Materials Studio, LAMMPS, etc.
PROGRAMMING LANGUAGES/PLATFORMS
FORTRAN 77/90/95/HPF, MPI/OPENMP/BSP, Bash, Perl, Python, C and HTML.
COMSOL Multiphysics, Matlab, Maple, Mathematica and MathCad.
DEBUGGING AND OPTIMIZATION
gdb, valgrind, DDT, TotalView, etc.
WEB DESIGN AND DEVELOPMENT TOOLS
Google Suite, Apache, Eclipse, Java, MS Frontpage, Netscape, HTML, Google Apps, MS SharePoint.
RELATIONAL DATABASE SYSTEMS (RDBMS)
MySQL, MS Access.
OFFICE SYSTEMS
Latex, RevTEx, MS-Office Suite, LibreOffice, OpenOffice, StarOffice.
DUTIES, TASKS AND EXPERIENCE
LEADERSHIP DUTIES:
Provide supervision, mentoring, training and consulting to undergraduates, graduates and colleagues in the use of computers, operating systems, programming languages, compilers and libraries as well as code optimization.
Research, and encourage the use of online resources including, particular compilers and libraries websites, etc.
Develop and enhance programs functionality.
Identify team weaknesses and recommend appropriate training.
SYSTEMS ADMINISTRATION:
Installation of computer clusters. Manual system installations and automatic provisioning using systems servers.
Network administration of unix cluster computing environments. Providing network connectivity including IP configuration, NIC installation and configuration.
Configuration and update of the DHCP servers and clients.
Configuration of network file systems including mixed OS network environments.
Desktop applications support including installation, configuration and troubleshooting of the Office Suites and packages for visualization.
Providing hardware and OS installation, configuration, upgrades, repairs, and testing.
Configuration and maintenance user and group accounts, assigning access privileges to data, printer and network resources.
Perform backups and restores.
Analysis of systems logs to identify and fix problems.
Configuration of proxies (tunnelling) and firewalls (iptables).
System virtualization and dockers.
PROJECTS:
I have been involved in the development and support of large scale corporate business systems applications mostly in research and teaching environments. These applications automate research activities and the complex calculations required to test various scenarios and hypotheses in order to extract more value from the business of research by improving the speed and efficiency of research processes. As a researcher in the area of physics much of my work specializes in the use competitive, state-of-the-art corporate infrastructure and systems applications to engage in world-leading research and technology development. Here are some highlights of my work. In all of these projects I have had some leading technical management roles.
2017-
COMSOL Multiphysics codes for investigation of Quantum Analogues.
Extension of the KGEC code for electron conductivities.
2015-2017
Quantum transport theory and FORTRAN/MPI software development for materials under extreme conditions (KGEC code). Serial version, exploration of different parallelization schemes. Applications.
Implementation of temperature dependent exchange-correlation functionals in LibXC (C/++).
2010-2015
Software design, programming, acquisition, installation, integration, maintenance, training and support for the entire software stack for computational physics, chemistry and materials science.
2006-2010
Web sites:
Design and development of small web sites for the advertising of tutoring services and rental units based on Apache on Windows and Linux. HTML programming using MS FrontPage and Netscape editors. Registration of DNS names and configuration of DDNS. Optimization for Google searches. Set up of Google advertising.
Linux clusters:
Set up, configuration and maintenance of a computer cluster of 35 Intel Quad (4CPU) computers for high performance computing.
Set up, configuration and maintenance of a computer cluster of 32 Intel Dual Core computers for high performance computing.
Configuration of the parallel software infrastructure and maintenance of a third cluster of 17 Intel Dual Pentium 4 computers.
Design and programming of a system based on Bash scripts for automatic configuration and software maintenance.
Setup and configuration of all the necessary structure of compilers and libraries for parallel computing (OPENMPI, MPICH, LAM, Intel Clusters Tools, etc.).
Compilation and testing of parallel computing applications after extensive trouble-shooting and fixing of applications, compilers and libraries issues.
Design and programming of a system to run programs in parallel automatically based on Bash scripting.
More than 1000 lines of script coding.
Training and support of colleagues and students in the use of the clusters and application software.
Solution of Kohn-Sham Schrödinger’s like equations for atoms:
Design, coding, testing of a program in Fortran 90 for the solution of the Schrödinger’s equation via the eigenvalue/eigenvector approach. This equation determines the states of electrons in atoms and matter. It is a second order differential equation soluble only by numerical methods. The code, as in the rest of the cases, extensively uses conditionals (both select cases and if instructions) and nested loops. The number of line of codes is more than 3000.
Direct minimization of the Kohn-Sham total energy:
Design, coding, testing of a development environment to investigate new approaches in density functional theory. Density functional theory proves that the important variable in the minimization of the total energy of any system is the electron density but so far it does not provide an explicit way of doing such a minimization. The use of wave functions instead of only the electron density makes quantum mechanics calculations very inefficient. There is a need of codes with minimum complexity that could be easily adapted to test new ideas oriented to find minimizations schemes based only on the electron density.
Used mixed Maple and Fortran 77 programming to reduce the complexity of the code by more than 50% producing a very flexible code.
Calculation of electric conductivity:
The capacity of matter to conduct an electric current is measured by the electric conductivity. It is important to get accurate values for this and other properties from computer simulations not only to understand the behaviour of matters but also to fine tune experiments in the search for optimized values and the reduction of business costs.
Analytical development of Kubo’s electric conductivity formula in a plane wave basis set.
Design and coding of the corresponding Fortran 90 program taking into account different computational conditions.
Careful memory optimization of the code. More than 2000 lines of codes.
Optimization of basis sets for SIESTA:
Code in Perl to optimize the optimization of basis sets for the calculation of electronic structure calculations using the program SIESTA.
2000-2006
Administration:
Development of spread-sheets (MS-Office, OpenOffice) for the registration of students’ marks, statistical processing and ranking.
Phonons
Analytical expression for the calculation of phonons in the shell model including the Coulomb correction in the long-wave limit. Phonons are coordinated vibrations of the atoms around their equilibrium positions that determine the thermo-dynamical properties of matter. Those displacements of the atoms deform the electron cloud around them changing the local electric or Coulomb field; such an effect must be taken into account when calculating the thermodynamics of any system. The shell model is a way of accounting for the electrons in systems with covalent, or electron sharing, type of bonding.
Design, coding and testing of a Fortran 90 program assisted by Bash and Perl scripts.
This program has a direct impact in the understanding of dynamical properties of materials. It was extensively used in the analysis of opportunities to improve business execution procedures and patent protection in a biomaterial lab.
Dielectric function, infrared intensities and thermal parameters:
Analytical expression for the calculation of the dielectric function and infrared intensities in the shell model. The dielectric function describes the response of matters to the presence of electric fields and determines the intensities of the transmitted and reflected radiation (light, x-rays, infrared rays, etc.).
Design, coding and testing of a Fortran 90 program assisted by Bash and Perl scripts.
Fortran 90 and Bash coding for the calculation of thermal parameters, which describe the average motion of atoms with temperature.
More than 3000 lines of codes.
This program had a direct impact in the interpretation of infrared spectra for the determination of unique characteristics of calcium phosphates biomaterials for business patent claims.
Deconvolution of positron annihilation spectra:
Software development project contracted by the International Agency of Atomic Energy.
Development of mathematical methods for the deconvolution of positron annihilation spectra. The collection of quanta of radiation produced in the annihilation of an electron with a positron provides information on the state of the electron just prior to the annihilation. But the spectra collected must be treated to correct them from instrumental artefacts. That is the deconvolution process.
Design, coding and testing of a Fortran 90 program supported by MathCad testing codes. More than 4000 lines of codes.
Writing up of the documentation.
Participation in meetings for discussion of specifications and follow ups.
This program provides support in business technical services for the non-destructive determination of mechanical properties of structural metal-alloys.
1998-2000
Data transfer between multi-channel analyzers and computers:
Multi-channel analyzers collect counting statistics, in the form of digital pulses, from different radiation detectors. There was the need to develop an interface program to transfer data from multi-channels to computers. The code was developed first in Quick Basic and latter translated to Visual Basic. It was also extended to perform numerical data processing (spectra unfolding and fitting).
This program made possible to offer business technical services based on Mössbauer spectrometry for the determination of oxide composition in steels to different industries.
Fitting of Nuclear Magnetic Resonance (NMR) line shapes:
The useful information from NMR signals is the shapes of the lines. A numerical method was designed and coded in Fortran 90 mixed with C for the GUI. More than 3500 lines of codes.
The code was used in the determination of free and bound water content in cement to find optimum composition for different applications. This was a business technical service offered to different cement industries and labs.
Simulation of heavy ions radiation damage in solids:
Mainframe Fortran 77 code for the simulation of radiation damage in solids. Such damage is produced by the knocking out of the atoms from the equilibrium positions, which lead to the formation of defects and changes in the properties of the solid. That is the main reason the limited lifetime of nuclear reactors for example.
Models of the different stages of interactions. Programming and testing of a code of more than 5000 lines.
The program is useful in the understanding of materials problems with large impact in security risk and profitability of nuclear power business.
Data processing and visualization for texture analysis:
A large number of solids (steel for example) are made of small interconnected crystalline grains. The orientation of those grains in the space is called texture and it influences and even determines the properties of the solids.
A program package to calculate texture from diffraction patterns and visualize the results was designed and programmed in mixed Fortran 77 and C languages. The number of coded lines was about 9000 lines or more.
By the time the program was finished it played a very important role in the solution of problems related to lead alloys intrusion in different businesses.
Scattering of electrons from solids under stresses:
MathCad code for the calculation of the electron scattering cross-section of materials under mechanical stresses.
Some the calculations performed with this program lead to the development of methods to detect plastic deformations in materials based in electron backscattering and registered in patents. They were also implemented as business technical services.