Propiedad_izquierda = phi_0,
              Propiedad_derecha = phi_L,
              Conductividad = gamma,
              Densidad = rho,
              Velocidad = u,
              Nodos = N, 
              Volúmenes = nvx,
              Delta = dx, 
              Paso_de_Tiempo = dt,
              Tiempo_Máximo = tmax)
#----------------------------------------------------------------------------------------
                               #Object instances
#----------------------------------------------------------------------------------------

df1 = fvm.Diffusion1D(nvx, Gamma = gamma, dx = dx)     #Difussion Object
da1 = fvm.Advection1DCDS(nvx, rho = rho, dx = dx)    #Advection Object
dt1 = fvm.Temporal1DBackEuler(nvx,rho,dx,dt)           #Time Object

#----------------------------------------------------------------------------------------
                    #Time Advective-Diffusive coefficients allocation
#----------------------------------------------------------------------------------------
coef = fvm.Coefficients()       # Coefficients alias
coef.alloc(nvx)                 # Memory allocation

ux = np.zeros(nvx)              # Velocity vector allocation
ux += u                         # Velocity vectorization

#----------------------------------------------------------------------------------------
                    #Border conditions definition
#----------------------------------------------------------------------------------------
              Volúmenes=nvx,
              Delta=delta)

#----------------------------------------------------------------------------------------
#Velocity allocation and vectorization
#----------------------------------------------------------------------------------------

ux = np.zeros(nvx - 1)  # Domain velocity definition (used in costructor)
ux += u

#----------------------------------------------------------------------------------------
#Object instances
#----------------------------------------------------------------------------------------

df1 = fvm.Diffusion1D(nvx, Gamma=gamma, dx=delta)
da1 = fvm.Advection1DCDS(nvx, rho=rho, dx=delta, u=ux)

#----------------------------------------------------------------------------------------
#Advective-Diffusive coefficients allocation
#----------------------------------------------------------------------------------------

Coefficients.alloc(nvx)  # Memory allocation
df1.calcCoef()  # Diffusice coefficients calculation
da1.calcCoef()  # Advective coefficients calculation

#----------------------------------------------------------------------------------------
#Border conditions definition
#----------------------------------------------------------------------------------------

Sol = np.zeros(nvx)  # Initial array with zeroes
Sol[0] = phi_0  # Left border condition (Dirichlet)