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 ----------------------------------
# # Datos del problema # longitud_x = 1.0 # meters longitud_y = 2.0 TL = 0 # °C TR = 0 # °C TB = 0 # °C TT = 1 # °C k = 1 # W/m.K 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
par_contour = {'cmap':'cool', 'levels':20} # # Datos del problema # longitud_x = 1.0 # meters longitud_y = 1.0 k = 0.01 #0.001 # W/m.K Nx = 41 # Número de nodos 81 x 81 Ny = 41 dt = 0.0001 Tmax = 400 # 3000 # # Definición del dominio y condiciones de frontera # placa = Rectangle(longitud_x, longitud_y) placa.boundaryConditions(dirichlet = {'LEFT':-0.0, 'RIGHT':0.0}, neumman ={'BOTTOM':0, 'TOP':0}) # # 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 xv, yv, _ = malla.coordinatesMeshFVM() xd, yd, _ = malla.coordinatesMeshFDM()