mnspy 0.9.13__py3-none-any.whl → 0.9.15__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -115,7 +115,7 @@ class RungeKutta(EcuacionesDiferencialesOrdinarias):
115
115
  print('Nombre de método no valido')
116
116
  quit()
117
117
  else:
118
- self._metodo = 'orden = ' + str(self._orden)
118
+ self._metodo = 'orden = ' + str(self.orden)
119
119
  self._calcular()
120
120
 
121
121
  def _calcular(self):
@@ -708,8 +708,8 @@ class Marco(Elemento):
708
708
  return lista_x, lista_m, lista_p
709
709
 
710
710
  def _obtener_arrays_angulos(self, n_puntos: int = 100):
711
- x = sp.symbols('x', real=True)
712
- f = self.ecuacion_de_giro() #TODO: Check
711
+ x = sp.symbols('x')
712
+ f = self.ecuacion_de_giro()
713
713
  x_1 = 0.0
714
714
  x_2 = self._L
715
715
  lista_x = np.linspace(x_1, x_2, n_puntos)
@@ -1054,12 +1054,11 @@ class Marco(Elemento):
1054
1054
  else:
1055
1055
  desplazamiento = np.hstack((desplazamiento, d_i))
1056
1056
  b = np.array(desplazamiento).reshape(-1, 1)
1057
-
1058
- # NOTA: La lógica original contenía un cálculo especial para la rotación en
1059
- # la rótula, pero fue eliminada por ser conceptualmente
1060
- # incorrecta en este contexto, ya que los desplazamientos deben ser
1061
- # resueltos por el sistema global, no recalculados aquí.
1062
-
1057
+ # Si hay una rotula en el nodo derecho, se ajusta el ángulo
1058
+ if self._nodo_j.es_rotula:
1059
+ b[5] = (self._fuerzas_j[2] * self._L / self._E - np.matmul(np.array(
1060
+ [[- 6 * self._I * self._s / self._L, 6 * self._I * self._c / self._L, 2 * self._I,
1061
+ 6 * self._I * self._s / self._L, -6 * self._I * self._c / self._L]]), b[0:5, ])) / 4 / self._I
1063
1062
  return b
1064
1063
 
1065
1064
  def mostrar_sistema(self, reducida: bool = False):
@@ -720,11 +720,10 @@ class Viga(Elemento):
720
720
  else:
721
721
  desplazamiento = np.hstack((desplazamiento, d_i))
722
722
  b = np.array(desplazamiento).reshape(-1, 1)
723
-
724
- # NOTA: La lógica original contenía un cálculo especial para la rotación en
725
- # la rótula, pero fue eliminada por ser conceptualmente
726
- # incorrecta. Los desplazamientos nodales son resueltos por el
727
- # sistema global y esta función solo debe recolectarlos.
723
+ # Si hay una rotula en el nodo derecho, se ajusta el ángulo
724
+ if self._nodo_j.es_rotula:
725
+ b[3] = (self._fuerzas_j[1] * self._L ** 3 / self._E / self._I - np.matmul(np.array(
726
+ [[6 * self._L, 2 * self._L ** 2, - 6 * self._L]]), b[0:3, ])) / 4 / self._L ** 2
728
727
  return b
729
728
 
730
729
  def __obtener_path_elemento(self, espesor: float) -> Path:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mnspy
3
- Version: 0.9.13
3
+ Version: 0.9.15
4
4
  Summary: Paquete didáctico para métodos numéricos
5
5
  Home-page: https://github.com/EdwinSoft/mnspy
6
6
  Author: Edwin Córdoba
@@ -18,7 +18,7 @@ mnspy/ecuaciones_diferenciales_ordinarias/ecuaciones_diferenciales_ordinarias.py
18
18
  mnspy/ecuaciones_diferenciales_ordinarias/euler.py,sha256=bSSmc7Dv9KY76LchsEgQGJ4JnbqipqaBY58K23kT0UI,3736
19
19
  mnspy/ecuaciones_diferenciales_ordinarias/heun.py,sha256=7TeM-lF_6aQVjOUTqDxrWMPb0HvwjOdICHrxGkIGVGk,5220
20
20
  mnspy/ecuaciones_diferenciales_ordinarias/punto_medio.py,sha256=aWoV1SS7zhEqALAO7gWDsfezrd2c5QUKV1FKnLyy-Kg,4002
21
- mnspy/ecuaciones_diferenciales_ordinarias/runge_kutta.py,sha256=DBvSmxp4di7hBJyNUvjnrU2ymC1W_e1Y7jBxq2m-0Ek,7965
21
+ mnspy/ecuaciones_diferenciales_ordinarias/runge_kutta.py,sha256=TAmuwB8mhyLglLVrqx7IV8_CKtxJ4Neh6_TcqeNpfq4,7964
22
22
  mnspy/ecuaciones_diferenciales_parciales/__init__.py,sha256=557-ls9HerVKD_2VVlErLXsfb9kj2c1ucFK5DN9ca-s,1292
