Exemple #1
0
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),
Exemple #2
0
    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 ----------------------------------