Skip to content

Commit

Permalink
Updates from Overleaf
Browse files Browse the repository at this point in the history
  • Loading branch information
amkrajewski committed Jun 25, 2024
1 parent 49ba9cf commit 880e3ff
Show file tree
Hide file tree
Showing 5 changed files with 72 additions and 53 deletions.
2 changes: 1 addition & 1 deletion introduction.tex
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ \section{Big Picture} \label{intro:sec:bigpicture}

Secondly, such alloys are of great interest to the society. For instance, per the US Department of Energy's ARPA-E estimates, developing a standalone alloy that could continuously operate at $1300^oC$ has the potential to increase gas turbine efficiency up to $7\%$, which will significantly reduce wasted energy and carbon emissions by saving up to 20 quads of energy in electricity generation and civilian aviation between now and 2050 \cite{ULTIMATEArpa-e.energy.gov}. Such efficiency increase could prevent the release of approximately 1,000,000,000,000 kg of \ch{CO_2} from burning natural gas, or double that from coal; thus, becoming a critical effort in fighting global warming in applications, like airplanes, where green technologies cannot be directly adapted. Another extreme environment application, quite far from the first one, is the class of hypersonic vehicles that travel faster than 5 times the speed of sound \emph{through Earth's atmosphere for extended periods of time}, thus generating extreme sustained temperatures within structural components. This prompts the need for novel materials and engineering techniques, as evidenced by massive funding assigned to this research area by the US military, which increased its yearly budgets for hypersonic \emph{research} from \$3.8 billion in FY2022 to \$4.7 billion in FY2023, and to an undisclosed amount this year (FY2024) \cite{Sayler2024HypersonicCongress}, further demonstrating the criticality of such materials.

- CHADWICK
- CHADWICK \cite{CHADWICKArpa-e.energy.gov}

\section{Flow of Material Discovery and This Work} \label{intro:sec:flow}

Expand Down
2 changes: 1 addition & 1 deletion main.tex
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
\renewcommand{\familydefault}{\sfdefault}
\definecolor{darkgreen}{rgb}{0.05, 0.3, 0.1}

\usepackage[htt]{hyphenat} %texttt hyphenation breaks
%\usepackage[htt]{hyphenat} %texttt hyphenation breaks

