C
C--------------------------------------------------------------CALC_APOYO---
C     														
C     SUBRUTINA CALC_APOYO
C     
C     MONTAJE DE LAS ECUACIONES PARA EVITAR MOVIMIENTOS DE SOLIDO RIGIDO
C
      SUBROUTINE CALC_APOYO(PRB,SOL,NOD,VT,W)
C
      IMPLICIT NONE
      INCLUDE '_param.for'
      INCLUDE '_struct.for'
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C     VARIABLES EXTERNAS
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C PRB : Variables globales del problema
      RECORD /S_problema/ PRB
C SOL : Solidos del problema
      RECORD /S_solido/ SOL(N_MAX_SOL)
C NOD : Nodos del problema
      RECORD /S_nodo/ NOD(N_MAX_NOD)
C VT : Ecuación correspondiente a los apoyos puntuales
	REAL*8 VT(3*N_MAX_SOL,N_MAX_INC)
C W : Proyeccion de los MSR sobre las incognitas
	REAL*8 W(N_MAX_INC,3*N_MAX_SOL)
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C     VARIABLES INTERNAS
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C Contadores
      INTEGER i,j,k,m
      INTEGER CSOL,CNOD,CAPO
      INTEGER CINC
C MSR() : Valor del MSR en el nodo
	REAL*8 MSR(2)
C CDC : Proyeccion de los MSR sobre las condiciones de contorno
	REAL*8 CDC
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C     VALORES INICIALES
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C         
C      
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C     MONTAJE ECUACIONES SOLIDO
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C	Ecuaciones de apoyo (Vectores VT)
C
	capo=0
	DO i=1,PRB.NSOL
	  csol=SOL(i).NUM
	  DO j=1,SOL(csol).NAPO
		capo=capo+1
		DO k=1,PRB.NINC
		  VT(capo,k)=0.d0
		END DO
	  END DO
	END DO
C
C	Proyeccion de los MSR (Vectores W)
C
	capo=0
	DO i=1,PRB.NSOL
	  csol=SOL(i).NUM
	  DO j=1,SOL(csol).NAPO
		capo=capo+1
		DO k=1,PRB.NINC
		  W(k,capo)=0.d0
		END DO
	  END DO
	END DO
C     
C	Bucle que recorre los solidos
C
	capo=0
	DO i=1,PRB.NSOL
	  csol=SOL(i).NUM
C
C	  Bucle que recorre las ecuaciones de apoyo de cada solido
C
	  DO j=1,SOL(csol).NAPO
		capo=capo+1
C
C		Ecuaciones de apoyo (Vectores VT)
C
		cnod=SOL(csol).APO(j).NOD
C
		CDC=0.d0
		DO k=1,SOL(csol).NNOD
		  IF(SOL(csol).NOD(k).EQ.cnod)THEN
			CDC=1.d0
		  END IF
		END DO
C
		IF( CDC.EQ.0.d0 )THEN
		  WRITE(F_W,13701) csol,j,NOD(cnod).NUM
		  WRITE (*,13701)  csol,j,NOD(cnod).NUM
		  STOP
		END IF
C
		DO m=1,NOD(cnod).NINC
		  cinc=NOD(cnod).INC(m)
		  VT(capo,cinc)=SOL(csol).APO(j).DIR(1)*NOD(cnod).Gij(1,m)
	@				   +SOL(csol).APO(j).DIR(2)*NOD(cnod).Gij(2,m)
		END DO
C
		DO m=NOD(cnod).NINC+1,NOD(cnod).NINC+NOD(cnod).NBC
C
		  CDC=SOL(csol).APO(j).DIR(1)*NOD(cnod).Gij(1,m)
	@		 +SOL(csol).APO(j).DIR(2)*NOD(cnod).Gij(2,m)
C
		  IF(DABS(CDC).GT.TOL)THEN
			WRITE(F_W,13702) csol,NOD(cnod).NUM,NOD(cnod).CBC(1)
			WRITE (*,13702)  csol,NOD(cnod).NUM,NOD(cnod).CBC(1)
			STOP
		  END IF
C
		END DO
C
C
C		Proyeccion de los MSR (Vectores W)
C
C	    Bucle que recorre los nodos del solido
C
		DO k=1,SOL(csol).NNOD
C
		  cnod=SOL(csol).NOD(k)
C
		  SELECT CASE(SOL(csol).APO(j).TIP)
C			TRANSLACION
			CASE(1)
			  MSR(1)=SOL(csol).APO(j).MSR(1)
			  MSR(2)=SOL(csol).APO(j).MSR(2)
C			ROTACION
			CASE(2)
			  MSR(1)=NOD(cnod).XYZo(2)-SOL(csol).APO(j).MSR(2)
			  MSR(2)=SOL(csol).APO(j).MSR(1)-NOD(cnod).XYZo(1)
		  CASE DEFAULT
			WRITE(F_W,13700) 1
			WRITE (*,13700)  1
			STOP
		  END SELECT
