doc: first draft and article template

parent 3ba6629e
Fast design optimization of SLB dampers using FEM-calibrated surrogates:
hysteresis prediction with LSTM and damage-constrained optimization
Resumen y palabras clave
Abstract
Contexto: necesidad de optimización geométrica eficiente de disipadores SLB bajo cargas cíclicas.
Base: simulaciones FEM calibradas como ground truth para la respuesta histerética y variables internas de daño no directamente medibles.
Metodología:
generación de datasets FEM para disipadores con 2, 3 y 5 ventanas,
predicción de curvas histeréticas mediante modelos LSTM,
optimización geométrica mediante modelos surrogate supervisados y RBF,
comparación sistemática en términos de precisión y coste computacional.
Resultados clave: trade-off precisión–velocidad y recomendaciones prácticas.
Conclusión: viabilidad de pipelines rápidos y fiables para diseño asistido.
Keywords
hysteresis, LSTM, surrogate modeling, supervised learning, radial basis functions, structural optimization, FEM-calibrated models, shear-link dampers
1. Introducción
1.1 Motivación y problema de ingeniería
Disipadores SLB: maximizar disipación de energía y ductilidad, limitando daño local.
Limitaciones del ensayo experimental:
imposibilidad de acceder a variables internas,
alto coste para exploración geométrica.
Rol del FEM:
acceso a respuesta global e indicadores locales de daño,
generación sistemática de datos para optimización.
1.2 Retos principales
Respuesta histerética con memoria (dependencia del historial de carga).
Coste computacional elevado de simulaciones FEM.
Extrapolación limitada de modelos puramente basados en datos.
Necesidad de surrogates rápidos pero fiables.
1.3 Contribuciones del artículo
Generación de datasets FEM para disipadores con distinta complejidad geométrica.
Predicción de curvas histeréticas mediante LSTM.
Optimización geométrica basada en:
modelos ML supervisados (RF, GBT, XGBoost, SVR, MLP),
Radial Basis Functions.
Comparativa exhaustiva precisión vs tiempo.
Estrategia de validación y realimentación adaptativa.
2. Simulación numérica y generación del ground truth
Esta sección queda muy bien enfocada en tu esquema; solo la estructuro mejor.
2.1 Geometría de los disipadores
Disipadores SLB con:
2 ventanas,
3 ventanas,
5 ventanas.
Parámetros geométricos:
espesores de ventanas (tw),
espesor de marco (tf).
2.2 Protocolos de carga cíclica
Desplazamiento impuesto por actuador.
Protocolos de amplitud progresiva.
Dependencia del protocolo con la altura del disipador.
2.3 Variables de salida del FEM (QoIs)
Respuesta global: curva fuerza–desplazamiento (histéresis).
Indicadores de daño:
TFDMap,
distorsión local asociada a la disipación de energía.
2.4 Diseño del conjunto de simulaciones
Exploración sistemática del espacio de diseño.
Muestreo cuasi-aleatorio de parámetros geométricos.
Separación clara entre:
datasets de entrenamiento,
casos de validación.
3. Predicción de curvas histeréticas mediante LSTM
Esta sección queda muy sólida y es uno de los puntos fuertes del paper.
3.1 Formulación del problema con memoria
Objetivo: predecir
F(t)
F(t) a partir del historial de desplazamiento y geometría.
Justificación:
el desplazamiento instantáneo no es suficiente,
dependencia del sentido y amplitud previa de carga.
3.2 Representación secuencial de la señal
Entrada:
xt=[ut,u˙t,ciclo,amplitud,paraˊmetros geomeˊtricos]
x
t
=[u
t
,
u
˙
t
,ciclo,amplitud,par
a
ˊ
metros geom
e
ˊ
tricos]
Salida:
Ft
F
t
(autoregresivo) o
secuencia completa (many-to-many).
3.3 Arquitecturas LSTM consideradas
LSTM many-to-many.
Encoder–decoder para generalización entre protocolos.
LSTM con atención (opcional).
3.4 Entrenamiento y validación
Normalización.
Funciones de pérdida (MAE/MSE + penalización en picos).
División por simulaciones completas (evitar data leakage).
3.5 Ventajas y limitaciones
Ventajas: captura explícita de memoria, alta fidelidad en histéresis.
Limitaciones: coste de entrenamiento, necesidad de datos, extrapolación.
4. Optimización geométrica basada en modelos surrogate
4.1 Formulación del problema
Variables de diseño:
{twi,tf}
{tw
i
,tf}.
Objetivos:
minimizar daño,
maximizar distorsión / disipación de energía.
Restricciones basadas en indicadores de daño.
4.2 Surrogates empleados
Modelos supervisados: RF, GBT, XGBoost, SVR, MLP.
Radial Basis Functions como alternativa directa.
4.3 Algoritmo de optimización
Differential Evolution (DE).
Evaluación masiva mediante surrogates.
Selección de geometrías óptimas candidatas.
5. Validación numérica y realimentación adaptativa
5.1 Validación FEM de diseños optimizados
Comparación surrogate vs FEM:
curva histerética,
indicadores de daño.
5.2 Estrategia de reentrenamiento
Criterio de error admisible.
Incorporación iterativa de nuevas simulaciones FEM.
6. Comparativa: modelos supervisados vs RBF
Esta sección es clave y merece entidad propia.
6.1 Precisión predictiva
Error en daño.
Error en variables de desempeño.
6.2 Coste computacional
Tiempo de entrenamiento.
Tiempo de inferencia.
Escalabilidad con la dimensión del problema.
6.3 Discusión práctica
Cuándo usar cada enfoque según:
tamaño del dataset,
dimensionalidad,
necesidad de rapidez.
7. Discusión
Trade-off precisión–velocidad–robustez.
Papel del feature engineering frente a métodos puramente interpolativos.
LSTM como herramienta complementaria, no sustituta, del surrogate para optimización.
Implicaciones para diseño asistido en ingeniería estructural.
8. Conclusiones
FEM como generador de ground truth rico.
LSTM eficaz para histéresis con memoria.
Optimización acelerada viable con surrogates.
RBF como solución ultra-rápida en dominios bien cubiertos.
Recomendaciones claras según escenario de uso.
Apéndices
A. Detalles de normalización y métricas.
B. Hiperparámetros LSTM.
C. Definición matemática de la función objetivo.
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
%%
%% This is file `algorithm.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% algorithms.dtx (with options: `algorithm')
%% This is a generated file.
%%
%% Copyright (C) 1994-2004 Peter Williams <pwil3058@bigpond.net.au>
%% Copyright (C) 2005-2009 Rogrio Brito <rbrito@ime.usp.br>
%%
%% This document file is free software; you can redistribute it and/or
%% modify it under the terms of the GNU Lesser General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This document file is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
%% General Public License for more details.
%%
%% You should have received a copy of the GNU Lesser General Public License
%% along with this document file; if not, write to the Free Software
%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
%% USA.
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{algorithm}
[2009/08/24 v0.1 Document Style `algorithm' - floating environment]
\RequirePackage{float}
\RequirePackage{ifthen}
\newcommand{\ALG@within}{nothing}
\newboolean{ALG@within}
\setboolean{ALG@within}{false}
\newcommand{\ALG@floatstyle}{ruled}
\newcommand{\ALG@name}{Algorithm}
\newcommand{\listalgorithmname}{List of \ALG@name s}
% Declare Options:
% * first: appearance
\DeclareOption{plain}{
\renewcommand{\ALG@floatstyle}{plain}
}
\DeclareOption{ruled}{
\renewcommand{\ALG@floatstyle}{ruled}
}
\DeclareOption{boxed}{
\renewcommand{\ALG@floatstyle}{boxed}
}
% * then: numbering convention
\DeclareOption{part}{
\renewcommand{\ALG@within}{part}
\setboolean{ALG@within}{true}
}
\DeclareOption{chapter}{
\renewcommand{\ALG@within}{chapter}
\setboolean{ALG@within}{true}
}
\DeclareOption{section}{
\renewcommand{\ALG@within}{section}
\setboolean{ALG@within}{true}
}
\DeclareOption{subsection}{
\renewcommand{\ALG@within}{subsection}
\setboolean{ALG@within}{true}
}
\DeclareOption{subsubsection}{
\renewcommand{\ALG@within}{subsubsection}
\setboolean{ALG@within}{true}
}
\DeclareOption{nothing}{
\renewcommand{\ALG@within}{nothing}
\setboolean{ALG@within}{true}
}
\DeclareOption*{\edef\ALG@name{\CurrentOption}}
% ALGORITHM
%
\ProcessOptions
\floatstyle{\ALG@floatstyle}
\ifthenelse{\boolean{ALG@within}}{
\ifthenelse{\equal{\ALG@within}{part}}
{\newfloat{algorithm}{htbp}{loa}[part]}{}
\ifthenelse{\equal{\ALG@within}{chapter}}
{\newfloat{algorithm}{htbp}{loa}[chapter]}{}
\ifthenelse{\equal{\ALG@within}{section}}
{\newfloat{algorithm}{htbp}{loa}[section]}{}
\ifthenelse{\equal{\ALG@within}{subsection}}
{\newfloat{algorithm}{htbp}{loa}[subsection]}{}
\ifthenelse{\equal{\ALG@within}{subsubsection}}
{\newfloat{algorithm}{htbp}{loa}[subsubsection]}{}
\ifthenelse{\equal{\ALG@within}{nothing}}
{\newfloat{algorithm}{htbp}{loa}}{}
}{
\newfloat{algorithm}{htbp}{loa}
}
\floatname{algorithm}{\ALG@name}
\newcommand{\listofalgorithms}{\listof{algorithm}{\listalgorithmname}}
\endinput
%%
%% End of file `algorithm.sty'.
%%
%% This is file `appendix.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% appendix.dtx (with options: `package')
%% =============================================
%% IMPORTANT NOTICE:
%% This is a generated file.
%%
%% It is subject to the same copyright conditions (see below)
%% as in the original file: appendix.dtx.
%% It may not be distributed without appendix.dtx.
%%
%% Full documentation can be obtained by LaTeXing that original file.
%% Only a few abbreviated comments remain here to describe the usage.
%% =============================================
%% Copyright 1993-2005 Patrick W Daly
%% Max-Planck-Institut f\"ur Aeronomie
%% Max-Planck-Str. 2
%% D-37191 Katlenburg-Lindau
%% Germany
%% E-mail: daly@linmpi.mpg.de
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{appendix}
[2005/10/30 2.2 (PWD)]
% Adding this package redefines \appendix so that main counters for
% figures, tables, equations are subnumbered under the appendix.
% A \noappendix command is included so that things like bibliographies
% may be called after the appendix with \section*. It resets the sectioning
% commands. There should be no \section commands after this though.
%
% LaTeX2e options:
% mylang (default) -> keeps current \appendixname
% english, american -> sets \appendixname to `Appendix'
% german, austrian, french, esperanto -> translates \appendixname
% blank -> suppresses the word `Appendix' with \appendix
% Options processed in order given, default is mylang (no change)
%-----------------------------------------------------------
\@ifundefined{iffigcaps}{}
{\PackageWarningNoLine{appendix}
{***********************************\MessageBreak
This package read in after `figcaps'\MessageBreak
There could be problems with sublabelled\MessageBreak
figure and table numbers.\MessageBreak
***********************************}}
\DeclareOption{english}{\def\appendixname{Appendix}}
\DeclareOption{american}{\def\appendixname{Appendix}}
\DeclareOption{german}{\def\appendixname{Anhang}}
\DeclareOption{austrian}{\def\appendixname{Anhang}}
\DeclareOption{french}{\def\appendixname{Annexe}}
\DeclareOption{esperanto}{\def\appendixname{Apendico}}
\DeclareOption{blank}{\def\appendixname{}}
\DeclareOption{mylang}{\providecommand{\appendixname}{Appendix}}
\ExecuteOptions{mylang}
\ProcessOptions*
\let\orisection=\section
\let\theolds=\thesection
\let\theoldss=\thesubsection
\def\appendix{\par
\if\@empty\appendixname \else \section*{\appendixname} \fi
\setcounter{section}{0}
\setcounter{subsection}{0}
\def\thesection{\Alph{section}}
\def\thesubsection{\thesection\arabic{subsection}}
\setcounter{secnumdepth}{4}
\@addtoreset{equation}{section}
\setcounter{equation}{0}
\def\theequation{\thesection\arabic{equation}}
\@addtoreset{figure}{section}
\setcounter{figure}{0}
\def\thefigure{\thesection\arabic{figure}}
\@addtoreset{table}{section}
\def\thetable{\thesection\arabic{table}}
\setcounter{table}{0}
\def\@Alph##1{%
\ifcase##1A\or A\or B\or C\or D\or E\or F\or G\or H\or I\or J\or
K\or L\or M\or N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or X\or
Y\or Z\else\@ctrerr\fi}
}
\def\noappendix{\setcounter{secnumdepth}{0}
\global\let\section=\orisection
\global\let\thesection=\theolds
\global\let\thesubsection=\theoldss
}
%%
%% <<<<< End of generated file <<<<<<
%%
%% End of file `appendix.sty'.
\ No newline at end of file
%!PS-Adobe-3.0
%%Pages: (atend)
%%BoundingBox: 0 0 115 87
%%HiResBoundingBox: 0.563794 0.527295 114.418213 86.036206
%...........................................
%%Creator: GNU Ghostscript 653 (pswrite)
%%CreationDate: 2002/07/10 13:09:14
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%EndComments
%%BeginProlog
% This copyright applies to everything between here and the %%EndProlog:
% Copyright (C) 2002 artofcode LLC, Benicia, CA. All rights reserved.
%%BeginResource: procset GS_pswrite_2_0_1001
/GS_pswrite_2_0_1001 80 dict dup begin
/PageSize 2 array def/setpagesize{ PageSize aload pop 3 index eq exch
4 index eq and{ pop pop pop}{ PageSize dup 1
5 -1 roll put 0 4 -1 roll put dup where{ exch get exec}
{ pop/setpagedevice where
{ pop 1 dict dup /PageSize PageSize put setpagedevice}
{ /setpage where{ pop PageSize aload pop pageparams 3 {exch pop} repeat
setpage}if}ifelse}ifelse}ifelse} bind def
/!{bind def}bind def/#{load def}!/N/counttomark #
/rG{3{3 -1 roll 255 div}repeat setrgbcolor}!/G{255 div setgray}!/K{0 G}!
/r6{dup 3 -1 roll rG}!/r5{dup 3 1 roll rG}!/r3{dup rG}!
/w/setlinewidth #/J/setlinecap #
/j/setlinejoin #/M/setmiterlimit #/d/setdash #/i/setflat #
/m/moveto #/l/lineto #/c/rcurveto #
/p{N 2 idiv{N -2 roll rlineto}repeat}!
/P{N 0 gt{N -2 roll moveto p}if}!
/h{p closepath}!/H{P closepath}!
/lx{0 rlineto}!/ly{0 exch rlineto}!/v{0 0 6 2 roll c}!/y{2 copy c}!
/re{4 -2 roll m exch dup lx exch ly neg lx h}!
/^{3 index neg 3 index neg}!
/f{P fill}!/f*{P eofill}!/s{H stroke}!/S{P stroke}!
/q/gsave #/Q/grestore #/rf{re fill}!
/Y{P clip newpath}!/Y*{P eoclip newpath}!/rY{re Y}!
/|={pop exch 4 1 roll 3 array astore cvx exch 1 index def exec}!
/|{exch string readstring |=}!
/+{dup type/nametype eq{2 index 7 add -3 bitshift 2 index mul}if}!
/@/currentfile #/${+ @ |}!
/B{{2 copy string{readstring pop}aload pop 4 array astore cvx
3 1 roll}repeat pop pop true}!
/Ix{[1 0 0 1 11 -2 roll exch neg exch neg]exch}!
/,{true exch Ix imagemask}!/If{false exch Ix imagemask}!/I{exch Ix image}!
/Ic{exch Ix false 3 colorimage}!
/F{/Columns counttomark 3 add -2 roll/Rows exch/K -1/BlackIs1 true>>
/CCITTFaxDecode filter}!/FX{<</EndOfBlock false F}!
/X{/ASCII85Decode filter}!/@X{@ X}!/&2{2 index 2 index}!
/@F{@ &2<<F}!/@C{@X &2 FX}!
/$X{+ @X |}!/&4{4 index 4 index}!/$F{+ @ &4<<F |}!/$C{+ @X &4 FX |}!
/IC{3 1 roll 10 dict begin 1{/ImageType/Interpolate/Decode/DataSource
/ImageMatrix/BitsPerComponent/Height/Width}{exch def}forall
currentdict end image}!
end readonly def
%%EndResource
/pagesave null def
%%EndProlog
%%Page: 1 1
%%BeginPageSetup
GS_pswrite_2_0_1001 begin
595 842 /a4 setpagesize
/pagesave save store 100 dict begin
0.1 0.1 scale
%%EndPageSetup
gsave mark
Q q
0 0 1150 870 re
Y
4.72425 w
K
8 7.63501 1133.82 850.365 re
S
8 858 1133.82 -850.36 S
8 7.64 1133.82 850.36 S
cleartomark end end pagesave restore showpage
%%PageTrailer
%%Trailer
%%Pages: 1
%%EOF
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment