AceGen and AceFEM packages

Slides:



Advertisements
Similar presentations
Finite element method Among the up-to-date methods of stress state analysis, the finite element method (abbreviated as FEM below, or often as FEA for analyses.
Advertisements

Course Introduction to virtual engineering Óbuda University John von Neumann Faculty of Informatics Institute of Intelligent Engineering Systems Lecture.
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER 1 Mixed Language Programming on Seaborg Mark Durst NERSC User Services.
Introduction to Programming in C++ John Galletly.
879 CISC Parallel Computation High Performance Fortran (HPF) Ibrahim Halil Saruhan Although the [Fortran] group broke new ground …
Fortran Jordan Martin Steven Devine. Background Developed by IBM in the 1950s Designed for use in scientific and engineering fields Originally written.
A Discrete Adjoint-Based Approach for Optimization Problems on 3D Unstructured Meshes Dimitri J. Mavriplis Department of Mechanical Engineering University.
The Assembly Language Level
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Chapter 17 Design Analysis using Inventor Stress Analysis Module
SolidWorks Simulation. Dassault Systemes 3 – D and PLM software PLM - Product Lifecycle Management Building models on Computer Engineering Analysis and.
CSE351/ IT351 Modeling and Simulation
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 4 Programming and Software EXCEL and MathCAD.
Laser Treatment Modeling Capabilities at Rensselaer-Hartford Ernesto Gutierrez-Miravete Rensselaer at Hartford
Computational Fracture Mechanics
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 3 Programming and Software.
FE Modeling Strategy Decide on details from design Find smallest dimension of interest Pick element types – 1D Beams – 2D Plate or.
MCE 561 Computational Methods in Solid Mechanics
Finite Element Analysis Using Abaqus
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.
MapleSim and the Advantages of Physical Modeling

Introduction to FORTRAN
Processing of a CAD/CAE Jobs in grid environment using Elmer Electronics Group, Physics Department, Faculty of Science, Ain Shams University, Mohamed Hussein.
S.S. Yang and J.K. Lee FEMLAB and its applications POSTEC H Plasma Application Modeling Lab. Oct. 25, 2005.
Automatic Generation of Numerical Codes Jože Korelc University of Ljubljana, Slovenia
Hans-Peter Plag October 16, 2014 Session 3 Programming Languages Data Types and Variables Expressions and Operators Flow Control.
Wrapping Fortran libraries Arjen Markus June 2010.
MathCore Engineering AB Experts in Modeling & Simulation WTC.
Computational Physics Introduction 3/30/11. Goals  Calculate solutions to physics problems  All physics problems can be formulated mathematically. 
Eng Ship Structures 1 Introduction to Matlab.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
Lecture 1 - Introduction June 3, 2002 CVEN 302. Lecture’s Goals General Introduction to CVEN Computer Applications in Engineering and Construction.
Thermoelastic analysis with a home-made FEM Tübingen 8^th-9^th 20074th ILIAS-GW Annual General Meeting Michele Bonaldi, Enrico Serra.
An Adaptive-Stochastic Boussinesq Solver With Safety Critical Applications In Nuclear Reactor Engineering Andrew Hagues PhD Student – KNOO Work Package.
APPLIED MECHANICS Lecture 13 Slovak University of Technology
ANSYS for MEMS by Manjula1 FEM of MEMS on ANSYS MEMS Summer 2007 Why FEM for MEMS? Features in ANSYS Basic Procedures Examples.
FEMA-MES SYSTEM. VERSION 2.0 ON LIVE LINUX PLATFORM Wacław PRZYBYŁO Jarosław KALINOWSKI.
SIMO SIMulation and Optimization ”New generation forest planning system” Antti Mäkinen & Jussi Rasinmäki Dept. of Forest Resource Management.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 Chapter 31.
Stress constrained optimization using X-FEM and Level Set Description
Fortran 95 for the.NET Framework David Bailey
Image courtesy of National Optical Astronomy Observatory, operated by the Association of Universities for Research in Astronomy, under cooperative agreement.
Finite Element Analysis
BOĞAZİÇİ UNIVERSITY DEPARTMENT OF MANAGEMENT INFORMATION SYSTEMS MATLAB AS A DATA MINING ENVIRONMENT.
HEAT TRANSFER FINITE ELEMENT FORMULATION
Cracow Grid Workshop, November 5-6, 2001 Concepts for implementing adaptive finite element codes for grid computing Krzysztof Banaś, Joanna Płażek Cracow.
Ch13-1 Chap 13 Introduction to Matlab 13.1 Introduction MATLAB : The MATrix LABoratory program Not only is the MATLAB programming language exceptionally.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 Chapter 27.
NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS ( NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS (PRACTICAL PART) Tutorial 2 : Matlab - Getting Started.
Application Development in Engineering Optimization with Matlab and External Solvers Aalto University School of Engineering.
University of Texas at San Antonio Complex Variable Finite Element Methods for Fracture Mechanics Analysis Harry Millwater, Ph.D. David Wagner, MS Jose.
INTRODUCTION Session 1 Course: S Introduction to Finite Element Method Year: 2010.
An Introduction to Computational Fluids Dynamics Prapared by: Chudasama Gulambhai H ( ) Azhar Damani ( ) Dave Aman ( )
Hello world !!! ASCII representation of hello.c.
Finite element mesh and load definition
Aalto University School of Engineering
DELLSOFT Technologies Pvt. Ltd.
MatLab Programming By Kishan Kathiriya.
Wrapping Fortran libraries
Objectives of the Presentation
ENFORCED MOTION IN TRANSIENT ANALYSIS
FEA Introduction.
GPU Implementations for Finite Element Methods
Use of Mathematics using Technology (Maltlab)
Chapter 27.
GENERAL VIEW OF KRATOS MULTIPHYSICS
Chapter 31.
Beam Analysis with ANSYS
Presentation transcript:

AceGen and AceFEM packages by Jože Korelc www.fgg.uni-lj.si/Symech/

First release of the packages scheduled for November 2006 Contents AceGen general code generator targeted to deal with expression growth problems AceFEM finite element environment new element oriented technology multi-filed and multi-physics problems First release of the packages scheduled for November 2006

Simultaneous optimizations of expressions: AceGen - highlights Simultaneous optimizations of expressions: vector of auxiliary variables Original matrix (input for code generator): internal data base AceGen user Mathematica heuristic procedures random signatures of expressions Result is simplified matrix, expressed with the new auxiliary variables

Simultaneous generation of control structures: AceGen - highlights Simultaneous generation of control structures: "If" construct "Do" construct fictive variable $V[i,3] $V[i,1] $V[i,2]

Automatic differentiation technique (AD): AceGen - highlights Automatic differentiation technique (AD): differentiation of the whole program Reverse mode / Forward mode Enhancements with respect to the standard AD technique: AD procedure can be initiated at any time and at any point of derivation of the formulas and as many times as required AD as code-to-code translator is replaced by the method that consistently extends current code rather than produce a new one the results of all previous uses of AD are accounted for when AD is used several times inside the same subroutine exceptions handling mechanisms

Multi-language code generation with AceGen: AceGen - highlights Multi-language code generation with AceGen: 2. Symbolic description in AceGen 1. Mathematical description 3. Automatically generated code "Mathematica" "Matlab" void Test(double v[501], double u1[3],double *x, double *L,double g[3]) { v[6]=*x/*L; v[7]=1e0 - v[6]; v[8]=v[6]*v[7]; v[12]=2e0*(u[0]*v[6] + u[1]*v[7]+ u[2]*v[8]); g[0]=v[12]*v[6]; g[1]=v[12]*v[7]; g[2]=v[12]*v[8]; }; "C++" "Fortran" Test[]:=Module[{}, $VV[6]=x$$/L$$; $VV[7]=1 - $VV[6]; $VV[8]=$VV[6]*$VV[7]; $VV[12]=2*(u$$[1]*$VV[6] + u$$[2]*$VV[7]+u$$[3]*$VV[8]); g$$[1]=$VV[6]*$VV[12]; g$$[2]=$VV[7]*$VV[12]; g$$[3]=$VV[8]*$VV[12]; ] SUBROUTINE Test(v,u1,x,L,g) REAL*8 v(500),u1(3),x,L,g(3) v(6)=x/L v(7)=1d0 - v(6) v(8)=v(6)*v(7) v(12)=2d0*(u(1)*v(6) + - u(2)*v(7) + u(3)*v(8)) g(1)=v(12)*v(6) g(2)=v(12)*v(7) g(3)=v(12)*v(8) END

Numerical environments AceGen - highlights Automatic interface to numerical environments: AceGen - symbolic input - problem formulation - user subroutines - interface code - initialization - numerical integration - … numerical user subroutines C Mathematica FORTRAN MATLAB ELFEN FEAP MathLink AceFEM MATLAB CDriver MDriver ABAQUS …. Numerical environments

Multi-environment code generation AceFEM FEAP #include "sms.h" void SKR(double v[5001],ElementSpec *es,ElementData *ed,NodeS FILE *SMTFile; DLLEXPORT int SMTSetElSpec(ElementSpec *es,int *idata,int ic,in { int intc,nd,i; static int pn[6]={1, 2, 3, 4, 0, 0}; static int dof[4]={5, 5, 5, 5}; static int nsto[4]={0, 0, 0, 0}; static int ndat[4]; ….. subroutine elmt10(d,ul,xl,ix,tl,s,p,ndfe,ndme,nste,isw) implicit none include 'sms.h' integer ix(nen),ndme,ndfe,nste,isw,INTEGRATIONCODE double precision xl(ndme,nen),d(*),ul(ndfe,nen,*) double precision s(nste,nste),p(nste),tl(nen),sxd(24) double precision sall(33,33),pall(33),du(24),dh(9) double precision ul0(ndfe,nen),sg(24),sg0(24) character*50 SELEM,datades(2),postdes(0) logical DEBUG parameter (INTEGRATIONCODE=7,DEBUG=.false., # SELEM="Hypersolid") integer i,j,jj,ll,ii,k,kk,i1,i2,i3,hlen,icode double precision w,v(5409),gpost(64,0),npost(8,0) integer ipordl(30) data (ipordl(i),i=1,30)/1,4,3,2,1,2,6,5,1,2,1,5,8,4,1, & 4,8,7,3,4,3,7,6,2,3,7,8,5,6,7/ 1235 format(i3,">",3g17.9) …… Suplementary routines /******************* S U B R O U T I N E *****************/ void SSE(double v[5001],ElementSpec *es,ElementData *ed,Node ,NodeData **nd,double *rdata,int *idata,double *p) { int i44,i45,i46,b51,b52,b55,b58; v[35]=-nd[0]->X[0]+nd[1]->X[0]; v[37]=-nd[0]->X[1]+nd[1]->X[1]; v[31]=es->Data[0]; v[32]=es->Data[1]; v[33]=es->Data[2]; v[34]=sqrt(Power(v[35],2)+Power(v[37],2)); user subroutines

AceFEM FEM environment element 1 .dll file element 2 element ... .m file - data base - evaluation of element quantities - assembly of element contributions - various linear solvers CDriver - Mathematica language - data base in MMA - MMA linear algebra MDriver - input data processing - mesh generation - solution strategies - command language - graphic post-processing General procedures Mathematica C language dynamic link MathLink

general finite element environment AceFEM - highlights general finite element environment multi-physics multi-field problems standard library of elements all elements come with symbolic input ..\Library\EFEM.html element oriented technology takes full advantage of combine symbolic-numeric environment run time debugging element controlled mesh generation element controlled post processing customized engineering applications based on Mathematica

AceFEM - highlights: Multi - field problems induction heating T. Šuštar , C3M - Ljubljana, Slovenia Magnetic Thermal Mechanical

AceFEM - highlights: Multi-scale problems S. Stupkiewicz, IPPT, Warsaw, Poland MICRO - 3D surface roughness MACRO - elastic properties of contact surface MACRO - lubricant flow in contact surface MACRO - thermal properties of contact surface

AceFEM - highlights: structural analysis Sensitivity analysis of single-storey steel building four node shell elements and large displacement truss elements A

AceFEM - highlights: Simulation of technological process J. Lengiewicz, IPPT, Warsaw, Poland Two phase forging

AceGen as multi-language code generator Ways to use the system AceGen as multi-language code generator translates MMA input into efficient C, Fortran, Matab code no calls to external subroutines AD AceGen as generator of finite elements for specific environments templates provided for some commercial and research environments finite element environments have large user groups (ABAQUS several 1000) and companies that make specialized elements finite elements for specific purpose can be expensive AceFEM (independent finite element environment) AceGen + AceFEM complete Finite Element System commercial linear solver (Intel MKL), meshing, …