Wolfram MEF | Ejemplos a probar

Edite y ejecute cualquier pieza de código haciendo clic dentro del código y presionando
+
.
Método de los elementos finitos. Desde principiantes hasta expertos, Wolfram MEF captura el comportamiento de su diseño proporcionando modelos de ecuaciones diferenciales parciales de multifísica, solucionadores y funciones de postprocesamiento sin interrupciones, completamente integrados con capacidades avanzadas para geometría y visualización.

Dinámica de fluidos

Establezca una ecuación de Navier–Stokes con un número simbólico de Reynolds ℛℯ, velocidades de fluido
u
y
v
y presión
p
:
Ejecutar
In[]:=
vars={{u[x,y],v[x,y],p[x,y]},{x,y}};​​pars=<|"ReynoldsNumber"->ℛℯ|>;
Cree una geometría con un agujero en el medio:
Ejecutar
In[]:=
Ω=RegionDifference[Rectangle[],Disk[{1/2,1/2},1/5]];
Defina la EDP y condiciones de frontera:
Ejecutar
In[]:=
pde=FluidFlowPDEComponent[vars,pars]=={0,0,0};​​bcs={DirichletCondition[{u[x,y]1,v[x,y]0},y1],DirichletCondition[{u[x,y]0,v[x,y]0},y<1],DirichletCondition[p[x,y]0,x0&&y0]};
Cree un solucionador de Navier–Stokes que dependa del parámetro ℛℯ:
Ejecutar
In[]:=
navierStokesSolver=ParametricNDSolveValue[{pde,bcs},{u[x,y],v[x,y],p[x,y]},{x,y}∈Ω,ℛℯ,Method{"FiniteElement","InterpolationOrder"{u2,v2,p1}}];
Resuelva la ecuación de Navier–Stokes para un número de Reynolds ℛℯ=100:
Ejecutar
In[]:=
{xVelocity,yVelocity,pressure}=navierStokesSolver[100];
Cree una representación de flujo de las velocidades de fluido:
Ejecutar
In[]:=
StreamPlot[{xVelocity,yVelocity},{x,y}∈Ω]

Más ejemplos a probar

◼
  • Use un número de Reynolds, ℛℯ, igual a 1000 (Este método debería converger bien hasta aproximadamente 5000).
  • ◼
  • Cambie la geometría moviendo el agujero en la región de solución.
  • ◼
  • Agregue un segundo parámetro para cambiar la velocidad de flujo en la condición de frontera superior.
  • Siguientes pasos

    Explore los modelos y monografías de aplicación de dinámica de fluidos o la página de referencia FluidFlowPDEComponent.

    Transferencia de calor y transporte de masa acoplados

    Los modelos multifísicos combinan distintos aspectos del mismo sistema físico en un solo modelo acoplado. Por ejemplo, una reacción química dependiente de la temperatura y concentración:
    heattransfermodel
    ︷
    ∂T(t,x)
    ∂t
    +∇·(-k∇T(t,x))-Q
    =
    0
    masstransportmodel
    ︷
    ∂c(t,x)
    ∂t
    +∇·(-d∇c(t,x))-R
    =
    0
    Resuelva un modelo acoplado de transferencia de calor y transporte de masa en el intervalo
    x∈[0,1]
    .
    Establezca las variables del modelo de transferencia de calor y transporte de masa temperatura
    T
    , concentración
    c
    y tiempo
    t
    :
    Ejecutar
    In[]:=
    hvars={T[t,x],t,{x}};​​mvars={c[t,x],t,{x}};
    Especifique parámetros de modelo con conductividad térmica
    k
    , difusividad de masa
    d
    , fuente de calor
    Q
    y fuente de masa
    R
    que acopla temperatura y concentración:
    Ejecutar
    In[]:=
    pars=<|"ThermalConductivity"0.01,"DiffusionCoefficient"0.01,"HeatSource"0.2*R,"MassSource"R,R->-10^-3*T[t,x]*c[t,x]|>;
    Establezca las EDP acopladas y condiciones iniciales:
    Ejecutar
    In[]:=
    pdes={HeatTransferPDEComponent[hvars,pars]0,MassTransportPDEComponent[mvars,pars]0};​​ics={T[0,x]200+800x,c[0,x]800};
    Resuelva el modelo:
    Ejecutar
    In[]:=
    {Tfun,cfun}=NDSolveValue[{pdes,ics},{T,c},{t,0,10},{x}∈Line[{{0},{1}}]];
    Explore cómo la solución evoluciona con el tiempo:
    Ejecutar
    In[]:=
    ManipulatePlot{cfun[t,x],Tfun[t,x]},{x}∈Line[{{0},{1}}],
    ,{{t,1.3},0,10},
    

    Más ejemplos a probar

    ◼
  • Modifique las condiciones iniciales o el parámetro R.
  • ◼
  • Establezca, resuelva y visualice el problema en dos dimensiones espaciales.
  • Siguientes pasos

    Explore los modelos y monografías de transferencia de calor,
    los modelos y monografías de transporte de masa o las páginas de referencia HeatTransferPDEComponent o MassTransportPDEComponent.

    Mecánica cu\bántica

    Establezca un problema unidimensional dependiente del tiempo con un potencial armónico:E
    Ejecutar
    In[]:=
    vars={Ψ[t,x],t,{x}};​​pars=<|"ReducedPlanckConstant"->1,"SchrodingerPotential"->
    2
    x
    2
    |>;
    Defina la EDP, con un estado coherente como condición inicial:
    Ejecutar
    In[]:=
    pde=SchrodingerPDEComponent[vars,pars]==0;​​ic=Ψ[0,x]==
    1
    4
    1
    π
    -
    2
    (x-1)
    2
    
    ;
    Resuelva el modelo resultante:
    Ejecutar
    In[]:=
    solution=NDSolveValue[{pde,ic},Ψ,{t,0,20},{x,-4,4}]
    Visualice el estado coherente oscilando entre los puntos de retorno clásicos:
    Ejecutar
    In[]:=
    AnimatePlot
    2
    Norm[solution[t,x]]
    ,
    2
    x
    2
    ,{x,-4,4},
    ,{t,0,20},
    

    Más ejemplos a probar

    ◼
  • Cambie el potencial y estado inicial para estudiar un problema de dispersión.
  • ◼
  • Calcule funciones propias de un hamiltoniano independiente del tiempo.
  • ◼
  • Modele un sistema cuántico en dos o tres dimensiones espaciales.
  • Siguientes pasos

    Explore los modelos y monografías de aplicaciones de física o la página de referencia SchrodingerPDEComponent.