The Symplegma project Symplegma, a JVM implementation for

Symplegma numerical methods in computational mechanics. SDE

Climax jfem jbem Christos G. Panagiotopoulos gendomain strdyn More Institute of Applied & Computational Mathematics FuturEye PDE Foundation of Research and Technology–Hellas SymJava Coupling Conclusions FOSSCOMM 2018, 13-14 October Free and Open Source Software Communities Meeting Computer Science Department

The Symplegma project The Symplegma project

Symplegma

SDE

Climax jfem jbem Symplegma gendomain What is ? strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Symplegma: a computational mechanics framework and beyond

The Symplegma • Java code developed for personal research activity. project • Main orientation, education and research.

Symplegma The spatiotemporal path of the project: SDE • 2008-2010, Aristotle University of , Climax Thessaloniki, jfem jbem • 2010-present, University of Seville, Seville, Spain gendomain strdyn • 2010-2011, Charles University of Prague, Prague, Czechia More FuturEye PDE • 2013, GEOMEC Engineering, Stavanger, Norway SymJava Coupling • 2014-present, Foundation of Research and Technology, Conclusions , Crete • 2017-2018, Technical University of Crete, Chania, Crete • 2017-present, Technological Educational Institute of Crete, Rethymno, Crete

The Symplegma project Symplegma: a computational mechanics framework and beyond

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Symplegma on the net

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Computational mechanics and numerical computing

The Symplegma project From International Association for Computational Mechanics website

Symplegma Computational Mechanics (CM) is the development and application

SDE of numerical methods and digital computers to the solution of

Climax problems posed by Engineering and Applied Science with the jfem objectives of understanding and harnessing the resources of nature. jbem gendomain strdyn More Interdisciplinary FuturEye PDE SymJava CM involves different fields of expertise. Its three pillars are Coupling mathematics, computer science, and mechanics. Computational fluid Conclusions dynamics, computational thermodynamics, computational electromagnetics, computational solid mechanics are some of the many specializations within CM.

The Symplegma project Numerical methods

The Symplegma project Mathematics

Symplegma Ordinary and Partial differential equations, linear algebra and

SDE numerical analysis.

Climax jfem jbem Methods gendomain strdyn FEM, FDM, and BEM are the most popular numerical methods More FuturEye PDE used in order of dominance. In solid mechanics FEM are far SymJava Coupling more prevalent, whereas in fluid mechanics, thermodynamics, Conclusions and electromagnetism, FDM are almost equally applicable. The BEM is in general less popular, but has a niche in certain areas (e.g., acoustics, fracture).

The Symplegma project Java?

The Symplegma project General Java is a general purpose, computer programming language, gained Symplegma widespread popularity. Appealing features of Java include: clean and SDE simple syntax, high level of maintainability of Java code, portability, Climax jfem automatic memory management, multithreading and networking jbem gendomain capabilities, wealth of libraries and tools. strdyn More FuturEye PDE SymJava Science Coupling Early interest in Java from the scientific communities to determine the Conclusions level of performance offered by Java, and its suitability for developing scientific software. The Java Grande Forum (JGF) was an initiative to encourage interest in Java amongst the scientific and HPC communities.

The Symplegma project Why and for what reason?

The Symplegma project Java Java is considered as an alternative, and not subsitute, language for Symplegma numerical, scientific and engineering computations. FORTRAN, SDE C/C++ are the dominants with Python and Julia being suppementary.

Climax Java should be considered both for the language and the Java Virtual jfem jbem Machine, while lot of significant languages running on the JVM have gendomain been arised (e.g. Groovy, Scala, Clojure, Jython, JRuby, etc.). strdyn More FuturEye PDE SymJava Symplegma & SDE Coupling Symplegma and the respective platform SDE are considered to Conclusions become an integrated computational mechanics platform with main orientation research and education. Substitution of commercial or open source code capable to handle huge problems of industry is not considered.

The Symplegma project The Symplegma components

The Symplegma project

Symplegma Components used: SDE • Java, Groovy Climax jfem • Climax, SDE jbem gendomain • Apache Commons Math, JAMA, JBLAS strdyn More • JLaTeXMath FuturEye PDE SymJava • Coupling Futureye, SymJava Conclusions • ...among other ...

The Symplegma project The Climax packages