C
		  DO m=1,NOD(cnod).NINC
			cinc=NOD(cnod).INC(m)
			W(cinc,capo)=MSR(1)*NOD(cnod).Gij(1,m)
	@					+MSR(2)*NOD(cnod).Gij(2,m)
		  END DO 
C
		  DO m=NOD(cnod).NINC+1,NOD(cnod).NINC+NOD(cnod).NBC
			CDC=MSR(1)*NOD(cnod).Gij(1,m)+MSR(2)*NOD(cnod).Gij(2,m)
C
			IF(DABS(CDC).GT.TOL)THEN
			  WRITE(F_W,13704) csol,NOD(cnod).NUM,j
			  WRITE (*,13704)  csol,NOD(cnod).NUM,j
			  STOP
			END IF
C
		  END DO 
C
C	    Fin bucle que recorre los nodos del solido
C
		END DO
C
C	  Fin bucle que recorre las ecuaciones de apoyo de cada solido
C
	  END DO
C
C	Fin bucle que recorre los solidos
C
	END DO
C
	PRB.NMSR=capo
C
C     FIN DE LA RUTINA 
C        
      RETURN
C
C     FORMATOS DE ESCRITURA. 
C
13700 FORMAT(/,2x,'ERROR 13700 - APOYO - Error programa (#',i1,'#).')
13701 FORMAT(/,2x,'ERROR 13701 - APOYO - Solido (',i2,'). Apoyo (',i1,
	@	   ').',/,'  El nodo especificado (',i4,
     @	   ') no pertenece al solido.')     
13702 FORMAT(/,2x,'ERROR 13702 - APOYO - Solido (',i4,'). Nodo (',i4,
	@	   ').',/,' Condicion de contorno (',i2,') no valida.')     
13703 FORMAT(/,2x,'ERROR 13703 - APOYO - Numero de incognitas',
	@	   /,' mayor de lo permitido (',i4,').')     
13704 FORMAT(/,2x,'WARNING 13704 - APOYO - Solido (',i4,'). Nodo (',i4,
	@	   ').',/,2x,'La condicion de contorno en el nodo no permite ',
     @	   'el movimiento como',/,2x,'solido rigido que se quiere ',
     @	   'impedir (',i1,').',/)     
C                  
      END
C<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">
	<head>
            <title>e-REdING. Biblioteca de la Escuela Superior de Ingenieros de Sevilla.</title>

                <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="description" content="Buscador de proyectos ETSI" />
<meta name="author" content="Daniel Callejo"/>
<meta name="author" content="Federico L&oacute;pez"/>
<meta name="author" content="Juli&aacute;n P&eacute;rez"/>
<meta name="author" content="Jos&eacute; Mar&iacute;a Vidal Vidal"/>
<base href="/bibing/proyectos/" /><link rel="shortcut icon" href="./favicon.ico" />
<link rel="stylesheet" href="./publico/css/estructura.css" type="text/css" />
<link rel="stylesheet" href="./publico/css/bootstrap.css" type="text/css" media="screen"/>
<link rel="stylesheet" href="./publico/css/enlaces-capas.css" type="text/css"  />
<link rel="stylesheet" href="./publico/css/pestanas.css" type="text/css"  /> 
<link rel="stylesheet" href="./publico/css/formularios.css" type="text/css" />
<link rel="stylesheet" href="./publico/css/lightbox.css" type="text/css"  />
<link rel="stylesheet" href="./publico/css/autocompleter.css" type="text/css"  />
<link rel="stylesheet" href="./publico/css/resultados.css" type="text/css"  />
<link rel="stylesheet" href="./publico/css/milista.css" type="text/css"  />
<link rel="stylesheet" href="./publico/css/explorador.css" type="text/css"  />
<link rel="stylesheet" href="./publico/css/ultimos.css" type="text/css"  />
<link rel="stylesheet" href="./publico/css/contactar.css" type="text/css"  />
<!-- <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> -->
<script src="./publico/javascript/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="./publico/javascript/bootstrap.js" type="text/javascript"></script>

<script src="./publico/javascript/mootools-1.2.4-core.js" type="text/javascript"></script>
<script src="./publico/javascript/mootools-1-1.2.4.2-more.js" type="text/javascript"></script>
<script src="./publico/javascript/targetbl.js" type="text/javascript"></script>
<script src="./publico/javascript/mensajes.js" type="text/javascript"></script>
<script src="./publico/javascript/form.js" type="text/javascript"></script>
<script src="./publico/javascript/autocompleter/Observer.js" type="text/javascript"></script>
<script src="./publico/javascript/autocompleter/Autocompleter.js" type="text/javascript"></script>
<script src="./publico/javascript/autocompleter/Autocompleter.Request.js" type="text/javascript"></script>
<script src="./publico/javascript/domready.js" type="text/javascript"></script>

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-8T1TSNC1QY"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-8T1TSNC1QY');
</script>



