You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
memb_analisis_2d3d/Codigo2D_Coefs.py

51 lines
1.3 KiB

'''
Calculo de bending y stretching sobre datos en una circunferencia (se asume equiespaciamiento angular)
Ultima Fecha Modificacion: 30/03/25
'''
# %% LIBRERIAS
import numpy as np
import matplotlib.pyplot as plt
import Codigo2D_Base as c7
import Codigo2D_AjusteHelfrich as c8
# %% FUNCION TEORICA
kb = 1.380649*10**-23
T = 300
kbT = kb*T
valor = 10*kbT # este es el valor que deberia tener el bending
def fx(x,stretch,bend):
y = kbT*(0.5/stretch)*((1/x) - (stretch/bend + x**2)**(-0.5))
return y
# %% CODIGO
def calculatecoefs(MSph, nmin, nmax):
'''
Se utiliza el metodo de trapecios
'''
qx,u = c7.f2(MSph,21,positive = "Yes") # TODOS LOS COEFICIENTES (U) del 1 al 20
'''
El bending solo se calcula para ciertos modos
'''
qxnew = qx[nmin:nmax]
unew = u[nmin:nmax]
bend,stretch = c8.aproxHelfrich(qxnew,unew)
qxcont = np.linspace(qxnew[0],qxnew[-1],100) # limites coinciden con qx, pero Y no tiene porque es un ajuste no hay restriccion
Ycont = fx(qxcont,stretch,bend) # Al representar sera en el eje x: qxnew y en el y: Y
print("----------------")
print(f"Para modos entre {nmin+1} y {nmax+1} se obtiene:")
print("Bending (en uds kbT): ",bend/kbT)
print("Stretching [N/m]: ",stretch)
return qx,u,qxcont,Ycont,bend,stretch