GENERAL VIEW OF KRATOS MULTIPHYSICS

Slides:



Advertisements
Similar presentations
Steady-state heat conduction on triangulated planar domain May, 2002
Advertisements

MEG 361 CAD Finite Element Method Dr. Mostafa S. Hbib.
Trellis: A Framework for Adaptive Numerical Analysis Based on Multiparadigm Programming in C++ Jean-Francois Remacle, Ottmar Klaas and Mark Shephard Scientific.
Designing Tensile Structures Using Generic CAD Applications. Structural membranes 2007, Barcelona, September 2007 Javier Sánchez, Tecnun, University.
Finite Element Primer for Engineers: Part 2
Coupled Fluid-Structural Solver CFD incompressible flow solver has been coupled with a FEA code to analyze dynamic fluid-structure coupling phenomena CFD.
SolidWorks Simulation. Dassault Systemes 3 – D and PLM software PLM - Product Lifecycle Management Building models on Computer Engineering Analysis and.
MCE 561 Computational Methods in Solid Mechanics
© 2011 Autodesk Freely licensed for use by educational institutions. Reuse and changes require a note indicating that content has been modified from the.
Introduction to virtual engineering László Horváth Budapest Tech John von Neumann Faculty of Informatics Institute of Intelligent Engineering.
Outline Lesson 1. Introduction to ANSYS Lesson 2. Basics Lesson 3. Solution phases Lesson 4. Modeling Lesson 5. Material Lesson 6. Loading Lesson 7. Solution.
1 Web Based Interface for Numerical Simulations of Nonlinear Evolution Equations Ryan N. Foster & Thiab Taha Department of Computer Science The University.
First Dutch OpenFOAM Day
Processing of a CAD/CAE Jobs in grid environment using Elmer Electronics Group, Physics Department, Faculty of Science, Ain Shams University, Mohamed Hussein.
Finite Element Method.
An introduction to the finite element method using MATLAB
Haptics and Virtual Reality
Mesh Generation 58:110 Computer-Aided Engineering Reference: Lecture Notes on Delaunay Mesh Generation, J. Shewchuk (1999)
1 20-Oct-15 Last course Lecture plan and policies What is FEM? Brief history of the FEM Example of applications Discretization Example of FEM softwares.
MSc Thesis presentation – Thijs Bosma – December 4th 2013
APPLIED MECHANICS Lecture 13 Slovak University of Technology
ACES WorkshopJun-031 ACcESS Software System & High Level Modelling Languages by
1 1 What does Performance Across the Software Stack mean?  High level view: Providing performance for physics simulations meaningful to applications 
Stress constrained optimization using X-FEM and Level Set Description
Image courtesy of National Optical Astronomy Observatory, operated by the Association of Universities for Research in Astronomy, under cooperative agreement.
Finite Element Analysis
HEAT TRANSFER FINITE ELEMENT FORMULATION
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
Cracow Grid Workshop, November 5-6, 2001 Concepts for implementing adaptive finite element codes for grid computing Krzysztof Banaś, Joanna Płażek Cracow.
Ulrich Heck, DHCAE-Tools UG ___________________________ CAD geometry based pre-processing for CFD using abstract modeling techniques CastNet: CAD-based.
Application Development in Engineering Optimization with Matlab and External Solvers Aalto University School of Engineering.
The Mechanical Simulation Engine library An Introduction and a Tutorial G. Cella.
A Parallel Hierarchical Solver for the Poisson Equation Seung Lee Deparment of Mechanical Engineering
An Introduction to Computational Fluids Dynamics Prapared by: Chudasama Gulambhai H ( ) Azhar Damani ( ) Dave Aman ( )
ANSYS. Overview of ANSYS It is an engineering simulation software developed in 1970 by Dr. John A. Swanson It was developed to use finite element analysis.
A Simulation Framework for Testing Flow Control Strategies Marek Gayer, Milan Milovanovic and Ole Morten Aamo Faculty of Information Technology, Mathematics.
Computational Fluid Dynamics Lecture II Numerical Methods and Criteria for CFD Dr. Ugur GUVEN Professor of Aerospace Engineering.
Advanced Higher Computing Science
Finite element mesh and load definition
Aalto University School of Engineering
Algorithms and Problem Solving
Computer-Aided Design
Xing Cai University of Oslo
Finite Element Method in Geotechnical Engineering
Finite Element Application
Chapter 1 The Big Picture
I. E. Venetis1, N. Nikoloutsakos1, E. Gallopoulos1, John Ekaterinaris2
Data Structures for Efficient and Integrated Simulation of Multi-Physics Processes in Complex Geometries A.Smirnov MulPhys LLC github/mulphys
Kratos 3D Structural Analysis Tutorial
FEM : Finite Element Method 2017.
Introduction to Finite Elements
PreOpenSeesPost: a Generic Interface for OpenSees
ENFORCED MOTION IN TRANSIENT ANALYSIS
FEA Introduction.
Lecture 19 MA471 Fall 2003.
Finite Element Method To be added later 9/18/2018 ELEN 689.
structures and their relationships." - Linus Torvalds
Materials Science & Engineering University of Michigan
FEA convergence requirements.
Optimizing MapReduce for GPUs with Effective Shared Memory Usage
Manipulator Dynamics 2 Instructor: Jacob Rosen
Objective Numerical methods Finite volume.
Slender Structures Load carrying principles
OVERVIEW OF FINITE ELEMENT METHOD
Chapter 2 Rudiment of Structural Analysis and FEM
Algorithms and Problem Solving
Software Design Methodologies and Testing
Realistic multiphysics analysis
Ph.D. Thesis Numerical Solution of PDEs and Their Object-oriented Parallel Implementations Xing Cai October 26, 1998.
structures and their relationships." - Linus Torvalds
Presentation transcript:

