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 University of Crete
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 Thessaloniki, Climax Thessaloniki, Greece 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 Heraklion, 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