Main Content

Configurar solvers para modelos físicos

Acerca de los solvers de Simulink y Simscape

Esta sección explica cómo seleccionar solvers para simulación física. Una simulación adecuada de modelos de Simscape™ requiere determinados cambios a los valores predeterminados de Simulink® y tomar en consideración los tradeoffs de la simulación física. Para ver opciones recomendadas, consulte Making Optimal Solver Choices for Physical Simulation.

Seleccionar solvers de Simulink y Simscape

Las tecnologías de solver de Simulink y Simscape proporcionan una amplia gama de herramientas para simular sistemas físicos, incluyendo la potente técnica de Simscape de solvers locales. Puede seleccionar solvers globales o en todo el modelo utilizando Simulink. Después de seleccionar estas opciones, asegúrese de que sean consistentes; consulte Armonizar solvers de Simulink y Simscape.

Trabajar con solvers globales de Simulink

En el cuadro de diálogo Configuration Parameters del modelo, en el panel Solver, los parámetros de configuración de solvers son opciones globales. Para obtener más información, consulte Solver Selection Criteria.

La primera vez que crea un modelo, el solver predeterminado de Simulink es VariableStepAuto. Para obtener más información, consulte Choose a Solver. Para seleccionar un solver diferente, siga un procedimiento similar al que aparece en Modificar la configuración inicial.

  • Puede elegir entre un conjunto de solvers de paso variable y de paso fijo.

  • También puede seleccionar solvers explícitos e implícitos. Para modelos físicos, se recomienda utilizar solvers implícitos, como daessc, ode23t y ode15s. Los solvers implícitos requieren menos unidades de tiempo que los solvers explícitos, como ode45, ode113 y ode1.

    Consulte Cambiar el solver explícito predeterminado por otros solvers de Simulink.

  • Si todos los estados de Simulink y Simscape del modelo son discretos, Simulink cambia automáticamente a un solver discreto y se genera una advertencia. De lo contrario, la opción predeterminada es un solver continuo.

  • De forma predeterminada, los solvers de paso variable de Simulink intentan localizar eventos en el tiempo mediante detección de cruces por cero. Consulte Managing Zero Crossings in Simscape Models.

Trabajar con solvers locales de Simscape

Puede cambiar una o varias redes físicas a un solver local implícito de paso fijo de Simscape seleccionando Use local solver en el bloque Solver Configuration de la red. El solver y su configuración establecida en cada bloque Solver Configuration son específicos para la red física conectada y pueden diferir de otras redes.

El solver global de Simulink interpreta una red física que utiliza un solver local como si tuviera estados discretos. Aún así, puede utilizar cualquier solver global continuo.

Seleccionar solvers locales y tiempos de muestreo.  Para utilizar un solver local, elija un tipo de solver (Backward Euler, Trapezoidal Rule o Partitioning) y un tiempo de muestreo. Backward Euler es la opción predeterminada.

Seleccionar una simulación de coste fijo.  Puede seleccionar una simulación de coste fijo para una o más redes físicas seleccionando Use fixed-cost runtime consistency iterations, así como Use local solver, y corrigiendo el número de iteraciones no lineales y de modo. Para obtener más información, consulte Simulación de coste fijo.

Seleccionar una simulación multitasa.  Con la opción de solver local puede realizar simulaciones multitasa con:

  • Diferentes tiempos de muestreo en distintas redes físicas a través de sus respectivos bloques Solver Configuration

  • Un bloque de Simulink basado en muestreo del modelo con un tiempo de muestreo diferente al del bloque o bloques Solver Configuration

Armonizar solvers de Simulink y Simscape

Los solvers de Simulink y Simscape que seleccione deben funcionar de forma consistente entre sí. Para garantizar la consistencia de los solver de Simulink y Simscape para un modelo particular, abra el cuadro de diálogo Configuration Parameters del modelo. En la ventana del modelo, abra la pestaña Modeling y haga clic en Model Settings. Revise y ajuste la siguiente configuración.

Panel de Simscape del cuadro de diálogo Configuration Parameters

Cambiar el solver explícito predeterminado por otros solvers de Simulink

La primera vez que crea un modelo, el solver predeterminado de Simulink es VariableStepAuto. Auto solver elige un solver adecuado como se describe en Choose a Solver y, para algunos tipos de modelos, puede elegir un solver explícito, ode45. Si no modifica el solver predeterminado (explícito), es posible que su rendimiento no sea óptimo. Los solvers implícitos son mejores para la mayoría de las simulaciones físicas. Para obtener más información sobre solvers implícitos y sistemas físicos, consulte Important Concepts and Choices in Physical Simulation.

Mensajes de diagnóstico sobre solvers explícitos.  Cuando utiliza un solver explícito en un modelo que contiene bloques de Simscape, el sistema genera una advertencia sobre un posible problema.

Para desactivar esta advertencia predeterminada o cambiarla por un mensaje de error, vaya al panel de Simscape del cuadro de diálogo Configuration Parameters:

  1. En la lista desplegable Explicit solver used in model containing Physical Networks blocks, seleccione la opción que desee:

    • warning: si el modelo utiliza un solver explícito, el sistema genera una advertencia cuando se realiza la simulación. Esta es la opción predeterminada que avisa sobre un posible problema si utiliza el solver predeterminado.

    • error: si el modelo utiliza un solver explícito, el sistema genera un mensaje de error cuando se realiza la simulación. Si el modelo es rígido y no desea utilizar solvers explícitos, seleccione esta opción para evitar futuros errores.

    • none: si el modelo utiliza un solver explícito, el sistema no genera ninguna advertencia ni mensaje de error cuando se realiza la simulación. Si desea trabajar con solvers explícitos, en particular para modelos que no sean rígidos, seleccione esta opción.

  2. Haga clic en OK.

Activar o desactivar la detección de cruces por cero de Simulink

De forma predeterminada, Simulink realiza el seguimiento de una clase importante de eventos de simulación detectando cruces por cero. Con un solver global de paso variable y sin solver local, Simulink intenta localizar los tiempos simulados de cruces por cero, si existen. Consulte Managing Zero Crossings in Simscape Models.

Mensajes de diagnóstico sobre la desactivación global de la detección de cruces por cero.  Puede desactivar de forma global la detección de cruces por cero en el panel Solver del cuadro de diálogo Configuration Parameters, en Zero-crossing options. Si lo hace y está utilizando un solver global de paso variable sin un solver local, el sistema genera una advertencia o un error cuando realiza la simulación con bloques de Simscape.

Puede elegir entre mensajes de advertencia o de error en el panel de Simscape del cuadro de diálogo Configuration Parameters.

  1. En la lista desplegable Zero-crossing control is globally disabled in Simulink, seleccione la opción que desee si desactiva de forma global la detección de cruces por cero:

    • warning: el sistema genera un mensaje de advertencia cuando se realiza la simulación. Esta es la opción predeterminada.

    • error: el sistema genera un mensaje de error cuando se realiza la simulación y esta se detiene.

  2. Haga clic en OK.

Hacer que la simulación multitasa sea consistente

El tiempo de muestreo o el tamaño de paso del solver global de Simulink debe ser la unidad de tiempo más pequeña de todos los solvers de una simulación multitasa de Simscape.

Para evitar errores de simulación en la propagación de tiempo de muestreo, vaya al panel Solver del cuadro de diálogo Configuration Parameters y seleccione la casilla Automatically handle rate transition for data transfer.