GENERAL VIEW OF KRATOS MULTIPHYSICS An introduction to our design philosophy

Introduction Outlook Design principles The description of the model What can Kratos do for you? The description of the model Our implementation of a finite element discretization. Simulating a problem Components of a solution algorithm. Global workflow How can we use all this?

Design principles Intended users Finite element developers Advanced mathematical or engineering background. Basic computer science knowledge. Software developers Expert programmers. Can be interested in using Kratos as a piece in a wider project. Package users Engineers and designers. Use Kratos as a black box. Not interested in implementation details or internal structure. As I removed the previous slide, mention that Kratos is a framework for the solution of finite element problems

Design Principles General design Object-Oriented design Problem is divided into separate objects. An interface defines the interaction between components. Objects based on common FE concepts. C++ programming language Supports object oriented design. High performance code. Multi-layered approach Distinction between basic and high-level code. Each component holds its own data

General Structure Objects Library interfaces FE Methodology Numerical solutions FE Modeling FEM Algorithms

General Structure Layers Dependency Extensions Kratos internals Easy Advanced programming

General Structure Kernel and Applications Kratos Numerical and programming core Fluid Dynamics PFEM Structural Mechanics Physics of the problem Kernel coordinates applications Separate the numerical core and the physics Development of applications is independent The important point here is the last two bullet points Fluid-Structure Interaction Applications can depend on other applications

Components of a model

Data Structure Nodes and Variables X = 5.2 Y = 0.5 Z = 2.0 The Node: Node ID Coordinates Nodal Data 157 The node class manages the information related to a single point of the mesh ID unique identifier for the node Coordinates Position in space Nodal Data Problem-related values

Data Structure Nodes and Variables ID Coordinates Nodal Data VELOCITY? PRESSURE? 12,5 All data is stored in Variable-Value pairs Variables are denoted by an uppercase label. Kratos defines some variables by itself. Applications can define their own variables. To define variables: Associate a name with a type (vector, scalar, matrix)

Data Structure Nodal Data Now Now un-2 un-1 un un+1 tn-2 tn-1 tn tn+1 Historical database Variables tied to the advancement in time. Value stored for current time step, as well as previous steps. Optimized.