The Symplegma project Some packages developed as part of Climax : Symplegma • jbem: Boundary element method components SDE • jfem: Finite element method components Climax jfem • jbem gendomain: A general purposes domain gendomain strdyn • geom: Utilities for geometric entities More • FuturEye PDE sympmesher: A simple mesher SymJava Coupling • jdem (draft): Discrete element method Conclusions • structuraldynamics: Structural dynamics and vibrations Symplegma may turn out to be a pocketknife-like tool. . .

The Symplegma project The Symplegma project

Symplegma

SDE Climax SDE: An integrated jfem jbem gendomain development environment for strdyn More FuturEye PDE Symplegma components SymJava Coupling Conclusions

The Symplegma project Description of SDE environment

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions The SDE environment consists of three segments (a) the text area (input) (b) the communication area (output) (c) the area of graphical visualization (output) key: simplicity The Symplegma project Plots - PlotFrame

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Plots - PlotFrame

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Plots - PlotFrame - jlatexmath

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project The Symplegma project

Symplegma

SDE

Climax jfem The java source code, classes jbem gendomain strdyn and libraries More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project The code skeleton

The Symplegma Pre-processing Processing project • Declare variables • Declare algorithms Symplegma • Define domains • Set analysis’ parameters SDE • Define nodes • Do the analysis Climax jfem • jbem Define element gendomain strdyn • Define other necessary More entities Post-processing FuturEye PDE SymJava Coupling • Manipulating results Conclusions • Visualize • Plotting

The Symplegma project The Symplegma project

Symplegma

SDE

Climax jfem jfem: The finite element jbem gendomain strdyn method implementation More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Beam elastodynamics

The Symplegma project Euler-Bernoulli ∂4v ∂2v Symplegma EI + ̺A = q(x,t) SDE ∂x4 ∂t2 Climax jfem jbem gendomain strdyn More Timoshenko FuturEye PDE SymJava Coupling ∂ψ ∂2v ∂2v Conclusions κGA − + ρA = q(x,t)  ∂x ∂x2  ∂t2 ∂v ∂2ψ ∂2ψ κGA − ψ + EI − ̺I = 0. ∂x  ∂x2 ∂t2

The Symplegma project Climax (Groovy) Code

The Symplegma 1 import jfem . ∗ ; project 2 3 // define a fem domain 4 dom=theUniverse .FEMDomain() ; 5 Symplegma 6 L=0.1; NNodes=200; 7 SDE 8 // define material Climax 9 mat= new ElasticMaterial (1,193000000000 ,0.25,7850.0) 10 jfem 11 // define cross −sections jbem new gendomain 12 sect= CrossSection(1, 0.0046, 0.00096) strdyn 13 14 // define nodes More 15 (1..NNodes).each {dom. putNode ( new Node(it , it ∗L/NNodes))} FuturEye PDE 16 SymJava 17 // define elements Coupling 18 (1.. < NNodes) . each {dom. putElement(new EBeam2d(it , dom.getNode( it ) ,dom.getNode ( it+1),mat, sect))} Conclusions 19 20 // define analysis 21 theAnalysis = new EigenAnalysis (dom,3) 22 theAnalysis.analyse() 23 24 // plot eigen−modes 25 theGP.plotDeform( −4,1.0)

The Symplegma project Beam elastodynamics, first bending eigenmode

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Beam elastodynamics, second bending eigenmode

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Beam elastodynamics, third bending eigenmode

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Plane stress elasticity: plate with hole

The Symplegma project

Symplegma • L L . cm SDE x= y=10 0 Climax • Radius r=0.5m jfem jbem gendomain • Dirichlet boundary strdyn More • Modulus of elasticity d = 0.1cm FuturEye PDE E=200GPa SymJava • Navier-Lam´eequations of Coupling • Conclusions Poisson ratio ν=0.25 equilibrium

The Symplegma project Plate with hole: mesh

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Plate with hole: deformed

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Plate with hole: σxx stress

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Plate with hole: σyy stress

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Plate with hole: τxy stress

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Plate with hole: Von Misses stress

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project FEM implementation features (non exhaustive list)

The Symplegma Element Algorithm project • Single dof • Linear Symplegma • Truss • Non linear SDE • Beam (Newton-Raphson) Climax jfem • jbem Plane stress/strain gendomain strdyn • Constraint element More Material Analysis FuturEye PDE SymJava Coupling • Elastic • Quasi-static Conclusions • Inelastic (plasticity, • Transient dynamic (time hardening) domain) • Eigenanalysis

