5 / 6
Developing a Pythonic way to do Rietveld refinement
1 / 6
Machine Learning "A.I." package for Materials Informatics
2 / 6
What are Monte Carlo Simulations?
3 / 6
Martingale: from Monte Carlo to Bitcoin Backtesting
4 / 6
Use voxelmap's MarchingMesh to transform voxel models to realistic 3-D models
5 / 6
Try voxelmap's ImageMesh for memory-efficient 3-D mapping

Hello !

*3-D graphics & animations made by Andrew
I am a scientist with academic research experience and a strong computer background with a passion for C++, Python and JavaScript. I have an expertise in Monte Carlo simulations and have applied thermodynamics as well as artificial intelligence to study three-dimensional (3-D) solids. During my PhD, I focused on crystallization theory using different methodologies.

Tensors for complex topologies
Crystals are typically simulated as blocks (above) or ``coarse grains''. In the case of protein crystals, the crystals may be simulated with a single grain type, which may be a periodic slice of a protein unit ( a collection of molecules ). Tensors were used to simulate crystal structures with a complex arrangement of grains of different types. A common case of these crystals are metal-organic frameworks (MOFs):
Immersive figure. Hold-click figure to handle
(tensor: Python; graphics; JavaScript)

Algorithms have also been developed to manipulate these tensors for 3-D simulations and deeper analysis, which include search-and-update implementations and applying machine learning (ML) and computer vision algorithms to gain a deeper understanding of structure-function relationships.
Dynamic simulations to explore morphology and propagation of features with time
Kinetic Monte Carlo (kMC) simulations have been implemented in the second and third dimension with novel on-lattice theory to shed light on crystallization phenomena.
The image below is from a kMC simulation where regular crates with less neighboring crates are removed faster, while the "NITRO" crates, when selected, remove 50% of their adjacent neighbors in their 3-D environment:

Loading the data just for you.

A supporter of the

This website is maintained with a DigitalOcean droplet.

Facilities and Resources

Honoring Supervisors and Collaborators (past and present)

Fun Facts

Coffee Cups


Hottest Experiment

2100 °C

Max. No. CPUs run in parallel



Resume Classic Curriculum Vitae (CV) CV 🇪🇸 简历 🇨🇳


2017 - 2022
University of Florida

Ph.D., Chemical Engineering

Dissertation: Thermodynamic and kinetic crystal growth theory for the design of metallic and molecular crystals

University of Miami

B.S., Chemistry

Minor: Biology
Published research: Fibril-Assisted Gold Nanocluster Synthesis


2015 - 2017

Associate Engineer

I was a toner chemist and engineer working in Xerox's toner technology and new business sectors. I worked in the lab, pilot scale, and workshop settings where my work went beyond the chemistry of toners alone. I used statistical analysis and my scientific skills to develop toner with features desired by the company and/or Xerox's clients. I obtained my Six Sigma Green Belt certification from Xerox.

2013 - 2015
University of Florida Dept. of Chemical Engineering

Research Assistant

I entered Dr. Carlos Rinaldi's lab at the University of Florida Department of Chemical Engineering while I was a M.S. student in Chemical Engineering, where my thesis work made me a co-inventor of a patent for a nerve-regenerating hydrogel, an author of a journal article, and most possibly helped me become an expert in colloids while at Xerox.

2009 - 2012
University of Miami Dept. of Chemistry

Undergraduate Research Assistant

I started my research career as a Chemistry undergraduate at the University of Miami, where I was initially mentored by Dr. Jamie Walls on the computational modeling of NMR pulse sequences for the first year, and then conducted experimental research in Dr. Roger Leblanc's lab on green syntheses of gold nanoparticles for 2 years.

Computer Languages and Frameworks**





JavaScript · HTML · CSS


ThreeJS · WebGL · OpenGL


Bash Linux · Ubuntu




Rust · Scala · Ruby


Web 3.0

**Compared to my ability to use basic office suites such as Microsoft Office

General Skills*



Monte Carlo simulations


Machine Learning


Deep Learning


Cloud Computing


Experimental design


Atomistic simulations


Web development


Server management