Data Structure Nodal Data Non-historical database Single value stored at all times. Not tied to time iteration. Degree of freedom / Dof Tracks the problem unknowns. Position in global system. Fixity status: Free (unknown) or Fixed (boundary condition).

Data Structure Elements and Conditions Hold the information for a single finite element Conditions represent element faces Used to implement boundary conditions Calculate local contributions to system Mass Matrix Damping Stiffness Right hand side vector Elements and conditions concentrate most of the physics of the problem

Data Structure Elements and Conditions Geometry ID Elemental Data Nodes Shape Functions Area, Jacobian, … Elemental and conditional data is Non-historical only Properties Calculate system contributions Me u’’e + De u’e + Ke ue = fe Material properties

Data Structure Organization of Data Each entity stores its data Properties acts like a shared data between different elements and conditions

Data Structure Containers Entities sorted by ID Fast iteration

Data Structure Mesh Mesh stores an arbitrary set of nodes, elements and conditions

Data Structure Model Part ModelPart holds the ProcessInfo, variable list and communicator

Simulating a problem

Solution Strategy Building blocks Local system contributions Me u’’e + De u’e + Ke ue = fe Implements time discretization Collects contributions from elements and conditions Updates the unknowns after solution Time Scheme Time-discrete problem Ae ue = be Finite element assembly Uses a linear solver to solve the system Main level where to add parallelization Builder and Solver Global system A u = b Strategy Controls the flow of the problem Iterates until convergence Solution iterations A Δu = b – A u

Solution Strategy Process and Utility Generic object used to implement non-standard parts of the solution process. Perform a specific task on Execute() Utility Collection of tools to perform a particular task.

Solution Strategy Python Scripts The different objects described up to now are implemented as a C++ library. The solution process is controlled by a Python script. Several Python scripts provided, defining pre-packaged solvers.

Global workflow

Global Workflow Overview Information about the model is read from an input file Nodes Elements Conditions Nodal data Elemental and conditional data A Python script drives the solution process Import Kratos Import and initialize solvers Iterate over time

Global Workflow Input File Property list Begin Properties 0 End Properties Begin Properties 1 DENSITY 2700.00 YOUNG_MODULUS 7000000.00 POISSON_RATIO 0.300 Begin Properties 2 ... Different Properties can define different parameters and values

Global Workflow Input File List of nodes ID X Y Z Begin Nodes 1 2.00000e+00 0.00000e+00 0.00000e+00 2 1.99751e+00 9.96918e-02 0.00000e+00 3 1.90000e+00 0.00000e+00 0.00000e+00 ... 703 -1.99751e+00 9.96918e-02 0.00000e+00 704 -2.00000e+00 0.00000e+00 0.00000e+00 End Nodes

Global Workflow Input File List of elements Element name ID Property index Begin Elements FractionalStep2D 1 0 479 513 480 2 0 513 515 480 3 0 476 511 479 ... 1259 0 3 1 4 1260 0 1 2 4 End Elements Connectivity

Global Workflow Input File List of conditions Condition name ID Property index Begin Conditions WallCondition2D 1 0 103 104 2 0 104 106 3 0 106 107 ... 145 0 63 79 146 0 79 103 End Conditions Connectivity

Global Workflow Input File Nodal Data Node ID Fixity Kratos Variable Begin NodalData DISPLACEMENT_X 1 1 0.00000e+00 2 1 0.00000e+00 3 1 0.00000e+00 ... 703 1 0.00000e+00 704 1 0.00000e+00 End NodalData Value Nodal data is stored in the historical database

Global Workflow Input File Elemental data Element ID Kratos Variable Begin ElementalData C_SMAGORINSKY 1 0.10 2 0.10 3 0.10 ... 125 0.10 126 0.10 End ConditionalData Value

Global Workflow Input File Conditional data Condition ID Kratos Variable Begin ConditionalData IS_STRUCTURE 1 1.00000e+00 2 1.00000e+00 3 1.00000e+00 ... 125 1.00000e+00 126 1.00000e+00 End ConditionalData Value

Thank you for your attention! Find this presentation (and more) in kratos-wiki.cimne.upc.edu