23
23
  mnspy/ecuaciones_diferenciales_parciales/ecuaciones_diferenciales_parciales.py,sha256=YYUYm6TdS275C_uRpwVClzd2_V_XjPvSsi3tC4VFsRw,6936
24
24
  mnspy/ecuaciones_diferenciales_parciales/liebmann.py,sha256=AQSCursvDej9GW0k3i-3Gm8yB6Ko307mjST-S8ezjcc,7436
@@ -28,11 +28,11 @@ mnspy/ecuaciones_diferenciales_parciales/mef/__init__.py,sha256=-ZqVb1Pn4CGcUKL5
28
28
  mnspy/ecuaciones_diferenciales_parciales/mef/armadura.py,sha256=J0Og6NCSBLcwZCsb2_tzPdZAnUfLiSO-BZ82b86GC7Q,14761
29
29
  mnspy/ecuaciones_diferenciales_parciales/mef/barra.py,sha256=FB8dVdtRSMRAQYCjYgC8_yO8nShk8_uDBt5meHrAz9c,9867
30
30
  mnspy/ecuaciones_diferenciales_parciales/mef/ensamble.py,sha256=U6OrhxMubrmnIKkXyfTdM9UoQcAunTqRUcfxMGWtx30,105934
31
- mnspy/ecuaciones_diferenciales_parciales/mef/marco.py,sha256=RinUjwDG5rNH7E0K649zCi6x1k2IQ8yZqtQcZeIroaI,68983
31
+ mnspy/ecuaciones_diferenciales_parciales/mef/marco.py,sha256=60KMFmHB3fKd-W3Zdz4uZAQU42cYO_gV_0FzHjc1CcE,69041
32
32
  mnspy/ecuaciones_diferenciales_parciales/mef/mef.py,sha256=SotSyqCblPRwcnzr1j0srKA60hKuPIzIWTjXSZu3nhw,43812
33
33
  mnspy/ecuaciones_diferenciales_parciales/mef/resorte.py,sha256=Jeq9bQjLfmIW0jkNA-ob6C27k5JGywZ1T9qLr4hMD0Q,13852
34
34
  mnspy/ecuaciones_diferenciales_parciales/mef/triangular_cst.py,sha256=nWK1uv9F9wpE_eelfhm1LyDiW7aMnckKf0mIcuhiY7U,12094
35
- mnspy/ecuaciones_diferenciales_parciales/mef/viga.py,sha256=zXRcs7oT5NEASf8y624rrXt7CZZdoS44Z-tYyZIZy4o,41511
35
+ mnspy/ecuaciones_diferenciales_parciales/mef/viga.py,sha256=-ys-041bJ0fSKrZ-cjyzfRzASMCCkTsSrw4145Mmo7c,41499
36
36
  mnspy/ecuaciones_diferenciales_parciales/mvf/__init__.py,sha256=TDanegLPvu7-F5UYKEFdDXhXUeptbYDzPcD7N3Ozd8s,1369
37
37
  mnspy/ecuaciones_diferenciales_parciales/mvf/mvf.py,sha256=nthYy1DeRYHEi3E_yX4GeEbAhZAdJAkZJzPEWwjkpfg,30053
38
38
  mnspy/ecuaciones_diferenciales_parciales/mvf/volumen_finito.py,sha256=cjIenv-mMDhfPXj0uL24G0Sm9WexWAane3ni8GXvoPc,32334
@@ -63,8 +63,8 @@ mnspy/raíces/raices.py,sha256=lTjSOk84sg1VdlElmHaZSRen00zpt0jNrnFBx_SStnU,17510
63
63
  mnspy/raíces/secante.py,sha256=t8-NcN-Ki8BYrh3Cf3VUjaaRLxz6qV1v5i8johKBlZs,5220
64
64
  mnspy/raíces/secante_modificada.py,sha256=0bLgcG8K_O6Ras3vKBIQpUdDlB69tWKHbx_fE8-47SE,5105
65
65
  mnspy/raíces/wegstein.py,sha256=23HQ6QuelMNo8S8W1fzha8ozbcy_NdsjK5XLMaH-m38,5397
66
- mnspy-0.9.13.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
67
- mnspy-0.9.13.dist-info/METADATA,sha256=AYmkYS2MuQYDR_FuOnOS93OKvhDXZwmg0S8q5oxFV9M,4641
68
- mnspy-0.9.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
69
- mnspy-0.9.13.dist-info/top_level.txt,sha256=fbooZdZwS41I8vFuAXnn5qL4_mfc1aPt_DM60ZpvtKE,6
70
- mnspy-0.9.13.dist-info/RECORD,,
66
+ mnspy-0.9.15.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
67
+ mnspy-0.9.15.dist-info/METADATA,sha256=PiLUJ3EW2mycuVYMxCmqOPok950hd2SUNq5KHnWota8,4641
68
+ mnspy-0.9.15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
69
+ mnspy-0.9.15.dist-info/top_level.txt,sha256=fbooZdZwS41I8vFuAXnn5qL4_mfc1aPt_DM60ZpvtKE,6
70
+ mnspy-0.9.15.dist-info/RECORD,,
File without changes