Nx = 11 # Número de nodos Ny = 21 # # Definición del dominio y condiciones de frontera # placa = Rectangle(longitud_x, longitud_y) placa.boundaryConditions(dirichlet={ 'LEFT': TL, 'RIGHT': TR, 'BOTTOM': TB, 'TOP': TT }) # # Creamos la malla y obtenemos datos importantes # malla = placa.constructMesh(Nx, Ny) ivx, ivy, _ = malla.bounds(bi=1, ei=Nx - 1, bj=1, ej=Ny - 1) nx = malla.nx # Número de nodos ny = malla.ny # Número de nodos nvx = malla.vx # Número de volúmenes nvy = malla.vy # Número de volúmenes dx = malla.dx # Tamaño de los volúmenes dy = malla.dy # Tamaño de los volúmenes # # Imprimimos los datos del problema (nicely) # printInfo(Longitud_x=longitud_x, Longitud_y=longitud_y, TL_TR_TT_TB=(TL, TR, TT, TB), Conductividad=k, Nodos=(nx, ny),
from geo.line import Line from geo.rectangle import Rectangle N = 6 # Nodos barra = Line(1.0) malla = barra.constructMesh(N) ivx, _, _ = malla.bounds(bi = 1, ei = N-1) su = np.ones(ivx) laplace = sDiffusion1D(malla, su) laplace.Gamma = 2.0 printInfo(Descr = 'Testing Diffusion1D', dx = laplace.dx, vx = malla.vx) print(laplace.calc(3)) print(laplace.source(su)) cuadro = Rectangle(1,1) malla2 = cuadro.constructMesh(N,N) ivx, ivy, _ = malla2.bounds(bi = 1, ei = N-1, bj = 1, ej = N-1) su = np.ones((ivy, ivx)) laplace2 = sDiffusion2D(malla2, su) printInfo(Descr = 'Testing Diffusion2D', dx = laplace2.dx, dy = laplace2.dy, vx = malla.vx, vy = malla.vy) print(laplace2.calc(3,4)) print(laplace2.source(su)) #----------------------- TEST OF THE MODULE ----------------------------------