Intro to Computational Model Builder (CMB)
This course will focus on teaching the fundamental concepts of Computational Model Builder (CMB) and the Simulation Model ToolKit (SMTK) which (along with ParaView and VTK) CMB applications are based on. In the course you will learn how to model and export information required by simulations, mesh generators, or other pre-processing tools using SMTK’s attribute resource, views, and operation infrastructure.
- Understanding what CMB and SMTK are and how they can be used to create simulation workflows
- Understanding what SMTK Resources are and how they are related to your workflow
- Understanding how to use SMTK’s Attribute Resource to model the information needed in a simulation workflow
- Understanding how to use SMTK’s View system to create your own user interfaces
- Understanding SMTK’s Operation Infrastructure and how to create your own Operations in Python
- Basic understanding of pre-processing and what goes into a simulation workflow. And if you have a specific workflow in mind that is a plus.
- Basic Python programming knowledge
- Basic understanding of C++
This course is approximately 12 hours, which can be divided into 4 sessions.
Note that in the course info it is described as 4 two hour segments. If we need to reduce it to 2 four hour segments just group the first two days into 1 day and the third and fourth into the second day.
- What is CMB/SMTK (as shown through examples)?
- Understanding the concepts of SMTK’s Persistent Objects, Resources, Components, and Projects
- Types of Resources SMTK provides
- Introduction to Python-based Resources
- How to use SMTK’s ParaView and VTK extensions in a CMB application.
- Learn how to model information using SMTK’s Attribute Resource
- Authoring Attribute Template Files
- Introduction to SMTK’s Category and Analysis Concepts
- Learn how to associate SMTK Attributes to SMTK Resources and their Components
- Introduction to SMTK’s Views and how to create User interfaces
- Introduction to SMTK’s Operation Infrastructure
- Synchronous and Asynchronous Operation Execution
- Understanding Operation Results and Notification
- Creating Python Operations