En esta clase vamos a aprender cómo definir las condiciones de contorno en nuestro modelo de elementos finitos de ANSYS. Recordamos que en la clase “Aprendiendo ANSYS- Crear un muelle-Elemento Combin14” ya aprendimos como crear muelles elásticos que pueden ser usados también como un tipo de apoyo (cimentaciones sobre terrenos elásticos). Podemos crear apoyos, ya sean apoyos simples o apoyos empotrados, en el modelo "Sólido” o en el modelo de elementos finitos.
· Crear apoyos en el modelo “Sólido”: Podemos crear apoyos tanto en keypoints, como en líneas y áreas. Tiene como ventaja que es más rápido aplicarlo pero recomendamos que al crear el modelo de elementos finitos verifiquéis que los apoyos creados corresponden a lo que deseáis (suele ser el caso). Los comandos a usar son: DK, DL y DA (respectivamente para keypoints, líneas y áreas). En los ejemplos de APDL a continuación aprendemos como usarlos.
· Crear apoyos en el modelo de elementos finitos: Esta es la opción que recomendamos ya que ves en el momento el resultado de los apoyos aplicados sobre tus nodos directamente. El comando a usar es D. Este comando trabaja en los ejes nodales. Recomendamos leer la clase “Aprendiendo ANSYS- Rotar los ejes nodales - NROTAT” para aprender a usar sistemas de coordenadas nodales y como modificarlos. En los ejemplos de APDL a continuación aprendemos como usar el comando D.
IMPORTANTE: Debemos tener en cuenta que si creamos un apoyo en el modelo sólido, este reemplazará automáticamente el creado en el modelo de elementos finitos, independientemente de cual se haya creado antes
Crear un apoyo usando la interfaz gráfica
En ANSYS las condiciones de condiciones de contorno son consideradas como cargas, luego tendremos que buscarlas en el menú de “Loads”. Recordamos que un apoyo no es más que un desplazamiento nulo, luego en ANSYS tendremos que entrar en “Displacements”. No vamos a encontrar un apartado de “Boundary conditions” ni de “Supports”.
1. Como hemos comentado, queremos entrar en el apartado de aplicar cargas, entonces Preprocessor -> Loads -> Define Loads -> Aply -> Structural
2. Pinchamos en Displacement para desplegar el menú que usaremos para crear nuestros apoyos
3. Seleccionamos sobre qué elemento, bien del modelo “Sólido” o bien del modelo de elementos finitos, queremos aplicar nuestro desplazamiento. Para este ejemplo hemos seleccionado “On nodes”. Si seleccionásemos “On lines” o “On areas” o “On Keypoints” deberíamos de tener estos entes definidos (recomendamos ver las clases sobre keypoints, líneas y áreas para recordar cómo crear cada uno de ellos)
4. Pinchamos en los nodos sobre los que queremos crear nuestros apoyos y pinchamos en “OK”. Se abrirá una nueva ventana donde podremos elegir el tipo de desplazamiento que queremos restringir para crear distintos tipos de apoyos
5. Seleccionamos los grados de libertad sobre los que quiero aplicar un desplazamiento nulo. Recordamos que un apoyo es un punto con desplazamientos nulos (translación si es simplemente apoyado y translación+rotación si es apoyo fijo). En nuestro ejemplo vamos a seleccionar UX y UZ en coordenadas NODALES.
6. Como vamos a crear un apoyo elegimos el valor de desplazamiento nulo y la opción constante
7. Pinchamos en Ok si queremos crear ese apoyo y no crear más o en “Apply” si queremos seguir creando apoyos en otros nodos
Este es el resultado del ejemplo. Como vemos se ha creado un apoyo en el nodo seleccionado bloqueando los desplazamientos en X y en Z según los ejes nodales (como no hemos girado los ejes nodales, estos se crean por defecto paralelo a los globales).
Como ejemplo interesante, para ver que los desplazamientos se aplican en los ejes nodales, vamos a girar los ejes con el comando NMODIF,3, , , ,90,45,0, (recomendamos revisar la clase “Aprendiendo ANSYS- Rotar los ejes nodales - NROTAT”). Este es el resultado, vemos que ahora los apoyos se han girado:
Crear un apoyo usando APDL
Recordamos que los comandos que podemos usar son: D, DK, DL y DA.
!Comando D, Node, Lab, VALUE, VALUE2, NEND, NINC, Lab2, Lab3, Lab4, Lab5, Lab6
D,3, UX ,0, , , , UZ , , , , , !Con este comando creamos un desplazamiento en el nodo número 3 (Node=3, hemos escogido este nodo pero podríamos haber escogido otro nodo del modelo). Vamos a aplicarlo a los grados de libertad UX y UZ (Lab=UX y Lab2=UZ, el resto de Lab se dejan vacíos pero si quisiéramos aplicar a otros grados de libertad se podrían usar con UX, UY, UZ,ROTX,ROTY,ROTZ). Vamos a aplicar un valor nulo (Value=0), como vamos a crear apoyos, todos los grados de libertad que indiquemos en este comando llevaran un valor=0 por lo que no necesitamos especificar el parámetro VALUE2. En este caso vamos a aplicarlo solo al nodo 3 por lo que NEND y NINC los dejamos en blanco. Estos dos parámetros los usaremos en ejemplos posteriores.
D,all, UZ ,0, , , , ROTZ ,UX , , , , !Para esta línea de comando hemos tenido que seleccionar los nodos a los que queremos que se aplique ya que vamos a usar Node=All que hace que se aplique el comando a todos los nodos seleccionados. Con este comando creamos un desplazamiento en todos los nodos seleccionados (Node=all) en los grados de libertad UX, UZ y ROTZ (Lab=UZ, Lab2=ROTZ y Lab3=UX, el resto de Lab se dejan en blanco). Vamos a aplicar un valor nulo (Value=0), como vamos a crear apoyos, todos los grados de libertad que indiquemos en este comando llevaran un valor=0 por lo que no necesitamos especificar el parámetro VALUE2. En este caso vamos a aplicarlo a todos los nodos seleccionados por lo que NEND y NINC los dejamos en blanco. Estos dos parámetros los usaremos en el siguiente ejemplo.
D,3, UX ,0, , 5, 2, , UZ , , , , , !Este comando en el mismo que el del primer ejemplo pero con una ligera variación: A los nodos que va a ser aplicado. Hemos definido Node=3, NEND=5 y NINC=2. Esto quiere decir que vamos a aplicarlo del nodo 3 al nodo 5 con incrementos de 2, es decir se aplicará al nodo 3 y al 5. Si hubiéramos dejando NINC en blanco, el valor por defecto es 1, se aplicaría a los nodos 3, 4 y 5.
!Comando DA, AREA, Lab, Value1, Value2
DA, 2, UX, 0 !Crea apoyos (desplazamiento Value1=0) según el grado de libertad UX (Lab=UX) para el área 2 (AREA=2). Si AREA=All crea los apoyos en todas las áreas que estén seleccionadas. Si Lab=All aplica apoyos en TODOS los grados de libertad de los nodos que serán creados en el área cuando sea mallada (el área número 2 si AREA=2 o de todas las áreas seleccionadas si AREA=All)
!Comando DL, LINE, AREA, Lab, Value1, Value2: Este comando se usa exactamente igual que el de área de arriba. El parámetro AREA podemos dejarlo en blanco, no vamos a entrar en él en esta clase. Ejemplo: DL, All,, UX, 0
!Comando DK, KPOI, Lab, VALUE, VALUE2, KEXPND, Lab2, Lab3, Lab4, Lab5, Lab6: No sabemos por qué este comando defiere ligeramente de los otros dos ya que nos permite elegir, como el parámetro D, crear un apoyo según varios grados de libertad al mismo tiempo
DK, 4, UX, 0, ,,UZ,ROTY !Crea apoyos (desplazamiento Value=0) según el grado de libertad UX, UZ y ROTY (Lab=UX, Lab2=UZ y Lab3=ROTY) para el keypoint 4 (KPOI=4). Si KPOI=All crea los apoyos en todos los keypoints que estén seleccionados. Si Lab=All aplica apoyos en TODOS los grados de libertad de nodo que sea creado en el keypoint cuando mallemos (el keypoint número 4 si KPOI=4 o de todos los keypoints seleccionados si KPOI=All). El parámetro KEXPND es más complejo de usar, para esta clase lo dejaremos en blanco que hará que el apoyo se cree solo en los nodos que pedimos, ya que es más sencillo y nos evitará errores.
Eliminar un apoyo con APDL
Para ello solo tenemos que usar el comando /DDELE para eliminar desplazamientos creados con D y usamos DKDELE, DLDELE y DADELE para eliminar desplazamientos creamos con DK, DL y DA.
· DDELE, NODE, Lab, NEND, NINC, Rkey: Los parámetros son semejantes a los usados en los ejemplos de ANSYS de arriba, lo vemos con dos ejemplos:
DDELE,3, UX ,,5, 2, ! Hemos definido Node=3, NEND=5 y NINC=2. Esto quiere decir que vamos a eliminar el apoyo del nodo 3 al nodo 5 con incrementos de 2, es decir se aplicará al nodo 3 y al 5. Si hubiéramos dejando NINC en blanco, el valor por defecto es 1, se aplicaría a los nodos 3, 4 y 5. Vamos a eliminar el apoyo según UX, si queremos borrar los apoyos de todos los grados de libertad usamos All. El parámetro Rkey no es necesario
DDELE,all, ROTX ! Hemos definido Node=all. Esto quiere decir que vamos a eliminar el apoyo de los nodos que estén seleccionados. Vamos a eliminar el apoyo según ROTX, si queremos borrar los apoyos de todos los grados de libertad usamos All (DDELE,all,all)
· DLDELE, LINE, Lab (semejante para DKDELE y DADELE): Los parámetros LINE (para DLDELE), KPOI (para DKDELE) y AREA (para DADELE) hacen referencia al número de la línea cuyos apoyos quieren ser borrados. Si aplicamos ALL se borrarán los apoyos de todas las líneas/keypoints/áreas seleccionadas. El parámetro lab puede ser un grado de libertad (UX, UY..) o puede ser All para eliminar los apoyos de todos los grados de libertad