a new approach to interoperability using hdf5 -...

23
A new approach to interoperability using HDF5 Second International Workshop on Software Solutions for Integrated Computational Materials Engineering ICME 2016 14 th April 2016, Barcelona, Spain Anshuman S. Bhadauria, Carlos Agelet de Saracibar, Michele Chiumenti, Miguel Cervera International Center for Numerical Methods in Engineering (CIMNE) e-mail: [email protected], web page: http://www.cimne.upc.edu e-mail: [email protected], web page: http://www.ageletdesaracibar.blogspot.com.es e-mail: [email protected], web page: http://chiumenti.rmee.upc.edu/ e-mail: [email protected], web page: http://cervera.rmee.upc.edu/ Universidad Politécnica de Cataluña (UPC) Campus Norte, Jordi Girona 1-3, 08034 Barcelona, Spain

Upload: phungmien

Post on 13-Mar-2018

226 views

Category:

Documents


5 download

TRANSCRIPT

A new approach to interoperability using HDF5

Second International Workshop on Software Solutions for

Integrated Computational Materials Engineering

ICME 2016

14th April 2016, Barcelona, Spain

Anshuman S. Bhadauria, Carlos Agelet de Saracibar,

Michele Chiumenti, Miguel Cervera

International Center for Numerical Methods in Engineering (CIMNE)e-mail: [email protected], web page: http://www.cimne.upc.edu

e-mail: [email protected], web page: http://www.ageletdesaracibar.blogspot.com.ese-mail: [email protected], web page: http://chiumenti.rmee.upc.edu/

e-mail: [email protected], web page: http://cervera.rmee.upc.edu/Universidad Politécnica de Cataluña (UPC)

Campus Norte, Jordi Girona 1-3, 08034 Barcelona, Spain

Overview

• Brief introduction of Finite Element problems.

• Brief about HDF5 format and what its suitable for and what not.

• Metadata keywords for HDF5 standardization.

• Introduction to Abaqus Output Database (ODB) and Model Database (MDB).

• Methodology of data export from ODB to HDF5 and from HDF5 to Abaqus MDB.

• Open problems.

• Scope of further work.

Finite Element MethodFEM is a procedure for the numerical simulation of equations(PDEs) which govern problems found in nature.

Fig. A solid with known mechanical properties(a shaft, human tissue, etc).

QUESTION:If we apply force on a solid, what are thevalues of the displacement, stresses andstrains at EACH MATERIAL POINT?

ANSWER:“Divide and Conquer”

Fig. A quarter of the solid. Fig. Discretization of the solidinto finite number of elements.

Fields of Application

Fig. Temperature distribution over a cylinder block.

Fig. Cast, cooling system and mould: 380,000linear tetrahedral elements.

Data associated

GEOMETRY INFORMATION BOUNDARY CONDITIONS MESH MATERIAL PROPERTIES RESULTSAnd more..

Taking the FEM data to HDF5

Tool Built upon/Scripting Interface

HDF5 API enables writing, reading, of HDF5 files from languages like C/C++, Python, Java, Fortran, Matlab.

API

Python API for HDF5The version of Python used in Abaqus is quiet far behind from current versions.

• Doesn’t support HDF5 by default.• Comes with NumPy v1.6, this is critical because both HDF5 APIs require

NumPy version >=1.7.

Practical problems:

Practical workaround:

• Physically replace (temporarily) the abaqus NumPy v1.6 folder with NumPy v1.7.• Use NumPy 1.6 when running GUI, and NumPy v1.7 when noGUI.

• Download h5py and it’s dependencies, a HDF5 API for Python, and place it with other Abaqus Python libraries.

HDF5 Containers (OOPS Perspective)

HDF5 Container Object

HDF5.Group

Group Object

HDF5.Dataset

Dataset Object

API Entry Point

HDF5.Group.Annotation

Annotation Object

HDF5.Dataset.Annotation

Annotation Object

