SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF...

14
SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNS Marc Poinot, SAFRAN Christopher Rumsey, NASA LaRC AIAA SciTech 2018

Transcript of SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF...

Page 1: SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNScgns.github.io/CGNS_docs_current/slides/POINOT-RUMSEY-AIAA-201… · CGNS/Python Python implementation Textual document ... >

SEVEN KEYSFOR PRACTICAL UNDERSTANDING AND USE OF

CGNSMarc Poinot, SAFRAN

Christopher Rumsey, NASA LaRCAIAA SciTech 2018

Page 2: SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNScgns.github.io/CGNS_docs_current/slides/POINOT-RUMSEY-AIAA-201… · CGNS/Python Python implementation Textual document ... >

Ce document et les informations qu’il contient sont la propriété de Safran. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Safran.

Motivation

AIAA-SciTech 2018 / Seven keys for practical understanding and use of CGNS

CGNSisalibraryCGNScannotfitmyowndatastructureTherearetoomanywaystodescribethesamefeatureinCGNSCGNScannothandleparallelprocessingCGNSisonlyforarchivaldataCGNSfilesaretoobigTherecommendedimplementationisHDF5butonlyADFisavailableTherearefewusefultoolsforCGNSmanipulationIalreadyhaveHDF5andIdonotneedCGNSCGNSinefficientlystorestimedataandstatistics

CGNS is well known in the CFD community, but:- often mismatched with its mid-level library- only understood as mesh storage on disk

We have seen some initiatives to develop a new standard to:- define an implementation-independent data model- add Computer-Aided Design (CAD) related features- implement in HDF5

è This looks quite close to CGNS

We propose to gather initiatives rather than creating entropy: let us refresh our comprehension…

Common comments:

Page 3: SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNScgns.github.io/CGNS_docs_current/slides/POINOT-RUMSEY-AIAA-201… · CGNS/Python Python implementation Textual document ... >

Ce document et les informations qu’il contient sont la propriété de Safran. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Safran.

CGNS entities and their acronyms

AIAA-SciTech 2018 / Seven keys for practical understanding and use of CGNS

Acronym Meaning Entity

CGNS CFDGeneralNotationSystem Identifier

CGNS/SC SteeringCommittee Groupofpeople

CGNS/SIDS StandardInterfaceDataStructure Textualdocument

CGNS/CPEX CGNSProposalforEXtension Procedureandtextualdocument

CGNS/FMM FileMappingManual Textualdocument

CGNS/HDF5 HDF5implementation Textualdocument

CGNS/Python Pythonimplementation Textualdocument

CGNS/MLL Mid-LevelLibrary Softwarelibrary

Page 4: SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNScgns.github.io/CGNS_docs_current/slides/POINOT-RUMSEY-AIAA-201… · CGNS/Python Python implementation Textual document ... >

Ce document et les informations qu’il contient sont la propriété de Safran. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Safran.

Abstract model> What is the data I want to define?> How do I define it?

Interoperability> How to go from CAD to mesh, to post-processing, visualisation and then back to CAD?> How to exchange data during CFD/CSM, CFD/CAA or any multiphysics workflows?

Functional coverage> Do I have enough functions to describe my data?> What is the remaining volume data I need to define/store?

High performance> Is there a High Performance Computing (HPC) efficient representation for my data model?> Who is going to support it?

Versatile implementation> Can I manipulate my data in a flexible way?> Do I have to re-invent all the functions I need for my data processing?

Extensibility> How can I describe out-of-CFD data, such as chemistry, high order, CSM features, new CFD trends?> Does the standard belong to NASA?

Open System> Can I connect the simulation elements together as black boxes?> Is there a mandatory implementation?

Seven keys

AIAA-SciTech 2018 / Seven keys for practical understanding and use of CGNS

1

2

3

4

5

6

7

Page 5: SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNScgns.github.io/CGNS_docs_current/slides/POINOT-RUMSEY-AIAA-201… · CGNS/Python Python implementation Textual document ... >

Ce document et les informations qu’il contient sont la propriété de Safran. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Safran.

Abstract model

AIAA-SciTech 2018 / Seven keys for practical understanding and use of CGNS

Amodeliswhatyouwanttospecifybutnothowyouwanttoimplementit

TypesandIndexingconventions

SIDStypedefinitions

Formaldefinition,supportedusingagrammar

Informaldefinition,textualnon-exhaustivedescription

Page 6: SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNScgns.github.io/CGNS_docs_current/slides/POINOT-RUMSEY-AIAA-201… · CGNS/Python Python implementation Textual document ... >

Ce document et les informations qu’il contient sont la propriété de Safran. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Safran.

Interoperability

AIAA-SciTech 2018 / Seven keys for practical understanding and use of CGNS

Thehighestlevelofinteroperabilityistheuser'smeaningThelowestistheimplementation

CAD/Topology

CFD/Flows

Motion/Deformation

Families are the means to hold user’s information

• Topology entities, CAD reference• Same entity for different models• Entities with special features• Simulation specialized entities

Simultaneous families allowedHierarchy of families

èInsure traceability through processes

è Allows high level interoperability

CFD/CSM/FSI/Experimental

Page 7: SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNScgns.github.io/CGNS_docs_current/slides/POINOT-RUMSEY-AIAA-201… · CGNS/Python Python implementation Textual document ... >

Ce document et les informations qu’il contient sont la propriété de Safran. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Safran.

Functional coverage

AIAA-SciTech 2018 / Seven keys for practical understanding and use of CGNS

The CGNS tree changes all along the simulation workflow> It covers our CFD needs and more> It doesn't cover everything, but it could eventually fulfill any needs: CPEX