The Symplegma project The Symplegma project

Symplegma

SDE

Climax jfem jbem: The boundary element jbem gendomain strdyn method implementation More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project BEM potential problem

The Symplegma project

Laplace Equation and Harmonic Functions. Symplegma

SDE y

Climax ΓD ΓD 2 jfem ∇ u(x,y) = 0 in Ω jbem gendomain strdyn u = f on ΓD More ∂u ∂f FuturEye PDE = on ΓN SymJava ∂n ∂n Coupling x 4x2−(2y−1)2 Conclusions f = e sin (4x(2y − 1))

The Symplegma project BEM potential problem (discretization)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project BEM potential problem (u-distribution)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project BEM potential problem (u-distribution)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project ∂u BEM potential problem (∂n-distribution)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project ∂u BEM potential problem (∂n-distribution)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project BEM elasticity problem (discretization)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project BEM elasticity problem (deformed)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project BEM elasticity problem (deformed internal-1)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project BEM elasticity problem (deformed internal-2)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Contact mechanics problem with BEM

The Symplegma project N E (u)= E i(ui)= Symplegma Xi=1 SDE N 1 Climax C(i) i i i i jfem e (u ):e (u )dΩ. i 2 jbem i ZΩ gendomain X=1 strdyn N More i i W (t, u)= u (x,t) · pN(x,t)dS FuturEye PDE Z SymJava i=1 ΓN Coupling X Conclusions

E (u) − W (t, u) if u = uD on ΓD, Π(t, u)= [[u]]n ≥−gn on ΓC,   ∞ elsewhere,   The Symplegma project Contact problem with BEM

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Contact problem with BEM

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Contact problem with BEM

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project BEM implementation features (non exhaustive list)

The Symplegma Geometry Material project • One dimensions • Elastic (iso-, orthotropic) Symplegma • Two dimensions • Viscous SDE • Three dimensions • Potential Climax jfem jbem gendomain strdyn More Element Analysis FuturEye PDE SymJava Coupling • Point 1 node • Quasi-static Conclusions • Line 2-3 nodes • Transient elastodynamics • Quad 4-9 nodes • Viscoelastic • Multiple domains • Contact

The Symplegma project The Symplegma project

Symplegma

SDE Climax Climax general domain and jfem jbem gendomain usage of SDE as a numerical strdyn More FuturEye PDE computing platform SymJava Coupling Conclusions

The Symplegma project The generalized domain

The Symplegma • The gendomain is an entity that mainly consists of nodes project with degrees of freedom and respective values on several time steps. Symplegma • There is a direct connection of gendomain with the SDE graphics area. Climax jfem • We present it here through finite differences method jbem gendomain (FDM) examples solving the wave equation. strdyn 2 2 More ∂ u 2 ∂ u FuturEye PDE = c x ∈ Ω, t ∈ (0, T ] SymJava ∂t2 ∂x2 Coupling ∂ Conclusions u(x, 0) = u (x), u(x, 0) = v (x) x ∈ Ω 0 ∂t 0

u(x,t) =u ˜ x ∈ ΓD, t ∈ (0, T ] ∂u(x,t) =q ˜ x ∈ ΓN, t ∈ (0, T ] ∂x

The Symplegma project Time evolution of deformation (00/10)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Time evolution of deformation (01/10)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Time evolution of deformation (02/10)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Time evolution of deformation (03/10)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Time evolution of deformation (04/10)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Time evolution of deformation (05/10)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Time evolution of deformation (06/10)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Time evolution of deformation (07/10)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Time evolution of deformation (08/10)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Time evolution of deformation (09/10)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Time evolution of deformation (10/10)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Wave propagation in 2D acoustic medium

The For the circular membrane problem the wave equation in (r, φ) Symplegma project polar coordinates 1 ∂2u ∂2u 1 ∂u 1 ∂2u Symplegma = + + c2 ∂t2 ∂r2 r ∂r r2 ∂φ2 SDE