HDF5 containers act as adata structure, andsupport all the operationspossible on internal datastructures of programminglanguages.

Data can be transferred fromHDF5 containers to Databasesrelational or non-relational incase a central repository issetup using scripts.

HDF5 with Metadata

Keywords

“Metadata is the data about data, which makes it an entity.”

A material properties HDF5File is an entity which can Be understood by multiple Tools.

Abaqus overview

Model Database

Output Database

Solver

HDF5

HDF5

These HDF5 files can contain material properties, mesh information and other data associated with Finite Element problems.

Model ObjectJOB ObjectsAdaptivity Process ObjectsCoexecution ObjectsAnnotation Objects……

Abaqus MDBThe MDB object is the high-level Abaqus model database. Obviously everything that you do from the GUI can be done from the command line through the MDB object.

MDB

Load, Material, Step and other Abaqus model

objects

HDF5 ObjectFrom Horizontal orVertical scales.

Using orthotropic elasticity model by specifying the terms in the elastic stiffness matrix

Fig. Stress-Strain relationship for Orthotropic case

If a material scientist can give us data in terms of parameters which continuum models can process, we can import and use them.

Transferring data to the Abaqus MDB from HDF5 files

Elasticity Expansion Plasticity

• Material properties of an alloy read from a HDF5 file and transferred to the Material object of the Abaqus Model directly through Python API and “not input file”.

• Similarly more information like geometries, boundary conditions, loads can also be imported from HDF5 to Abaqus Model database.

Imported into Abaqus Model

Material Properties

If a material scientist provides a HDF5 file with orthotropic Properties they can be imported.

Abaqus overview

Model Database

Output Database

Solver

HDF5

HDF5

These HDF5 files can contain material properties, mesh information and other data associated with Finite Element problems.

Abaqus ODBThe ODB object is the in-memory representation of an output database (ODB) file.

ODB

Results, Part (nodes, elements), Material,

and other Abaqus model objects

HDF5 Object

Material ObjectsPart ObjectsInteraction Property ObjectOdb Assembly ObjectsAnnotation Object……

To Horizontal orVertical scales.

Transferring data from ODB to HDF5

Element Connectivity Node Coordinates

Similarly, residual stresses, displacements or other results over the mesh can beexported into the HDF5 containers directly from Abaqus ODB and can be used ina Data mapping software..

Exported information from Abaqus ODB to

HDF5

Displacements

Interoperability at Continuum Scale• Horizontal: Ability to transfer information ‘not just

data’ from one tool to another, may it be, importing a deformed mesh along with its associated stresses, material properties etc.

• Vertical: To be able to plug in material properties from lower scales into Continuum scale material models ‘on demand’ using ‘predicted’ macroscopic properties from a microscopic level.

Horizontal Interoperability

Algorithm used for project VERDI

HDF5 files can beUsed as neutral filesWhich are also capableIn data visualization.

Horizontal Interoperability what can be done

Model 1Tool 1

Output Database

Solver

Data mapping + HDF5

Model 2Tool 2

HDF5

Complications in Interoperability with HDF5• HDF5 is just a data format or data container which

lets us transfer numbers from any software tool, it is how the other tool understands it, needs standardization.

• Also another problem is to get the numbers that need to be put in these HDF5 containers and ensure they are consistent and make sense by using Interpolation or data mapping tools like FEDES.

• Parameters provided from other scales might not be necessarily compatible with existing material models.

Open Problems

• Suppose we are able to bring information fromlower scales to continuum, how do we manage toupdate the microstructural information at eachtime step for eg. In Plasticity models wheremicrostructure changes at each time step?

• What parameters can we get from the lowerscales? Will they be compatible with our models?

Roadmap

• In order to develop HDF5 as a neutral format for simulating a chain of manufacturing, build a exhaustive list of keywords covering all material models.

• To well define the way data will be exchanged between continuum scales and lower scales.

• To clearly identify the parameters which can be provided from lower scales and if they are different from existing parameters, how to include them.

Thank you