É este o átomo de carbono que você está procurando? -AI para prever a coordenação atômica do CNT.

A tecnologia tem tudo a ver com tornar as coisas mais rápidas e fáceis . Graças aos nossos computadores, não precisamos fazer matemática, projetar ou experimentar quando se trata de ciência.
Uma área que realmente se beneficia das grandes habilidades dos computadores é a nanotecnologia .
A nanotecnologia está trabalhando em materiais em escalas atômicas. Isso nem sempre é fácil, rápido ou barato.
Avanços recentes estão oferecendo novas oportunidades para simular nanomateriais. Um problema: eles ainda não são tão rápidos.
E não queremos coisas lentas que precisam de iterações. Temos que fazer desenvolvimentos rápidos.
Embora o nanotubo de carbono (CNT) tenha sido descoberto em 1991, cientistas e empresários já encontraram formas de experimentá-lo e comercializá-lo. Temos escudos CNT para militares, baterias CNT ou biomarcadores CNT…
Através deste rápido desenvolvimento, a Inteligência Artificial foi um grande apoio.
Nas seções seguintes, falarei sobre como podemos usar Redes Neurais Artificiais para prever as coordenadas atômicas do CNT. Portanto, se você quiser aprender como a IA e a nanotecnologia podem ser integradas, continue lendo!
Nanotubos de carbono

Um nanotubo de carbono é um tubo feito de carbono normalmente medido em nanômetros. Os nanotubos de carbono (CNTs) são cilindros extremamente longos e finos que podem ser feitos de folhas de átomos de carbono unidos em uma estrutura de treliça hexagonal.
Os CNTs possuem uma combinação única de alta rigidez, alta resistência, baixa densidade, tamanho pequeno e uma ampla gama de propriedades eletrônicas, de metálicas a semicondutoras.
Algumas aplicações dos CNTs:
- A pesquisa mostrou que os CNTs têm a maior capacidade reversível de qualquer material de carbono para uso em baterias de íon-lítio. Os CNTs são excelentes materiais para eletrodos de supercapacitores.
- Muitos pesquisadores (ver exemplo ) e corporações já desenvolveram dispositivos de filtragem de água e ar baseados em CNT. Foi relatado que esses filtros podem não apenas bloquear as menores partículas, mas também matar a maioria das bactérias. Esta é outra área onde os CNTs já foram comercializados e os produtos estão no mercado agora.
- A pesquisa mostrou que os CNTs podem fornecer um aumento considerável na eficiência, mesmo em seu estado atual não otimizado. As células solares desenvolvidas no New Jersey Institute of Technology usam um complexo de nanotubos de carbono, formado por uma mistura de nanotubos de carbono e buckyballs de carbono para formar estruturas semelhantes a cobras.