<script type="text/javascript">
function seleccionar_todo(){
   for (i=0;i<document.formulario_marcados.elements.length;i++)
      if(document.formulario_marcados.elements[i].type == "checkbox")
         document.formulario_marcados.elements[i].checked=1
}
function deseleccionar_todo(){
   for (i=0;i<document.formulario_marcados.elements.length;i++)
      if(document.formulario_marcados.elements[i].type == "checkbox")
         document.formulario_marcados.elements[i].checked=0
} 
</script>
	</head>
    <body style="min-width: 960px; background-color: #e2e2e2; height: 100%">	
		<a name="arriba"></a>
<div>
<div id="header">
    <table id="Tabla_01" height="105" border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td>
            <img src="./publico/imagenes/cabecera/banner_new2_01.jpg" width="3" height="105" alt="">
        </td>
        <td>
            <img src="./publico/imagenes/cabecera/banner_new2_02.jpg" width="100" height="105" alt="">
        </td>
        <td width="100%" align="right"  style="min-width: 613px; background-repeat: no-repeat; background-position: top right; font-size: medium; font-weight: bold; color: white;">
            <table width="100%" height="105" border="0">
                <tr>
                    <td style=" vertical-align: top; width: 547px">
                        <!-- <a style="text-decoration: none" href="./"><img src="./publico/imagenes/cabecera/banner_new2_03.jpg"alt=""></a> -->
                        <a style="text-decoration: none" href="/bibing/proyectos/"><img src="./publico/imagenes/cabecera/banner_new2_03.jpg"alt=""></a>
                     </td>
                     <td  background="./publico/imagenes/cabecera/banner_new2_04.jpg" style="background-repeat: no-repeat; background-color: #c6d4e8;"><br><br><br>
                         &nbsp;
                        </td>
                    </tr>
             </table>
        </td>
    </tr>
    <tr style="border-top: 1px solid #ffffff;">
        <td colspan="3" id="menu_sup" style="font-size: small; text-align: right; background-color: #9c1f2f; vertical-align: bottom">
             
					<a href="/bibing/proyectos/" class="enlace " style=" color: #ffffff">Inicio&nbsp;&nbsp;|</a>
					<a href="/bibing/proyectos/acerca/" style=" color: #ffffff" class="enlace ">&nbsp;&nbsp;Acerca de&nbsp;&nbsp;|</a>
					
					<a href="/bibing/proyectos/contactar/" style=" color: #ffffff" class="enlace ">&nbsp;&nbsp;Contactar&nbsp;&nbsp;</a>
			 <!--       <a href="/bibing/proyectos/ayuda/" style=" color: #ffffff" class="enlace  ">&nbsp;&nbsp;Ayuda&nbsp;&nbsp;|</a> -->
					<!-- <form id="idioma" class=""  method="post" action="">
					<div class="inline" style="color: white">
					<input type="submit" class="tipo_letra " style=" color: #ffffff"name="idioma" value="Castellanossss" />&nbsp;&nbsp;
					</div>	
					</form> -->
			        </td>

    </tr>
    </table>
</div>
<br><br>
<div class="colmask rightmenu">
<div class="panel panel-default" style="margin:20px">
            <div class="panel-heading"><h4>ANÁLISIS DEL PROBLEMA TERMOELÁSTICO DE CONTACTO MEDIANTE EL MÉTODO DE LOS ELEMENTOS DE CONTORNO CON MALLAS CONFORMES Y NO CONFORMES</h4><h5 style="color:grey"><span class="glyphicon glyphicon-user""></span> : <b>MORALES SIERRA, DIÓGENES</b><br><span class="glyphicon glyphicon-book""></span>  :<b> Ingenier&iacute;a Industrial</b></h5></div><div class="panel-body"><div class="contenido_proyecto"><div class="titulo2_explorador">Contenido del proyecto:</div><div class="ruta"><a href="abreproy/4093">Directorio ra&iacute;z</a>&nbsp;&nbsp;>&nbsp;&nbsp;<a href="abreproy/4093/direccion/RUTINAS%252F">RUTINAS</a>&nbsp;&nbsp;>&nbsp;&nbsp;<a href="abreproy/4093/direccion/RUTINAS%252F07-Apy.for%252F">07-Apy.for</a></div><div class="listing"></div></div></div></div>
</div>
</div>

        
	</body>
 
 
<!-- Inicio Google Analytics -->
<!--
	<script type="text/javascript">
		var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
		document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
	</script>
	
	<script type="text/javascript">
		try {
		var pageTracker = _gat._getTracker("UA-7789620-1");
		pageTracker._trackPageview();
	} 
		catch(err) {}
	</script>
-->
<!-- Fin Google Analytics -->

</html>

