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

Upload: others

Post on 14-Oct-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

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