elsA

icon

76

pages

icon

English

icon

Documents

Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres

icon

76

pages

icon

English

icon

Ebook

Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres

Ref.: /ELSA/MDEV 06001elsA
Version.Edition : 1.0
Date : Jan 10, 2006
Design and Implementation TutorialDSNA Page : 1 / 75
Design and Implementation Tutorial
Quality ApproverFor the authors For the reviewers
Function Integration manager, Head of design method Quality manager Project head
Name M. Gazaix, A. Gazaix Jollès A.M. Vuillot L. Cambier
Visa
Software management : ELSA SCM
Applicability date : immediate
Diffusion : see last page Ref.: /ELSA/MDEV 06001 elsA
Version.Edition : 1.0
Date : Jan 10, 2006
Design and Implementation Tutorial DSNAPage : 2 / 75
HISTORY
version DATE CAUSE and/or NATURE of EVOLUTION
edition
1.0 Jan 10, 2006 Creation from MDEV 03036 Ref.: /ELSA/MDEV 06001elsA
Version.Edition : 1.0
Date : Jan 10, 2006
Design and Implementation TutorialDSNA Page : 3 / 75
CONTENTS
Contents 3
1 Introduction 8
1.0.1 Document’s purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.0.2 Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Theoretical background 9
2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Numerical formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2 Discretization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.3 Mesh and Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Description of the main features available . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.1 ...
Voir icon arrow

Publié par

Nombre de lectures

107

Langue

English

Poids de l'ouvrage

1 Mo

Ref.: /ELSA/MDEV 06001elsA Version.Edition : 1.0 Date : Jan 10, 2006 Design and Implementation TutorialDSNA Page : 1 / 75 Design and Implementation Tutorial Quality ApproverFor the authors For the reviewers Function Integration manager, Head of design method Quality manager Project head Name M. Gazaix, A. Gazaix Jollès A.M. Vuillot L. Cambier Visa Software management : ELSA SCM Applicability date : immediate Diffusion : see last page Ref.: /ELSA/MDEV 06001 elsA Version.Edition : 1.0 Date : Jan 10, 2006 Design and Implementation Tutorial DSNAPage : 2 / 75 HISTORY version DATE CAUSE and/or NATURE of EVOLUTION edition 1.0 Jan 10, 2006 Creation from MDEV 03036 Ref.: /ELSA/MDEV 06001elsA Version.Edition : 1.0 Date : Jan 10, 2006 Design and Implementation TutorialDSNA Page : 3 / 75 CONTENTS Contents 3 1 Introduction 8 1.0.1 Document’s purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.0.2 Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2 Theoretical background 9 2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.1 Numerical formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.2 Discretization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.3 Mesh and Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2 Description of the main features available . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.1 Space discretization schemes . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.2 Time integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.3 Calculation strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.4 Turbulence modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.5 Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.6 Techniques of convergence acceleration . . . . . . . . . . . . . . . . . . . . 13 2.2.7 Rotation frame and ALE technique . . . . . . . . . . . . . . . . . . . . . . 13 2.2.8 Types of join boundary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3 Not discussed in this document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.1 Chimera technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.2 Hierarchical Mesh Refinement (HMR) . . . . . . . . . . . . . . . . . . . . . 14 3 What is Object Oriented software? 15 3.1 Programming Concepts . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2 Object, interface, encapsulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.3 Collaboration between objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.3.1 Messages and methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.4 Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.5 Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Ref.: /ELSA/MDEV 06001 elsA Version.Edition : 1.0 Date : Jan 10, 2006 Design and Implementation Tutorial DSNAPage : 4 / 75 3.6 And see other examples: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4 General architecture 18 4.1 elsA library and applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.1.1 Object Oriented architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.1.2 elsA input data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.1.3 Simulation control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.1.4 Parallel mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.1.5 Multidisciplinary Coupling . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.1.6 Optimization moduleOpt . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.1.7 Access to CFD databases (CGNS, DAMAS) . . . . . . . . . . . . . . . . . 21 4.1.8 Log file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.1.9 Post processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5 Kernel design 22 5.1 Classification and Design organization . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.1.1 Naming convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.2 Overview of the layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.2.1 Base layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.2.2 Geometry layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.2.3 Physical model layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.2.4 Space Discretization layer . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.2.5 Solver layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.2.6 Factory layer (elsA top layer) . . . . . . . . . . . . . . . . . . . . . . . . . 25 6 Fld component 26 6.1 Basic numerical containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.2 Public interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.2.1 Examples of Fld client code . . . . . . . . . . . . . . . . . . . . . . . . . . 27 6.2.2 Check of memory access, control of memory initialiazation . . . . . . . . . 28 6.3 Passing field data to Fortran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6.3.1 FldArray internal structure . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6.3.2 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 6.3.3 Remark on Fortran convention . . . . . . . . . . . . . . . . . . . . . . . . . 30 Ref.: /ELSA/MDEV 06001elsA Version.Edition : 1.0 Date : Jan 10, 2006 Design and Implementation TutorialDSNA Page : 5 / 75 7 Geo component 31 7.1 Ghost geometric entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 7.1.1 Ghost cell numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 7.1.2 Ghost interface numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 7.1.3 Ghost node (mesh points) numbering . . . . . . . . . . . . . . . . . . . . . 31 7.1.4 Simplified example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 7.1.5 Identical numbering of cell / interface / node . . . . . . . . . . . . . . . . . 32 7.2 Address and increment methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 7.2.1 Example: Centered convective fluxes . . . . . . . . . . . . . . . . . . . . . 35 7.2.2 Flux balance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8 Tur component 37 8.1 Definition of the public interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 8.2 Class model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 8.3 Polymorphism in turbulence modeling . . . . . . . . . . . . . . . . . . . . . . . . . 41 8.4 How to introduce a new turbulent model? . . . . . . . . . . . . . . . . . . . . . . . 42 8.4.1 Use of inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 9 Oper component 44 9.1 Oper Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 9.1.1 OperBase abstract class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 9.1.2 OperGrad class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 9.1.3 OperTerm abstract class . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 9.1.4 OperFlux abstract class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 9.1.5 OperSou abstract class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 9.2 Fxc Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 9.2.1 Centered convective operators . . . . . . . . . . . . . . . . . . . . . . . . . 47 9.2.2 Dissipative operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 9.2.3 Upwind convective operators . . . . . . . . . . . . . . . . . . . . . . . . . . 47 9.3 Fxd Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 9.3.1 Diffusive flux operators for mean flow or turbulent system . . . . . . . . . . 48 9.3.2 Diffusive flux with different kind of gradients . . . . . . . . . . . . 48 9.4 Sou Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Ref.: /ELSA/MDEV 06001 elsA Version.Edition : 1.0 Date : Jan 10, 2006 Design and Implementation Tutorial DSNAPage : 6 / 75 9.5 How to introduce a new operator? . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 10 Bnd component 50 10.1 Boundary treatments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 10.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 10.1.2 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 10.1.3 Additional details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 10.2 Public interface, class model and polymorphism . . . . . . . . . . . . . . . . . . . . 52 10.3 How to introduce a new boundary condition? . . . . . . . . . . . . . . . . . . . . . 55 10.3.1 Use of inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 11 Join component 57 11.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 11.2 Class diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 11.2.1 Bridge design pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 11.2.2 JoinBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 11.2.3 JoinAdjacent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 11.3 Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Voir icon more
Alternate Text