\let\oldtexttt\texttt
\renewcommand{\texttt}[1]{\oldtexttt{\textcolor{darkgreen}{#1}}}
Expand Down
65 changes: 32 additions & 33 deletions nimcsotutorial.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\chapter{\texttt{nimCSO} Tutorial} \label{chap:nimplextutorial2}
\chapter{\texttt{nimCSO} Basic Tutorial on Selecting Elements for High Entropy Alloy Modeling} \label{chap:nimcsotutorial}

The purpose of this guide is to demonstrate some common use cases of
\texttt{nimCSO} and go in a bit more into the details
Expand All @@ -13,7 +13,7 @@ \section{Dataset, Config, and
To get started, let's first recap what we need to do to get
\texttt{nimCSO} up and running.

\textbf{1.} Install nim and dependencies, but \textbf{that's already
\textbf{1.} Install \texttt{nim} and dependencies, but \textbf{that's already
done for you if you are in the Codespace}. You can see what was run to
get the environment set up in the
\href{../.devcontainer/Dockerfile}{\texttt{Dockerfile}}.
Expand All @@ -24,7 +24,7 @@ \section{Dataset, Config, and
\texttt{../dataList.txt}. Let's have a look at the
first few lines of the file to see what it looks like.

\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{python}
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{shell}
!head -n 8 ../dataList.txt
\end{minted}

Expand All @@ -47,9 +47,7 @@ \section{Dataset, Config, and

\textbf{4.} Finally, we can run the \texttt{nimCSO}
package to get the results. To do so, we will use one long command you
can see below. Let's break it down: - \passthrough{\lstinline"!"} is a
Jupyter Notebook magic command that allows us to run shell commands from
within the notebook.
can see below. Let's break it down:

\begin{itemize}
\item
Expand Down Expand Up @@ -103,8 +101,8 @@ \section{Dataset, Config, and
Let's run the command and see what happens! Shouldn't take more than a
few seconds.

\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{python}
!nim c -f -d:release -d:configPath=config.yaml --out:nimcso ../src/nimcso
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{shell}
nim c -f -d:release -d:configPath=config.yaml --out:nimcso ../src/nimcso
\end{minted}

\begin{minted}[xleftmargin=3\parindent, fontsize=\small, bgcolor=subtlegray]{output}
Expand All @@ -117,18 +115,19 @@ \section{Dataset, Config, and
CC: nimcso/bitArrayAutoconfigured.nim
CC: nimcso.nim
Hint: orc; threads: on; opt: speed; options: -d:release
87026 lines; 7.635s; 257.383MiB peakmem; proj: /workspaces/nimCSO/src/nimcso; out: /workspaces/nimCSO/examples/nimcso[SuccessX]
87026 lines; 7.635s; 257.383MiB peakmem; proj: /workspaces/nimCSO/src/nimcso;
out: /workspaces/nimCSO/examples/nimcso[SuccessX]
\end{minted}

Now, let's run \texttt{nimCSO} and see what happens!

\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{python}
!./nimcso
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{shell}
./nimcso
\end{minted}

\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{nimcsotutorial/1.png}
\includegraphics[width=0.97\textwidth]{nimcsotutorial/1.png}
\end{figure}

You should have seen a neat \texttt{help} message that
Expand All @@ -137,13 +136,13 @@ \section{Dataset, Config, and
datapoints will be removed from the dataset if we remove the first 5
elements of \texttt{elementOrder}.

\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{python}
!./nimcso -cb
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{shell}
./nimcso -cb
\end{minted}

\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{nimcsotutorial/2.png}
\includegraphics[width=0.97\textwidth]{nimcsotutorial/2.png}
\end{figure}

\hypertarget{key-routines-and-brute-forcing}{
Expand All @@ -155,13 +154,13 @@ \section{Key Routines and Brute Forcing}\label{nimcsotutorial:key-routines-and-b
Let's try the simplest routine \texttt{mostCommon} or
\emph{What are the most common elements in the dataset?}

\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{python}
!./nimcso --mostCommon
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{shell}
./nimcso --mostCommon
\end{minted}

\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{nimcsotutorial/3.png}
\includegraphics[width=0.97\textwidth]{nimcsotutorial/3.png}
\end{figure}

If you didn't modify anything, you should now see that elements like
Expand All @@ -182,13 +181,13 @@ \section{Key Routines and Brute Forcing}\label{nimcsotutorial:key-routines-and-b
With a dataset spanning 19 elements, the solution space is around 0.5M,
so we can actually just brute force it in seconds :)

\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{python}
!./nimcso -bfi
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{shell}
./nimcso -bfi
\end{minted}

\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{nimcsotutorial/4.png}
\includegraphics[width=0.97\textwidth]{nimcsotutorial/4.png}
\end{figure}

Let's look at the result! As expected, \texttt{N},
Expand All @@ -207,13 +206,13 @@ \section{Key Routines and Brute Forcing}\label{nimcsotutorial:key-routines-and-b
using the \texttt{--singleSolution} /
\texttt{-ss} routine.

\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{python}
!./nimcso -ss Ta W Hf Si Re Y B C N -ss V W Hf Si Re Y B C N
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{shell}
./nimcso -ss Ta W Hf Si Re Y B C N -ss V W Hf Si Re Y B C N
\end{minted}

\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{nimcsotutorial/5.png}
\includegraphics[width=0.97\textwidth]{nimcsotutorial/5.png}
\end{figure}

Wow! Looking at the \texttt{--mostCommon} output from
Expand All @@ -238,13 +237,13 @@ \section{Key Routines and Brute Forcing}\label{nimcsotutorial:key-routines-and-b
\texttt{--singleSolution} /
\texttt{-ss} routine.

\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{python}
!./nimcso -ss Ta V W Zr Hf Nb Si Re Y B C N -ss Ta V W Zr Hf Mo Si Re Y B C N -ss Ta V W Zr Hf Ti Si Re Y B C N
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small, breaklines]{shell}
./nimcso -ss Ta V W Zr Hf Nb Si Re Y B C N -ss Ta V W Zr Hf Mo Si Re Y B C N -ss Ta V W Zr Hf Ti Si Re Y B C N
\end{minted}

\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{nimcsotutorial/6.png}
\includegraphics[width=0.97\textwidth]{nimcsotutorial/6.png}
\end{figure}

We can see that \textbf{\texttt{Nb} is present in 121
Expand Down Expand Up @@ -274,13 +273,13 @@ \section{Algorithm Search}\label{nimcsotutorial:algorithm-search}}
likely to be valid (see manuscript), to limit the search space and find
the solution in a reasonable time. Let's try it now!

\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{python}
!./nimcso -as
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{shell}
./nimcso -as
\end{minted}

\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{nimcsotutorial/7.png}
\includegraphics[width=0.97\textwidth]{nimcsotutorial/7.png}
\end{figure}

As you can see, \textbf{the algorithm reproduced the same results as the
Expand All @@ -299,13 +298,13 @@ \section{Genetic Search}\label{nimcsotutorial:genetic-search}}
Please note that the results are stochastic, so you might get different
results than ones shown below if you run the command again.

\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{python}
!./nimcso -gs
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{shell}
./nimcso -gs
\end{minted}

\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{nimcsotutorial/8.png}
\includegraphics[width=0.97\textwidth]{nimcsotutorial/8.png}
\end{figure}

\hypertarget{summary}{%
Expand Down
6 changes: 3 additions & 3 deletions pysipfennTutorial2.tex
Original file line number Diff line number Diff line change
Expand Up @@ -967,7 +967,7 @@ \subsection{Random Selection}\label{pysipfenntutorial2:random-selection}}
\textbf{\emph{And finally, train the model}}
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{python}
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small, breaklines]{python}
model.eval()
transferLosses = [float(loss(model(transferData, None), transferLabels))]
validationLosses = [float(loss(model(validationData, None), validationLabels))]
Expand Down Expand Up @@ -1040,7 +1040,7 @@ \subsection{Feature-Space-Informed
Start by reloading feature data from pySIPFENN.
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{python}
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small, breaklines]{python}
with resources.files('pysipfenn').joinpath('modelsSIPFENN/SIPFENN_Krajewski2020_NN24.onnx') as nn24model:
model = onnx2torch.convert(onnx.load(nn24model))
model.eval()
Expand Down Expand Up @@ -1074,7 +1074,7 @@ \subsection{Feature-Space-Informed
torch.index_select(labelTensor, 0, torch.LongTensor(validationIndexes)).float()
\end{minted}
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small]{python}
\begin{minted}[xleftmargin=3\parindent, linenos=true, fontsize=\small, breaklines]{python}
model.eval()
transferLosses = [float(loss(model(transferData, None), transferLabels))]
validationLosses = [float(loss(model(validationData, None), validationLabels))]
Expand Down
50 changes: 35 additions & 15 deletions referencesAdam.bib
Original file line number Diff line number Diff line change
Expand Up @@ -1040,6 +1040,21 @@ @article{Hu2021Atomtransmachine:Learning
keywords = {Atomism, Distributed representation, Feature engineering, Machine learning}
}

@article{Ury2024AutomatedSystem,
title = {{Automated path planning for functionally graded materials considering phase stability and solidification behavior: Application to the Mo-Nb-Ta-Ti system}},
year = {2024},
journal = {Computational Materials Science},
author = {Ury, Nicholas and Bocklund, Brandon and Perron, Aurelien and Bertsch, Kaila M.},
month = {9},
pages = {113172},
volume = {244},
publisher = {Elsevier},
url = {https://linkinghub.elsevier.com/retrieve/pii/S0927025624003938},
doi = {10.1016/j.commatsci.2024.113172},
issn = {09270256},
keywords = {Additive Manufacturing, CALPHAD, Phase stability, crack susceptibility, functionally graded material}
}

@article{Gomezgomez-Bombarelli2022AutomaticMolecules,
title = {{Automatic Chemical Design Using a Data-Driven Continuous Representation of Molecules}},
year = {2022},
Expand Down Expand Up @@ -1197,6 +1212,11 @@ @article{Patterson2022CategoricalComputing
keywords = {Category Theory, Computer Science, Databases, Logic in Computer Science, Mathematics}
}

@misc{CHADWICKArpa-e.energy.gov,
title = {{CHADWICK | arpa-e.energy.gov}},
url = {https://arpa-e.energy.gov/technologies/programs/chadwick}
}

@article{George2021ChemistTechniques,
title = {{Chemist versus Machine: Traditional Knowledge versus Machine Learning Techniques}},
year = {2021},
Expand Down Expand Up @@ -6246,6 +6266,21 @@ @article{Lederer2018TheApproach
arxivId = {1711.03426},
keywords = {high-entropy systems, high-throughput calculations}
}
@misc{ULTERAwebsite,
title = {{ULtrahigh TEmperature Refractory Alloys (ULTERA) Database}},
year = {2022},
author = {Krajewski, Adam and Debnath, Arindam and Ahn, Marcia and Lin, Shuang and Sun, Hui and Beese, Allison and Reinhart, Wesley and Liu, Zi-Kui},
url = {https://phaseslab.com/ultera}
}

@article{Huo2017,
title = {{Unified Representation of Molecules and Crystals for Machine Learning}},
year = {2017},
author = {Huo, Haoyan and Rupp, Matthias},
month = {4},
url = {http://arxiv.org/abs/1704.06439},
arxivId = {1704.06439}
}

@article{Peierls1940TheDislocation,
title = {{The size of a dislocation}},
Expand All @@ -6268,21 +6303,6 @@ @article{Smith1972TheSolutions
pages = {195--200},
volume = {27}
}
@misc{ULTERAwebsite,
title = {{ULtrahigh TEmperature Refractory Alloys (ULTERA) Database}},
year = {2022},
author = {Krajewski, Adam and Debnath, Arindam and Ahn, Marcia and Lin, Shuang and Sun, Hui and Beese, Allison and Reinhart, Wesley and Liu, Zi-Kui},
url = {https://phaseslab.com/ultera}
}

@article{Huo2017,
title = {{Unified Representation of Molecules and Crystals for Machine Learning}},
year = {2017},
author = {Huo, Haoyan and Rupp, Matthias},
month = {4},
url = {http://arxiv.org/abs/1704.06439},
arxivId = {1704.06439}
}

@inproceedings{Kuo2017TheTechnique,
title = {{The study on surface characteristics of high transmission components by 3D printing technique}},
Expand Down

0 comments on commit 880e3ff

Please sign in to comment.