Um vetor que conecta os centros dos dois hexágonos é chamado de vetor quiral e determina a estrutura de um nanotubo de carbono de parede simples .
Um nanotubo de carbono pode ser especificado por um índice quiral e ser expresso como visto abaixo:
Para o vetor, n e m são índices quirais inteiros, e | a 1| = | a 2| é a constante de rede do grafite. n e m podem ser números para alterar a estrutura do CNT. A constante de rede é uma dimensão física importante que determina a geometria das células unitárias em uma rede cristalina e é proporcional à distância entre os átomos no cristal. Os cristais são sólidos que possuem estruturas e propriedades muito ordenadas e são formados quando íons, moléculas ou átomos se unem para compartilhar elétrons. Os cristais têm um padrão repetitivo de átomos, compostos, moléculas ou íons dispostos no espaço tridimensional.
Existem também nanotubos de carbono em zigue-zague e poltrona, mas neste artigo não vamos mencioná-los. Zigzag significa que os índices m do CNT são iguais a 0. Armchair significa que os índices n e m do CNT são iguais.
Desde a descoberta dos nanotubos de carbono (CNT) em 1991, os cientistas estão pesquisando rapidamente as características únicas do CNT.
As estruturas atômicas do CNT são importantes , pois influenciam diferentes propriedades, como semicondutores, rigidez, etc.
Programas de simulação como CASTEP ou VESTA são usados para fazer modelos CNT com cálculos matemáticos . No entanto, eles precisam de iterações que podem tornar o processo de simulação de diferentes CNTs mais longo do que o necessário.
Por que modelar CNTs é importante?
Os nanotubos de carbono têm propriedades diferentes quando sua estrutura é alterada. Se você deseja construir um elevador espacial a partir de um material muito barato, rígido, mas leve, a solução parece ser um CNT. Mas nem todo nanotubo de carbono tem a mesma rigidez. Eles nem sempre são fáceis de sintetizar. Para encontrar a melhor combinação para seus desejos, usar programas de modelagem molecular é a melhor opção.
No entanto, pode ser necessário fazer alguns cálculos para garantir que sua modelagem seja precisa. Esses cálculos matemáticos levam tempo, pois precisam de iterações.
Os pesquisadores agora usam ANNs (Artificial Neural Networks) para prever as coordenadas atômicas dos nanotubos de carbono, para que esses modelos possam ser usados em programas de modelagem para construir novos CNTs em um curto espaço de tempo.
Redes neurais artificiais
Uma Rede Neural Artificial (RNA) é um modelo computacional baseado no cérebro humano que permite que os computadores aprendam e resolvam problemas sem nenhum conhecimento prévio sobre o assunto. As RNAs são um conjunto de algoritmos projetados especificamente para aprendizado de máquina que funciona como inteligência artificial. As RNAs são capazes de criar novas funções a partir de um conjunto de exemplos chamados dados de treinamento e generalizar essas funções para resolver problemas não necessariamente contidos nos dados de treinamento.
As redes neurais são compostas por nós ou neurônios interconectados. Cada nó tem uma entrada ponderada que é alimentada em uma função de ativação. A saída da função de ativação é então passada para o próximo nó da rede por meio de um processo de tentativa e erro. O poder de reconhecimento de padrões das RNAs melhora com mais exposição de dados e capacidade de treinamento.


Este estudo está usando RNAs para diminuir as iterações necessárias no ambiente de simulação CASTEP para modelagem de CNTs .

Fui inspirado por este artigo e decidi construir uma ANN para prever coordenadas atômicas com Python.
O papel usa MATLAB para seu modelo e compartilha alguns detalhes de suas camadas. Codifiquei a ANN em Python e fiz algumas iterações para as camadas.
Prevendo Coordenadas Atômicas de CNTs
1-Importar bibliotecas e conjuntos de dados
A primeira etapa é importar as bibliotecas e o conjunto de dados.
Estamos usando o conjunto de dados que foi criado pelo papel mencionado anteriormente .
import numpy as np, pandas as pd, seaborn as sns, matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from sklearn.metrics import mean_squared_error, r2_score, accuracy_score
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Input, Dense
from tensorflow.keras.optimizers import Adam
import datetime
now = datetime.datetime.now
#filter warnings
import warnings
warnings.filterwarnings("ignore")
%matplotlib inline
filepath = 'the_dataset'
raw_data = pd.read_csv(filepath, sep=';',decimal=',')
data = raw_data.copy()
Vamos explorar o conjunto de dados que temos. Dessa forma, podemos ter uma visão melhor de quais são os dados que temos e como podemos usá-los.
data.info()
data.describe()
data.head()
#you can use these to understand the datatypes, observe the
#statistical summary or to see an example.
Our data.
data.hist(figsize=(10,10)) #you can take a look at dataset distributions.
The dataset’s distributions.
import plotly.express as px
fig = px.scatter_3d(data,
x="Calculated atomic coordinates u'",
y="Calculated atomic coordinates v'",
z="Calculated atomic coordinates w'",
color='Chiral indice n',
size='Chiral indice m',
hover_data=[],
opacity=0.4)
fig.update_layout(title='Calculated atomic coordinates')
fig.show()


