a new approach to interoperability using hdf5 -...
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.
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.