About OpenCMISS

OpenCMISS-Zinc - Visualisation

A Qt based application using WebKit and PyZinc.
A Qt based application using WebKit and PyZinc.

OpenCMISS-Zinc (‘Zinc’) is a cross-platform software library for building complete modelling and visualisation applications, from rich model representation to high quality OpenGL graphics rendering.

Models are represented in Zinc as mathematical fields defined over domains, including finite elements with support for high-order basis functions, complex parameter mappings and time variation, as well as image-based fields. Further fields can be defined by mathematical expressions and algorithms on existing fields, including image processing filters. Zinc’s model data structures are dynamic, supporting interactive applications which programmatically create, destroy and modify content.

In Zinc, visualisations of models are created by graphics algorithms which assign fields to attributes, including 3-D coordinates, texture coordinates, data/colouring, and specific attributes such as iso-scalar field for contours, vector field for streamlines, and orientation, scale and label fields for points. Graphics are automatically updated following changes to attributes or the underlying model. The graphics approach combined with the general field expression capability means almost any derived result can be visualised.

Zinc graphics are rendered using OpenGL into the client window or canvas, and built-in picking, selection groups and automatic highlighting support the easy development of interactive applications. The Zinc library is UI-independent requiring additional client code to set up and handle rendering and events, as described in the documentation. Zinc also includes utilities such as non-linear optimisation.

Zinc was created from the core engine of the Cmgui visualisation application, now a client of the library, and sharing more than 20 years development. Zinc v3.0 is the first release of the library with a full API for controlling its functionality without legacy Cmgui commands. Zinc and Cmgui are co-developed with the distributed parallel solver OpenCMISS-Iron and used to interact with and visualise models and solutions from it.

Zinc is available for Windows, Max OS X and Linux, with APIs offered in C, C++ and Python. Its source code is released under the Open Source Initiative approved Mozilla Public License v2.0.

To learn more, read the documentation for OpenCMISS-Zinc.

OpenCMISS-Iron - Modelling

Simulation created by Ali Pashaei.
Simulation created by Ali Pashaei.

OpenCMISS (Open Continuum Mechanics, Imaging, Signal processing and System identification) is a mathematical modelling environment that enables the application of finite element analysis techniques to a variety of complex bioengineering problems.

Refactored from the ground up

The project represents a complete rewrite and overhaul of the existing CMISS computational modelling tool to take advantage of modern programming languages, data structures, and today’s range of available high performance hardware.

Optimised simulation performance

This significant re-engineering effort represents a complete upgrade in functionality and modelling capability, particularly in terms of increased ability to optimise simulation performance on high performance, and in particular distributed, architectures.

History

The original CMISS programme was started by Peter Hunter in 1980 in the Department of Theoretical and Applied Mechanics (TAM) at The University of Auckland and had major early contributions from Poul Nielsen and Andrew McCulloch.

The development of OpenCMISS, begun in 2005 with funding from the Wellcome Trust, has been led by Chris Bradley in Auckland and Oxford.

Since 2008 this work has evolved into a major collaborative project between the groups based at King’s College London and Auckland with input from partners in Barcelona, Oslo, Oxford, Sheffield and Stuttgart, funded by both European and national level research funding agencies.

Contributors

The following people contributed to OpenCMISS software projects.

Sander Arens, Bojan Blazevic, Andy Bowery, Chris Bradley, Randall Britten, Vincent Budelmann, Phani Chichapatnam, Richard Christie, Andrew Cookson, Andrew Crozier, Prasad Gamage, Arne Gjuvsland, Thomas Heidlauf, Andreas Hessenthaler, Alice Hung, Peter Hunter, Jagir Hussan, Chloe Irwin Whitney, Jessica Jor, Sebastian Krittian, David Ladd, Sander Land, Jack Lee, Caton Little, Xaio Bo Lu, Kumar Mithraratne, Christian Michler, Jennine Mitchell, Mylena Mordhorst, Martyn Nash, David Nickerson, Steven Niederer, Poul Nielsen, Øyvind Nordbø, David Nordsletten, Stig Omholt, Ali Pashaei, Vijayaraghavan Rajagopal, Adam Reeve, Oliver Röhrle, Ishani Roy, Ole W. Saastad, Soroush Safaei, Farzaneh Shalbaf, Vickie Shim, Matt Sinclair, Nic Smith, Hugh Sorby, Martin Steghofer, Merryn Tawhai, Mark Trew, Jon Olav Vik, Vicky Wang, Zinhou Wang, Daniel Wirtz, Tim Wu, Robert Jiahe Xi, Nancy (Xiani) Yan, Hashem Yousefi, Ting Yu, Heye Zhang, Ju Zhang.