Kitware Source Issue 13
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Arxiv:1911.09220V2 [Cs.MS] 13 Jul 2020
MFEM: A MODULAR FINITE ELEMENT METHODS LIBRARY ROBERT ANDERSON, JULIAN ANDREJ, ANDREW BARKER, JAMIE BRAMWELL, JEAN- SYLVAIN CAMIER, JAKUB CERVENY, VESELIN DOBREV, YOHANN DUDOUIT, AARON FISHER, TZANIO KOLEV, WILL PAZNER, MARK STOWELL, VLADIMIR TOMOV Lawrence Livermore National Laboratory, Livermore, USA IDO AKKERMAN Delft University of Technology, Netherlands JOHANN DAHM IBM Research { Almaden, Almaden, USA DAVID MEDINA Occalytics, LLC, Houston, USA STEFANO ZAMPINI King Abdullah University of Science and Technology, Thuwal, Saudi Arabia Abstract. MFEM is an open-source, lightweight, flexible and scalable C++ library for modular finite element methods that features arbitrary high-order finite element meshes and spaces, support for a wide variety of dis- cretization approaches and emphasis on usability, portability, and high-performance computing efficiency. MFEM's goal is to provide application scientists with access to cutting-edge algorithms for high-order finite element mesh- ing, discretizations and linear solvers, while enabling researchers to quickly and easily develop and test new algorithms in very general, fully unstructured, high-order, parallel and GPU-accelerated settings. In this paper we describe the underlying algorithms and finite element abstractions provided by MFEM, discuss the software implementation, and illustrate various applications of the library. arXiv:1911.09220v2 [cs.MS] 13 Jul 2020 1. Introduction The Finite Element Method (FEM) is a powerful discretization technique that uses general unstructured grids to approximate the solutions of many partial differential equations (PDEs). It has been exhaustively studied, both theoretically and in practice, in the past several decades [1, 2, 3, 4, 5, 6, 7, 8]. MFEM is an open-source, lightweight, modular and scalable software library for finite elements, featuring arbitrary high-order finite element meshes and spaces, support for a wide variety of discretization approaches and emphasis on usability, portability, and high-performance computing (HPC) efficiency [9]. -
Elmer Finite Element Software for Multiphysical Problems
Elmer finite element software for multiphysical problems Peter Råback ElmerTeam CSC – IT Center for Science 10/04/2014 PRACE Spring School, 15-17 April, 2014 1 Elmer track in PRACE spring school • Wed 16th, 10.45-12.15=1.5 h Introduction to Elmer finite element software • Wed 16th, 13.30-15.00=1.5 h Hands-on session using ElmerGUI • Wed 16th, 15.15-16.45=1.5 h OpenLab • Thu 17th, 10.45-12.15=1.5 h Advanced use of Elmer • Thu 17th, 13.30-14.30=1 h Hands-on session on advanced features and parallel computation • Thu 17th, 14.45-15.45=1h Hands-on & improviced 10/04/2014 2 Elmer finite element software for multiphysical problems Figures by Esko Järvinen, Mikko Lyly, Peter Råback, Timo Veijola (TKK) & Thomas Zwinger Short history of Elmer 1995 Elmer development was started as part of a national CFD program – Collaboration of CSC, TKK, VTT, JyU, and Okmetic Ltd. 2000 After the initial phase the development driven by number of application projects – MEMS, Microfluidics, Acoustics, Crystal Growth, Hemodynamics, Glaciology, … 2005 Elmer published under GPL-license 2007 Elmer version control put under sourceforge.net – Resulted to a rapid increase in the number of users 2010 Elmer became one of the central codes in PRACE project 2012 ElmerSolver library published under LGPL – More freedom for serious developers Elmer in numbers ~350,000 lines of code (~2/3 in Fortran, 1/3 in C/C++) ~500 code commits yearly ~280 consistency tests in 3/2014 ~730 pages of documentation in LaTeX ~60 people participated on Elmer courses in 2012 9 Elmer related visits -
Overview of Elmer
Overview of Elmer Peter Råback and Mika Malinen CSC – IT Center for Science October 19, 2012 1 2 Copyright This document is licensed under the Creative Commons Attribution-No Derivative Works 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/3.0/. 1 Introduction This exposition gives an overview of the Elmer software package. General information on the capabilities of the software, its usage, and how the material of the package is organized is presented. More detailed information is given in the other Elmer manuals, the scopes of which are described in this document. What is Elmer Elmer is a finite element software package for the solution of partial differential equations. Elmer can deal with a great number of different equations, which may be coupled in a generic manner making Elmer a versatile tool for multiphysical simulations. As an open source software, Elmer also gives the user the means to modify the existing solution procedures and to develop new solvers for equations of interest to the user. History of Elmer The development of Elmer was started in 1995 as part of a national CFD technology program funded by the Finnish funding agency for technology and innovation, Tekes. The original development consortia included partners from CSC – IT Center for Science (formely known as CSC – Scientific Computing). Helsinki University of Technology TKK, VTT Technical Research Centre of Finland, University of Jyväskylä, and Okmetic Ltd. CSC is a governmental non-profit company fully owned by the Ministry of Education. After the five years initial project ended the development has been continued by CSC in different application fields. -
Xcode Package from App Store
KH Computational Physics- 2016 Introduction Setting up your computing environment Installation • MAC or Linux are the preferred operating system in this course on scientific computing. • Windows can be used, but the most important programs must be installed – python : There is a nice package ”Enthought Python Distribution” http://www.enthought.com/products/edudownload.php – C++ and Fortran compiler – BLAS&LAPACK for linear algebra – plotting program such as gnuplot Kristjan Haule, 2016 –1– KH Computational Physics- 2016 Introduction Software for this course: Essentials: • Python, and its packages in particular numpy, scipy, matplotlib • C++ compiler such as gcc • Text editor for coding (for example Emacs, Aquamacs, Enthought’s IDLE) • make to execute makefiles Highly Recommended: • Fortran compiler, such as gfortran or intel fortran • BLAS& LAPACK library for linear algebra (most likely provided by vendor) • open mp enabled fortran and C++ compiler Useful: • gnuplot for fast plotting. • gsl (Gnu scientific library) for implementation of various scientific algorithms. Kristjan Haule, 2016 –2– KH Computational Physics- 2016 Introduction Installation on MAC • Install Xcode package from App Store. • Install ‘‘Command Line Tools’’ from Apple’s software site. For Mavericks and lafter, open Xcode program, and choose from the menu Xcode -> Open Developer Tool -> More Developer Tools... You will be linked to the Apple page that allows you to access downloads for Xcode. You wil have to register as a developer (free). Search for the Xcode Command Line Tools in the search box in the upper left. Download and install the correct version of the Command Line Tools, for example for OS ”El Capitan” and Xcode 7.2, Kristjan Haule, 2016 –3– KH Computational Physics- 2016 Introduction you need Command Line Tools OS X 10.11 for Xcode 7.2 Apple’s Xcode contains many libraries and compilers for Mac systems. -
How to Access Python for Doing Scientific Computing
How to access Python for doing scientific computing1 Hans Petter Langtangen1,2 1Center for Biomedical Computing, Simula Research Laboratory 2Department of Informatics, University of Oslo Mar 23, 2015 A comprehensive eco system for scientific computing with Python used to be quite a challenge to install on a computer, especially for newcomers. This problem is more or less solved today. There are several options for getting easy access to Python and the most important packages for scientific computations, so the biggest issue for a newcomer is to make a proper choice. An overview of the possibilities together with my own recommendations appears next. Contents 1 Required software2 2 Installing software on your laptop: Mac OS X and Windows3 3 Anaconda and Spyder4 3.1 Spyder on Mac............................4 3.2 Installation of additional packages.................5 3.3 Installing SciTools on Mac......................5 3.4 Installing SciTools on Windows...................5 4 VMWare Fusion virtual machine5 4.1 Installing Ubuntu...........................6 4.2 Installing software on Ubuntu....................7 4.3 File sharing..............................7 5 Dual boot on Windows8 6 Vagrant virtual machine9 1The material in this document is taken from a chapter in the book A Primer on Scientific Programming with Python, 4th edition, by the same author, published by Springer, 2014. 7 How to write and run a Python program9 7.1 The need for a text editor......................9 7.2 Spyder................................. 10 7.3 Text editors.............................. 10 7.4 Terminal windows.......................... 11 7.5 Using a plain text editor and a terminal window......... 12 8 The SageMathCloud and Wakari web services 12 8.1 Basic intro to SageMathCloud................... -
Ginga Documentation Release 2.5.20160420043855
Ginga Documentation Release 2.5.20160420043855 Eric Jeschke May 05, 2016 Contents 1 About Ginga 1 2 Copyright and License 3 3 Requirements and Supported Platforms5 4 Getting the source 7 5 Building and Installation 9 5.1 Detailed Installation Instructions for Ginga...............................9 6 Documentation 15 6.1 What’s New in Ginga?.......................................... 15 6.2 Ginga Quick Reference......................................... 19 6.3 The Ginga FAQ.............................................. 22 6.4 The Ginga Viewer and Toolkit Manual................................. 25 6.5 Reference/API.............................................. 87 7 Bug reports 107 8 Developer Info 109 9 Etymology 111 10 Pronunciation 113 11 Indices and tables 115 Python Module Index 117 i ii CHAPTER 1 About Ginga Ginga is a toolkit designed for building viewers for scientific image data in Python, visualizing 2D pixel data in numpy arrays. It can view astronomical data such as contained in files based on the FITS (Flexible Image Transport System) file format. It is written and is maintained by software engineers at the Subaru Telescope, National Astronomical Observatory of Japan. The Ginga toolkit centers around an image display class which supports zooming and panning, color and intensity mapping, a choice of several automatic cut levels algorithms and canvases for plotting scalable geometric forms. In addition to this widget, a general purpose “reference” FITS viewer is provided, based on a plugin framework. A fairly complete set of “standard” plugins are provided for features that we expect from a modern FITS viewer: panning and zooming windows, star catalog access, cuts, star pick/fwhm, thumbnails, etc. 1 Ginga Documentation, Release 2.5.20160420043855 2 Chapter 1. -
Customizing Paraview
Customizing ParaView Utkarsh A. Ayachit∗ David E. DeMarle† Kitware Inc. ABSTRACT VTK developers must overcome in order to extend ParaView. For- ParaView is an Open Source Visualization Application that scales, tunately the ServerManager includes both Module [2] and server via data parallel processing, to massive problem sizes. The nature side Plugin [3] facilities. The two facilities differ in that Modules of Open Source software means that ParaView has always been well are statically linked into ParaView at compile time, whereas Plug- suited to customization. However having access to the source code ins are dynamically linked into ParaView at run time. Either facility does not imply that it is trivial to extend or reuse the application. An standardizes, through CMake[6] configuration macros, the process ongoing goal of the ParaView project is to make the code simple to by which new types of VTK objects can be added to ParaView. Plu- extend, customize, and change arbitrarily. gin and Module macros turn the build environment definition into In this paper we present the ways by which the application can be a simple procedure call. A standard list of arguments is populated modified to date. We then describe in more detail the latest efforts with information such as the names of the C++ files for the new rou- to simplify the task of reusing the most visible part of ParaView, the tines, and the macro creates the correct platform independent build client GUI application. These efforts include a new CMake config- environment to make a library that is compatible with the applica- uration macro that makes it simple to assemble the major functional tion. -
Usr/Bin/Cmake # You Can Edit This File to Change Values Found and Used by Cmake
# This is the CMakeCache file. # For build in directory: /home/build2 # It was generated by CMake: /usr/bin/cmake # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. # If you do want to change a value, simply edit, save, and exit the editor. # The syntax for the file is as follows: # KEY:TYPE=VALUE # KEY is the name of a variable in the cache. # TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. # VALUE is the current value for the KEY. ######################## # EXTERNAL cache entries ######################## //Build shared libraries (so/dylib/dll). BUILD_SHARED_LIBS:BOOL=ON //Build testing BUILD_TESTING:BOOL=OFF //Path to a program. BZRCOMMAND:FILEPATH=BZRCOMMAND-NOTFOUND //Path to a program. CMAKE_AR:FILEPATH=/usr/bin/ar //The build mode CMAKE_BUILD_TYPE:STRING=Release //The build type for the paraview project. CMAKE_BUILD_TYPE_paraview:STRING=Release //Enable/Disable color output during build. CMAKE_COLOR_MAKEFILE:BOOL=ON //CXX compiler CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ //A wrapper around 'ar' adding the appropriate '--plugin' option // for the GCC compiler CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar //A wrapper around 'ranlib' adding the appropriate '--plugin' option // for the GCC compiler CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib //Flags used by the CXX compiler during all build types. CMAKE_CXX_FLAGS:STRING= //Flags used by the CXX compiler during DEBUG builds. CMAKE_CXX_FLAGS_DEBUG:STRING=-g //Flags used by the CXX compiler during MINSIZEREL builds. CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG //Flags used by the CXX compiler during RELEASE builds. CMAKE_CXX_FLAGS_RELEASE:STRING=-O2 -DNDEBUG //Flags used by the CXX compiler during RELWITHDEBINFO builds. -
Introduction to Visualization with VTK and Paraview
Outline Introduction Visualization with ParaView Showcases Resources and further reading Introduction to Visualization with VTK and ParaView R. Sungkorn and J. Derksen Department of Chemical and Materials Engineering University of Alberta Canada August 24, 2011 / LBM Workshop Outline Introduction Visualization with ParaView Showcases Resources and further reading 1 Introduction Simulation Visualization Visualization Pipeline Data Structure Data Format ParaView 2 Visualization with ParaView ParaView Interface Loading Data View Controls Structure Filters Save data and animation 3 Showcases 4 Resources and further reading Outline Introduction Visualization with ParaView Showcases Resources and further reading Simulation Visualization Simulation visualization referred to a computing method in which a geometric representation is used to gain understanding and insight into numeric data generated by numerical simulation. The data is usually placed into a reference coordinate system to create and extract quantities/qualities of interest. Figure 1: Streamlines of flow pass a cylinder (image courtesy of Kitware Inc). Outline Introduction Visualization with ParaView Showcases Resources and further reading Visualization Pipeline The goal of visualization pipeline is to create geometrically constructed images from numeric data. The process can be described step-wise as: Data analysis: preparing data for visualization Filtering: specifying data portion to be visualized Mapping: transforming filtered data into geometrical primitive (e.g. points, lines) with attributes (e.g. color, size) Rendering: generating image from geometric data Figure 2: Visualization pipeline (image courtesy of www.infovis-wiki.net). Outline Introduction Visualization with ParaView Showcases Resources and further reading Data Structure Data structure is a way of exporting and organizing simulated data. It also defines applicability of some visualization techniques (e.g. -
Pyconfr 2014 1 / 105 Table Des Matières Bienvenue À Pyconfr 2014
PyconFR 2014 1 / 105 Table des matières Bienvenue à PyconFR 2014...........................................................................................................................5 Venir à PyconFR............................................................................................................................................6 Plan du campus..........................................................................................................................................7 Bâtiment Thémis...................................................................................................................................7 Bâtiment Nautibus................................................................................................................................8 Accès en train............................................................................................................................................9 Accès en avion........................................................................................................................................10 Accès en voiture......................................................................................................................................10 Accès en vélo...........................................................................................................................................11 Plan de Lyon................................................................................................................................................12 -
Python Guide Documentation Release 0.0.1
Python Guide Documentation Release 0.0.1 Kenneth Reitz February 19, 2018 Contents 1 Getting Started with Python 3 1.1 Picking an Python Interpreter (3 vs. 2).................................3 1.2 Properly Installing Python........................................5 1.3 Installing Python 3 on Mac OS X....................................6 1.4 Installing Python 3 on Windows.....................................8 1.5 Installing Python 3 on Linux.......................................9 1.6 Installing Python 2 on Mac OS X.................................... 10 1.7 Installing Python 2 on Windows..................................... 12 1.8 Installing Python 2 on Linux....................................... 13 1.9 Pipenv & Virtual Environments..................................... 14 1.10 Lower level: virtualenv.......................................... 17 2 Python Development Environments 21 2.1 Your Development Environment..................................... 21 2.2 Further Configuration of Pip and Virtualenv............................... 26 3 Writing Great Python Code 29 3.1 Structuring Your Project......................................... 29 3.2 Code Style................................................ 40 3.3 Reading Great Code........................................... 49 3.4 Documentation.............................................. 50 3.5 Testing Your Code............................................ 53 3.6 Logging.................................................. 58 3.7 Common Gotchas............................................ 60 3.8 Choosing -
S O F T W a R E D E V E L O P E R ' S Q U a R T E R
SOFTWARE DEVELOPER’S QUARTERLY Issue 12• Jan 2010 MIDAS 2.4 RELEASED AS OPEN SOURCE Editor’s Note ........................................................................... 1 Kitware is proud to announce the release of MIDAS 2.4, a major release implementing more than 20 new features. We Recent Releases ..................................................................... 1 are also happy to announce that the MIDAS source-code is now freely available under an unrestricted (BSD) license. A Synthetic LiDAR Scanner for VTK ..................................... 3 New Variational Level-Set Classes with Region Fitting Energy in ITK ......................................................................... 6 Alternative Memory Models for ITK..................................... 9 N3 Implementation for MRI Bias Field Correction ............ 11 Exporting Contours to DICOM-RTSTRUCT ......................... 13 Kitware News ...................................................................... 15 Kitware is pleased to present a special edition of the Source which features several of the strongest Insight Journal submissions from 2009. The Insight Journal was designed Improved image gallery with color selection to provide a realistic support system for disseminating sci- entific research in the medical image processing domain. For the past year MIDAS, Kitware’s digital archiving and Recognizing the need for a mechanism whereby the medical distributed processing system, has been generating a lot of image analysis community can collectively share their