*Compared to my basic reading and writing skills


  • Computational modeling
  • Experimental design
  • Mathematical optimization
  • Nonlinear programming
  • High Performance Computing
  • Statistical mechanics
  • Kinetic modeling
  • Thermodynamics
  • Diffusion
  • Solid-state physics
  • X-Ray Diffraction (XRD)
  • Nuclear Magnetic Resonance (NMR)
  • Systems integration
  • Market Research
  • Patent analysis
  • Fundraising


Certificate ID Number: f05a12a0a49b4f108
NVIDIA Deep Learning Institute
Certificate ID Number: a30be6dda77f4bf99d
NVIDIA Deep Learning Institute
September 2016
Xerox - SigmaZone


A sample of computer programs and graphics that I have developed and can expand on.
Software where I am not the main author nor maintainer are flagged with the (Contributor) label.
Mockup Design 1


A Python library for making voxel models from NumPy arrays. [Python]
Mockup Design 1


A Machine Learning package for materials informatics & a crafty data analytical complement to data from The Materials Project [Python]
Mockup Design 1


An encryption algorithm based on the constant random shuffling of keyboard maps [C++ (stable)]
Mockup Design 1

block visualization

Integrated examples to a Javascript program I developed for the agile rendering of voxel structures. [Javascript]
Mockup Design 1

grass mining

A procedural animation [Javascript] of a Monte Carlo simulation [C++] which mines randomly-selected grass blocks
Mockup Design 1

risky grass mining

grass mining [C++ / Javascript], but with TNT blocks in between.
Mockup Design 1

Tetris++ (Contributor)

A computer game of Tetris ™ written in C++ with SDL [C++]
Mockup Design 1

for bench chemists

A bench chemist's calculator [Javascript]
Mockup Design 1

contact page animation

Self-portrait: ImageMesh on profile-photo (see voxelmap) [Javascript]
Mockup Design 1


A Python library for tensor operations powered by parallel processing.[Python]
Mockup Design 1


A toolbox to handle powder XRD (and XRD) data.[Python]
Mockup Design 1

torus knot

No, it's not a pretzel 😀 [Javascript]
Mockup Design 1

for steam tables

A secret calculator for thermodynamic properties of water (steam tables) [Javascript]
Mockup Design 1

Ziegler nanowires

A three-dimensional representation of nanowire arrays I made for the Ziegler lab (Univ. of Florida) [Javascript]

JavaScript code processed with ♥



Open to work in private and U.S. 🇺🇸 federal sectors. Willing to relocate.

Self-Portrait. Made with voxelmap

Selected Conferences

AIChE Annual Meeting (Oral Presentations)

Thermodynamic Modeling of Competing Crystal Species from a MIL-53 Metal Organic Framework (MOF) Reaction Andrew R Garcia, Dirk Steyn III, Sergey Vasenkov, Kirk J Ziegler 2021 AIChE Annual Meeting (Oral Presentation)

Kinetic Monte Carlo Modeling of MIL-53 Metal Organic Framework Crystal Growth Andrew R Garcia, Janani Sampath, Sergey Vasenkov, Kirk J Ziegler 2021 AIChE Annual Meeting (Oral Presentation)

Monte Carlo Simulations of Hydrothermal Metal Organic Framework (MOF) Crystal Growth Andrew R Garcia, Janani Sampath, Sergey Vasenkov, Kirk J Ziegler 2020 Virtual AIChE Annual Meeting (Oral Presentation)

Crystallization of MIL-53 Metal Organic Frameworks (MOFs) through Changes in the Hydrothermal Process Andrew R Garcia, Sergey Vasenkov, Kirk J Ziegler 2019 AIChE Annual Meeting (Oral Presentation)

Other Events and Conferences

LAMMPS Workshop and Symposium 2021 August 2021 Attendee -
NVIDIA GTC 2021 Conference April 2021 Attendee -
UF Nano Day 2020 October 2020 Presenter (poster) Best Poster in Nano-Chemistry
NanoFlorida 2020 March 2020 Presenter (oral) Honorable Mention in Materials, Devices, and Enabling Technologies
MRPM14 February 2018 Attendee -