15.07.2014 Views

Capítulo 1 Métodos de residuos ponderados Funciones de prueba ...

Capítulo 1 Métodos de residuos ponderados Funciones de prueba ...

Capítulo 1 Métodos de residuos ponderados Funciones de prueba ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Esto esta así pensado para que luego puedan construirse alguna forma sencilla <strong>de</strong> generación <strong>de</strong><br />

coor<strong>de</strong>nada nodales estructuradas. Lo que se controlaría con alguna letra a<strong>de</strong>cuada. Por ejemplo se<br />

podría leer en la primera columna una “L” y a continuación hacer una interpolación lineal entre dos<br />

nudos previamente leídos, o una “C” e interpolar nudos sobre un arco <strong>de</strong> círculo, etc. Al respecto<br />

en la versión actual <strong>de</strong>l programa hay algunas opciones <strong>de</strong> generación sencillas.<br />

Finalmente la rutina va verificando <strong>de</strong> que nudos se ha leído o generado coor<strong>de</strong>nadas y en caso<br />

<strong>de</strong> haber coor<strong>de</strong>nadas faltantes (arreglo EXIST(no<strong>de</strong>s)) se imprime un mensaje <strong>de</strong> advertencia.<br />

Rutina ELMDAT<br />

Lee <strong>de</strong> la unidad 5 las conectivida<strong>de</strong>s <strong>de</strong> los elementos y las almacena en la variable CNODS-<br />

(nno<strong>de</strong>,nelem). Don<strong>de</strong> NNODE es el número <strong>de</strong> nudos <strong>de</strong>l elemento y NELEM es la cantidad <strong>de</strong> elementos<br />

<strong>de</strong> este tipo. Lee también el tipo <strong>de</strong> material <strong>de</strong>l que está compuesto en NUMAT(nelem).Esta<br />

rutina se controla según el caracter que aparece en la primera columna:<br />

si ese caracter es una “e” o “E” entien<strong>de</strong> que se ha terminado con los datos <strong>de</strong> conectivida<strong>de</strong>s<br />

elementales.<br />

si ese caracter es un espacio en blanco entien<strong>de</strong> que se leerán datos <strong>de</strong> un elemento, y lee<br />

el número <strong>de</strong>l elemento, el material <strong>de</strong>l que está constituido y sus NNODE nodos en el or<strong>de</strong>n<br />

correspondiente.<br />

si el caracter no es alguno <strong>de</strong> los anteriores asume que la línea es un comentario y pasa a la<br />

siguiente.<br />

Esto esta así pensado para que luego puedan construirse alguna forma sencilla <strong>de</strong> generación<br />

<strong>de</strong> conectivida<strong>de</strong>s nodales estructuradas. Lo que se controlaría con alguna letra a<strong>de</strong>cuada.<br />

La rutina verifica que se hayan leído o generado las datos <strong>de</strong> todos los elementos (arreglo<br />

EXIST(nelem)) y si no fuese así <strong>de</strong>tiene la ejecución. En caso <strong>de</strong> que las coor<strong>de</strong>nadas <strong>de</strong> sus nudos<br />

medios falten se generan equidistantes <strong>de</strong> los vértices. Finalmente para cada nudo asociado a un<br />

elemento se dan <strong>de</strong> alta los NDOFN parámetros nodales como potenciales grados <strong>de</strong> libertad <strong>de</strong>l<br />

problema en el arreglo IDNOD(ndofn,no<strong>de</strong>s)(condición que luego podrá cambiar al introducir las<br />

condiciones esenciales <strong>de</strong> bor<strong>de</strong>).<br />

Rutina KNOWNV<br />

Esta rutina lee los valores <strong>de</strong> la variable en aquellos puntos don<strong>de</strong> es conocida (condiciones<br />

esenciales <strong>de</strong> bor<strong>de</strong>). Estos valores se van or<strong>de</strong>nando en forma secuencial y para cada valor conocido,<br />

el grado <strong>de</strong> libertad asociado se da <strong>de</strong> baja. El valor conocido (nulo o no) se guarda en el arreglo<br />

KNOWN y en la posición correspondiente <strong>de</strong>l arreglo IDNOD se guarda la posición en el arreglo anterior<br />

pero con signo cambiado. De esta forma en IDNOD tendremos hasta ahora:<br />

1 grados <strong>de</strong> libertad que no han sido dados <strong>de</strong> alta<br />

0 grados <strong>de</strong> libertad dados <strong>de</strong> alta (efectivos)<br />

-? grados <strong>de</strong> libertad con valores conocidos<br />

Notar que las condiciones <strong>de</strong> bor<strong>de</strong> aquí incluidas no son generales. Por ejemplo para problemas<br />

<strong>de</strong> elasticidad los grados <strong>de</strong> libertad que se pue<strong>de</strong>n imponer <strong>de</strong>ben coincidir con las direcciones <strong>de</strong>l<br />

sistema global <strong>de</strong> coor<strong>de</strong>nadas, es <strong>de</strong>cir no es factible en la presente implementación incluir apoyos<br />

inclinados respecto a dicho sistema. Tampoco es posible incluir restricciones conocidas como nodos<br />

“maestros” o restricciones don<strong>de</strong> un grado <strong>de</strong> libertad <strong>de</strong>pen<strong>de</strong> <strong>de</strong> otro(s) en forma lineal.<br />

168

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!