Climax under approrpiate boundary and initial conditions. After jfem jbem substitution of finite difference equations we may arrive at: gendomain strdyn 1 1 n+1 2 2 n − n n n ui,j = c ∆t (ui+1,j ui−1,j)+ 2 (ui−1,j + ui+1,j More 2ri∆r ∆r FuturEye PDE h SymJava n 1 n n n n−1 n Coupling − u u u − u − u u 2 i,j)+ 2 2 ( i,j−1 + i,j+1 2 i,j) i,j + 2 i,j Conclusions ri ∆φ i 2c∆t The Courant number in that case is C = ∆r∆φ stability condition ∆r∆φ C ≤ 1 → ∆t ≤ . 2c

The Symplegma project Wave propagation on circular membrane (01/08)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Wave propagation on circular membrane (02/08)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Wave propagation on circular membrane (03/08)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Wave propagation on circular membrane (04/08)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Wave propagation on circular membrane (05/08)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Wave propagation on circular membrane (06/08)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Wave propagation on circular membrane (07/08)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Wave propagation on circular membrane (08/08)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project The Symplegma project

Symplegma

SDE Climax The structuraldynamics jfem jbem gendomain package as a toolbox for strdyn More FuturEye PDE educational purposes SymJava Coupling Conclusions

The Symplegma project Classes as entities of structural dynamics

The Symplegma project Classes of some structural dynamics entities:

Symplegma • sdof the single degree of freedom system SDE • sdofSeries a system of masses connected through Climax jfem springs in series jbem gendomain • shearframe a shear frame multistorey frame strdyn More • pendulum a multiple pendulum (currently up to two FuturEye PDE SymJava masses mey be considered) Coupling Conclusions All these classes implement the interface contraption which mainly has the function SelfPortrait and Motion both for connection and print on the graphics area.

The Symplegma project Double pendulum

The Symplegma Kinetic energy project 1 2 ˙2 ˙ ˙ 1 2 ˙2 T = (m1 + m2)l1θ1 + m2l1l2θ1θ2 cos (θ1 − θ2)+ m2l2θ2. Symplegma 2 2 SDE Potential energy, Climax jfem jbem V − − gendomain = (m1 + m2)gl1 cos θ1 m2gl2 cos θ2 + const. strdyn More Equations of motion through Lagrange’s equations: FuturEye PDE SymJava Coupling d ∂T ∂T ∂V Conclusions − + = 0 dt  ∂q˙i  ∂qi ∂qi Solving using a pendulum’s function that utilizes ClassicalRungeKuttaIntegrator (Runge-Kutta) from Commons Math of Apache.

The Symplegma project Pendulum’s motion (01/09)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Pendulum’s motion (02/09)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Pendulum’s motion (03/09)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Pendulum’s motion (04/09)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Pendulum’s motion (05/09)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Pendulum’s motion (06/09)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Pendulum’s motion (07/09)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Pendulum’s motion (08/09)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Pendulum’s motion (09/09)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project The Symplegma project

Symplegma

SDE

Climax jfem Other packages than Climax jbem gendomain strdyn ...and more... More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project The Symplegma project

Symplegma

SDE

Climax jfem FuturEye Java PDE solver jbem gendomain strdyn with FEM More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Introduction

The Symplegma project FuturEye FuturEyea is a Java based Finite Element Method (FEM) Symplegma Toolkit, providing concise, natural and easy understanding SDE programming interfaces for users who wish to develop research Climax and/or engineering FEM algorithms for Forward and/or Inverse jfem jbem Problems. gendomain strdyn ahttps://github.com/yuemingl/Futureye_JIT More FuturEye PDE SymJava Coupling Weak form abstraction Conclusions One of the most appealing features is that of the weak form classes for approximating PDEs’ strong forms. Different weak forms may be involved in different techniques for solving the same PDE problem with FEM.

The Symplegma project Weak forms of PDEs

The Symplegma project https://en.wikipedia.org/wiki/Weak_formulation

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project Solve Poisson’s equation

The Symplegma project

Symplegma

SDE

Climax jfem jbem 1 gendomain Find u ∈ H (Ω) such that strdyn More FuturEye PDE − ∆u(x,y)= f(x,y), (x,y) ∈ Ω SymJava Coupling u(x,y) = 0, (x,y) ∈ ∂Ω Conclusions f(x,y)= −2(x2 + y2) + 36

The Symplegma project PDE potential problem in SDE

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain strdyn More FuturEye PDE SymJava Coupling Conclusions

The Symplegma project PDE FuturEye implementation features (non exhaustive list)