3-Processe os Dados
Depois de explorar nossos dados, agora podemos separar os dados x e y, dimensionar recursos usando MinMaxScaler e dividir dados de trem de teste.
#y data
y_cols = ["Calculated atomic coordinates u'",
"Calculated atomic coordinates v'",
"Calculated atomic coordinates w'"]
#target data
y_data = data[y_cols]
#copy dataset
X_data = data.copy()
#remove target data from X_data
for y_label in y_cols:
X_data = X_data.drop([y_label], axis=1)
Em MinMaxScaler , para qualquer recurso, o valor mínimo desse recurso é transformado em 0, enquanto o valor máximo se transforma em 1 e todos os outros valores são normalizados entre 0 e 1.
Para ver quais linhas nos dados codificados requerem escala, procuramos os valores mínimo e máximo.
scale_cols = [col for col in X_data.columns
if X_data[col].min() < -1
or X_data[col].max() > 1]
scale_cols
X_data[scale_cols].iloc[:].min()
X_data[scale_cols].iloc[:].max()
from sklearn.preprocessing import MinMaxScaler
mm = MinMaxScaler()
X_data[scale_cols] = mm.fit_transform(X_data[scale_cols])
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X_data,
y_data,
test_size=0.3,
random_state=42)
Agora, é hora de construir nosso modelo. Como temos uma entrada e uma saída em cada camada, estamos usando Sequential() .
Nosso modelo tem 3 camadas ocultas.
- Camada 1: 20 nós ocultos, ativação da tangente hiperbólica
- Camada 2: 30 nós ocultos, ativação da tangente hiperbólica
- Camada 3: 25 nós ocultos, ativação softmax
- A camada final tem 3 nós sem ativação
Também poderíamos usar “Sigmóide”.
Eles são os mesmos, até a tradução e dimensionamento. O sigmóide logístico tem um intervalo de 0 a 1, enquanto a tangente hiperbólica tem um intervalo de -1 a 1. E nossos dados são escalados entre 0 e 1. Usamos tangente porque é computacionalmente mais eficiente.
Para a camada 3, temos a ativação “ Softmax ”. A função de ativação Softmax calcula as probabilidades relativas.
Você pode provocar as camadas e investigar os resultados.
model = Sequential()
model.add(Dense(20, input_shape = (5,), activation='tanh'))
model.add(Dense(30, activation = 'tanh'))
model.add(Dense(25, activation = 'softmax'))
model.add(Dense(3, activation=None))
O otimizador Adam é um dos otimizadores mais usados para treinar a rede neural e também é usado para fins práticos. É muito eficiente com grandes problemas que consistem em um grande número de dados. É um método que calcula as taxas de aprendizado adaptativo para cada parâmetro.
model.compile(Adam(lr = 0.0015),
'mean_squared_error')
run = model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=320)
Hora de ver as métricas de desempenho.
# predictions for train and test
y_train_pred = model.predict(X_train)
y_test_pred = model.predict(X_test)
# R2 score for train and test
train_score = r2_score(y_train, y_train_pred)
test_score = r2_score(y_test, y_test_pred)
print("_________________________________________________")
print("R2 Score for the training set is:", train_score)
print("R2 Score for the test set is:", test_score)
R2 score
Nossa pontuação R2 para o conjunto de teste é 0,99. Isso significa que 99% da mutabilidade do atributo de saída dependente pode ser explicada pelo modelo, enquanto 1% ainda não foi contabilizado.
Portanto, nosso desempenho parece bom ! Pelas definições das métricas, podemos dizer que nosso modelo foi bem sucedido.
Conclusão
Uau! Isso foi muito. Aprendemos primeiro sobre o que são os CNTs e por que modelá-los é importante, depois como as ANNs podem ser usadas para prever suas coordenadas atômicas.
Alguns pontos-chave:
- Nanotubos de carbono (CNTs) são nanomateriais recém-descobertos que possuem propriedades únicas.
- As propriedades do CNT são influenciadas por sua forma e estrutura. Portanto, modelar e simular sua estrutura desempenha um papel importante para os cientistas tentarem novos métodos de síntese.
- Atualmente, a simulação dos CNTs leva muito tempo, pois é necessário fazer cálculos matemáticos para obter coordenadas atômicas precisas.
- Este estudo utiliza Redes Neurais Artificiais para prever coordenadas atômicas para que as iterações possam ser feitas pelo software de simulação sem a necessidade de cálculos matemáticos.
- O modelo que construímos inspirando- nos no estudo de Acı e Avcı está mostrando alto desempenho.
Oi! Sou Elanu, 16 anos, da Turquia, que escreve sobre STEM.