99%ofthevolumeofthedataalreadyisdefined

CAD CFD POSTPRE

FamilyDimensionalUnitsUserDefinedData

BaseZone/GridPeriodicity/SymmetryGoverningEquationsBC

Solution/ZoneSubRegionGridLocation/DataArray

BaseIteration/ZoneIterationlinks

Page 8: SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNScgns.github.io/CGNS_docs_current/slides/POINOT-RUMSEY-AIAA-201… · CGNS/Python Python implementation Textual document ... >

Ce document et les informations qu’il contient sont la propriété de Safran. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Safran.

HPC implementation> HDF5

w HDF Group support for portage/tuningw Very large data but limited number of typesw Fast memory/disk swapw Smart memory mappingw Parallel features

High performance

AIAA-SciTech 2018 / Seven keys for practical understanding and use of CGNS

> The HDF5 implementation specification is publicw Write your own applicationw Specific node orientationw Specific memory mapping (interlaced, non-contiguous, partial, out-of-core…)

Page 9: SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNScgns.github.io/CGNS_docs_current/slides/POINOT-RUMSEY-AIAA-201… · CGNS/Python Python implementation Textual document ... >

Ce document et les informations qu’il contient sont la propriété de Safran. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Safran.

Gluing/prototyping the easy way> Python/numpy

w Your C/Fortran array IS your python arrayw Reuse of the very large python librariesw No-class paradigm, easy serialization/deserialization

> Memory to memory exchange (same process, inter-process, inter-nodes, inter-hosts…)> Fast creation/modification of CGNS trees

Versatile implementation

AIAA-SciTech 2018 / Seven keys for practical understanding and use of CGNS

Change all BCs to family defined

Page 10: SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNScgns.github.io/CGNS_docs_current/slides/POINOT-RUMSEY-AIAA-201… · CGNS/Python Python implementation Textual document ... >

Ce document et les informations qu’il contient sont la propriété de Safran. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Safran.

• A support for user needs> CPEX

w Propose your own extensionw Do not break already used features

> Examplesw NGON HPC redefinitionw Arbitrary High orderw Enhanced Chemical data modelw Arbitrary Reference Frame

> PROSw Arguing often leads to better ideasw Once adopted, everyone uses your data model / implementation

> CONSw Lengthy processw You have to explain your ideas

Extensibility

AIAA-SciTech 2018 / Seven keys for practical understanding and use of CGNS

user has a need

check CGNS/SIDS

check CGNS/CPEX

submit informal email on [email protected]

create informal working group

submit more formal proposal

motivation/ rationale/ examples

CGNS/SIDS update proposal

CGNS/FMM update proposal

CGNS/MLL update proposal

review

CGNS/SC vote

CGNS/SIDS release

CGNS/MLL release

Page 11: SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNScgns.github.io/CGNS_docs_current/slides/POINOT-RUMSEY-AIAA-201… · CGNS/Python Python implementation Textual document ... >

Ce document et les informations qu’il contient sont la propriété de Safran. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Safran.

Specification & connection only through public interfaces> High Level: CGNS/SIDS> Low Level: CGNS/FMM> Implementation: CGNS/HDF5, CGNS/Python

> Any compliant implementation can 'connect' to others> Dedicated implementation is required for HPC

Open system

AIAA-SciTech 2018 / Seven keys for practical understanding and use of CGNS

CGNS/SIDSdata model

CGNS/FMMper-node mapping

CGNS/ADF CGNS/HDF5 CGNS/Pythonsingle-node mappings

your own implementations

CGNS/MLL

CHLone

pyCGNS

Page 12: SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNScgns.github.io/CGNS_docs_current/slides/POINOT-RUMSEY-AIAA-201… · CGNS/Python Python implementation Textual document ... >

Ce document et les informations qu’il contient sont la propriété de Safran. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Safran.

Answers to remarks

AIAA-SciTech 2018 / Seven keys for practical understanding and use of CGNS

CGNSisalibraryCGNScannotfitmyowndatastructureXMListhewaytodescribedataExtensionprocessistoolongformeTherearetoomanywaystodescribethesamefeatureinCGNSCGNScannothandleparallelprocessingHPCcannotwastetimeondatamodelCGNSisonlyforarchivaldataCGNSfilesaretoobigTherecommendedimplementationisHDF5butonlyADFisavailableTherearefewusefultoolsforCGNSmanipulationIalreadyhaveHDF5andIdonotneedCGNSCGNSinefficientlystorestimedataandstatistics

CGNSisonlyforCFD

ýýýþþýýýþýþýþ

¨

Page 13: SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNScgns.github.io/CGNS_docs_current/slides/POINOT-RUMSEY-AIAA-201… · CGNS/Python Python implementation Textual document ... >

Ce document et les informations qu’il contient sont la propriété de Safran. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Safran.

Conclusion

AIAA-SciTech 2018 / Seven keys for practical understanding and use of CGNS

You now have a broader view of CGNS

CGNS is far more than a library è it is a means for CFD workflow interoperability

Join

[email protected]

Doyou want toadd CADtraceability?Doyou havesuch astandardforCSM,FSI,CAA,orother field?

Doyou want moredatastructure,morededicated implementations?

Page 14: SEVEN KEYS FOR PRACTICAL UNDERSTANDING AND USE OF CGNScgns.github.io/CGNS_docs_current/slides/POINOT-RUMSEY-AIAA-201… · CGNS/Python Python implementation Textual document ... >

Ce document et les informations qu’il contient sont la propriété de Safran. Ils ne doivent pas être copiés ni communiqués à un tiers sans l’autorisation préalable et écrite de Safran.AIAA-SciTech 2018 / Seven keys for practical understanding and use of CGNS