The Symplegma Function Weak form project • Constant • Laplace Symplegma • Single variable • Convection-diffusion SDE • Combination • Navier-Stokes Climax jfem • • jbem Composition . . . gendomain strdyn • Derivative More • Operators FuturEye PDE Several variables SymJava Coupling • Vector function • div Conclusions • grad • curl

The Symplegma project The Symplegma project

Symplegma

SDE Climax SymJava A Java library for jfem jbem gendomain fast symbolic-numeric strdyn More FuturEye PDE computation SymJava Coupling Conclusions

The Symplegma project Introduction

The Symplegma project SymJava Symplegma SymJavaa is a Java library for symbolic-numeric computation. SDE Java bytecode is generated at runtime for symbolic expressions Climax jfem which make the numerical evaluation really fast. jbem gendomain a strdyn https://github.com/yuemingl/SymJava More FuturEye PDE SymJava Coupling Utilization Conclusions While it is not included in SDE by default, its jar file might be loaded from menu bar (Load→Add jar).

The Symplegma project A differentiation example

The Symplegma 1 //https:// github .com/yuemingl/SymJava project 2 import static symjava . symbolic .Symbol. ∗ ; 3 import symjava . bytecode .BytecodeFunc; Symplegma 4 import symjava . symbolic . ∗ ; SDE 5 ∗ Climax 6 Expr expr = x + y z ; jfem 7 println(expr); //x + y∗ z jbem gendomain 8 strdyn 9 Expr expr2 = expr.subs(x, y ∗y ) ; More 10 println(expr2); //yˆ2 + y∗ z FuturEye PDE SymJava 11 println(expr2. diff(y)); // 2∗ y + z Coupling 12 Conclusions 13 Func f = new Func(”f1”, (expr2. diff(y))); 14 println(f); // 2∗ y + z 15 16 BytecodeFunc func = f.toBytecodeFunc(); 17 println(func.apply(1,2)); //4.0

The Symplegma project The Symplegma project

Symplegma

SDE Climax Coupling of different jfem jbem gendomain numerical methods and/or strdyn More FuturEye PDE different physics domains SymJava Coupling Conclusions

The Symplegma project Domain Decomposition Methods (e.g., DtN)

The Symplegma project

Symplegma

SDE

Climax jfem jbem gendomain bf bf fb strdyn Initialize ui on interface Γ =Γ and iterate while p > tol: bf More 1 Solve BEM → t FuturEye PDE i SymJava bf fb Coupling 2 ti → fi Conclusions fb 3 Solve FEM → ui bf bf fb 4 ui+1 = (1 − θ)ui + θui bf bf 5 Compute some norm p of difference between ui+1 and ui where θ a relaxation parameter usually in [0, 1].

The Symplegma project Educational activity: past

The Symplegma Experience gained: project • Previously developed software, dynasoft and edusoft, at

Symplegma Aristotle University of Thessaloniki, for courses such

SDE “Strength of Materials” and “Structural Dynamics”. Climax • Course on “Computational Mechanics” at the Department jfem jbem of Production Engineering & Management, Technical gendomain strdyn University of Crete. More FuturEye PDE • Course on “Computational Acoustics” at the Department SymJava Coupling of Music Technology and Acoustics Engineering of the Conclusions Technological Educational Institute of Crete. • Course on “Dynamics, vibration and control of structures” at the Department of Production Engineering & Management, Technical University of Crete.

The Symplegma project Educational activity: current

The Symplegma project Experience to be gained (?): • Symplegma Reformation of the course on “Computational Acoustics”

SDE at the Department of Music Technology and Acoustics

Climax Engineering of the Technological Educational Institute of jfem jbem Crete. gendomain strdyn • Course on “Applied Mathematics” at the Department of More Music Technology and Acoustics Engineering of the FuturEye PDE SymJava Coupling Technological Educational Institute of Crete. Conclusions • Course on “Structural Acoustics” at the Department of Music Technology and Acoustics Engineering of the Technological Educational Institute of Crete.

The Symplegma project Conclusions

The Symplegma project

Symplegma • SDE Improvement and optimization of existed code Climax • Advanced coupling strategies between domains of different jfem jbem numerical methods (e.g., FEM-BEM) and/or physics (e.g., gendomain strdyn Fluid-Structure) More FuturEye PDE • Advanced plotting features SymJava Coupling • Further development of the 3D graphics area (JavaFX) Conclusions

The Symplegma project