Tuesday, January 14, 2025

Simplifying Complex Simulation Models with Hierarchy

In the world of simulation modeling, it’s not uncommon to encounter models with thousands of blocks. This complexity can make it challenging to understand what is happening within the model. Fortunately, hierarchy offers a powerful solution to this problem.

Imagine you’re building a model in ExtendSim. Your model grows as you add more complexity and starts to look like a spaghetti model. What if you could combine some of those blocks into a single, higher-level construct that represents a specific part of your process? And then, take several of those new constructs and combine them into an even higher-level construct creating many subsystems or submodels? This is the magic of ExtendSim’s hierarchical capability.

Your model isn’t just a flat, one-dimensional diagram. Instead, it’s displayed in layers, allowing you to drill down from the highest system level to the smallest detail.

Now, why would you want to use hierarchical blocks? Here are a few reasons:

  1. Simplify Complexity: By grouping areas of the model into hierarchical blocks, you can simplify and organize a complex model.

  2. Logical Presentation: Instead of showing all the details at once, you can present a model as a few simple, logical steps. To reveal the subsystems within a step, just double-click the hierarchical block.

  3. Productivity and Comprehension: Create a hierarchical block that visually represents a process element. Save it in an ExtendSim library for reuse in other models.

  4. Structured Development: When developing a new model, start with simple assumptions and gradually add complexity by creating more levels of hierarchy. This helps structure your thinking and makes the model easier to follow.

  5. Documentation and Enhancement: Hierarchical blocks can also be used for documentation. They could act as popup windows that reveal pictures, text, and more when double-clicked.

    ExtendSim Hierarchical Block

Hierarchical blocks are unique because they have characteristics of both a block and a model worksheet. They can contain no blocks, one block, a group of blocks, or even other hierarchical blocks. They can also include text, graphics, cloned dialog items, and pictures.

You can copy hierarchical blocks to other areas of the model or to other models using them just like other blocks. The parameters within a hierarchical block can be changed by double-clicking it and then double-clicking the desired interior block’s icon or changing the block’s cloned dialog items.

Hierarchical blocks have their own worksheets with notebooks and structures, similar to ExtendSim model windows. You can add blocks from a library, create new hierarchical blocks, add graphics, type labels and text, and clone dialog items on these worksheets.

The components of a hierarchical block (icon, connectors, or Help text) can be changed by accessing its structure window. Unlike other blocks, hierarchical blocks are saved directly in the model as copies by default, allowing them to be treated like a copy of a portion of the model. You can copy a hierarchical block to another part of your model and make changes without affecting the original block—this is known as physical hierarchy.

Alternatively, you can save a hierarchical block in a library, treating it like a regular block. When you make changes to the block’s structure window and choose to update all instances of that block, it’s known as pure hierarchy.

In summary, hierarchy is an invaluable tool in simulation modeling, simplifying complex models and making them more intuitive and manageable. By organizing models into hierarchical blocks, you can create a more user-friendly and realistic representation of the processes being simulated.

Thursday, October 17, 2024

Exploring Multicore Analysis for Simulation

When it comes to speeding up model analysis, Multicore Analysis (MCA) is a game-changer. By distributing your model workload across multiple instances of ExtendSim, you can significantly enhance performance and efficiency. Here’s how you can make the most of it.

Why Use Multicore Analysis? 

Think of MCA as having multiple hands working on a task simultaneously. Instead of running a model or models sequentially to test different scenarios, you can run multiple instances of the model/s in parallel. This not only saves time, but also allows for more comprehensive analysis. 

Running Copies of a Model in Parallel 

Instead of sequentially running one model to test various scenarios, use MCA to spawn Child-Nodes (new instances) of ExtendSim. These Child-Nodes can perform parallel model execution, drastically reducing the time needed for analysis. 

Open Additional Instances for Development 

The Multicore Analysis feature also allows you to manually launch multiple instances of ExtendSim, enabling the concurrent running of multiple models. Manually opening additional instances of ExtendSim can simplify model debugging. You can run different models on separate cores, making it easier to identify and fix issues without slowing down your workflow. 

Benefits of Multicore Analysis

  • Speed: Running models in parallel significantly cuts down the time required for analysis.
  • Efficiency: It allows for handling larger and more complex simulations that would be impractical to run sequentially.
  • Scalability: As your simulation needs grow, the ability to run models concurrently on more than the default 4 instances of ExtendSim is available. For details and pricing, visit ExtendSim.com. 

Conclusion 

Multicore Analysis is a powerful tool for anyone looking to enhance their simulation capabilities. By distributing workloads across multiple instances of ExtendSim, you can achieve faster, more efficient, and scalable model analysis. Whether you’re running multiple instances for parallel execution or simplifying debugging, MCA can make a significant difference in your workflow.

Thursday, October 3, 2024

What are Response Definitions and why are they so critical?

Response definitions create results

When setting up a simulation, defining responses is crucial. These responses are the model outputs you select to automatically collect results from each replication. Let’s dive into the different types of responses you can set up in the ExtendSim Analysis Manager block and how it will help you streamline your analytical processes so you can grab the simulation results you need.

Understanding Response Definitions in Simulations 

Responses are essentially the data points you want to track during your simulation. By defining these, you ensure that the results you need are collected automatically, saving you time and effort. Think of them as the specific results or data points you want to track and analyze after each run. Here’s a bit more detail:

  1. What They Are: Response definitions specify what you’re looking to measure in your simulation. This could be anything from performance metrics, error rates, throughput, or any other relevant data points that are crucial for your analysis.
  2. How They Work: When you set up your simulation, you define these responses in the Analysis Manager block. For example, if you’re simulating a manufacturing process, your responses might include the number of units produced, the time taken for each unit, or the defect rate.
  3. Data Collection: At the end of each simulation run, the Analysis Manager block automatically collects the data based on these response definitions. It then stores this data in the Analysis database for you to review and analyze later.
  4. Why They Matter: Having clear response definitions helps ensure that you’re capturing all the necessary data to evaluate the performance and outcomes of your simulation accurately. It makes your analysis more structured and meaningful. 

Types of Responses You Can Define

Remember from last week’s article, Introducing the New Analysis Manager Block the Analysis Manager acts as a data management system for consolidated control of parameters and collection of model results. It automatically creates an Analysis database and stores all your core analytical process definitions for you – both factor and response definitions - plus it collects and catalogues results from your replications for superb record-keeping and further analysis. The Analysis Manager can collect:

  • Block Responses that can be added to the Analysis Manager using either the:
    • Right-click Method: Simply right-click on any output parameter or checkbox in any block dialog or on a cloned output in your model and choose Add Response.
    • Search Model Method: Click the Search Model button to open the dialog of the Search Blocks block (found in the Utilities library). This allows you to build a filtered list of blocks and their associated dialogs to add as responses to your model.
  • Database Responses are added by clicking the green +/- button in the lower right corner of the DB factors table and selecting Add DB response(s) to open the Database Address Selector. From here, you can choose a field or record to use as a response. 
  • Reliability Responses - If your model includes one or Reliability Block Diagrams (RBDs), the Responses tab of the Analysis Manager will display a table for adding Reliability Responses. Add them by using the:
    • Edit in DB Button: Opens the Reliability Responses table for direct editing.
    • Use Model Data Button: Fills the Reliability Responses table with all the fail-modes currently defined in the model. 

So, in a nutshell, response definitions are your way of telling the Analysis Manager exactly what results you’re interested in. This ensures that all the important data is collected and stored in the Analysis database systematically, making your analysis process much smoother and more efficient.

Popular Posts