symplegma , a jvm implementation for numerical methods in...
TRANSCRIPT
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Symplegma, a JVM implementation for
numerical methods in computational mechanics.
Christos G. Panagiotopoulos
Institute of Applied & Computational MathematicsFoundation of Research and Technology–Hellas
FOSSCOMM 2018, 13-14 OctoberFree and Open Source Software Communities Meeting
Computer Science DepartmentUniversity of Crete
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
What is Symplegma?
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Symplegma: a computational mechanics framework
and beyond
• Java code developed for personal research activity.
• Main orientation, education and research.
The spatiotemporal path of the project:
• 2008-2010, Aristotle University of Thessaloniki,Thessaloniki, Greece
• 2010-present, University of Seville, Seville, Spain
• 2010-2011, Charles University of Prague, Prague, Czechia
• 2013, GEOMEC Engineering, Stavanger, Norway
• 2014-present, Foundation of Research and Technology,Heraklion, Crete
• 2017-2018, Technical University of Crete, Chania, Crete
• 2017-present, Technological Educational Institute ofCrete, Rethymno, Crete
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Symplegma: a computational mechanics framework
and beyond
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Symplegma on the net
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Computational mechanics and numerical computing
From International Association for Computational Mechanics website
Computational Mechanics (CM) is the development and applicationof numerical methods and digital computers to the solution ofproblems posed by Engineering and Applied Science with theobjectives of understanding and harnessing the resources of nature.
Interdisciplinary
CM involves different fields of expertise. Its three pillars aremathematics, computer science, and mechanics. Computational fluiddynamics, computational thermodynamics, computationalelectromagnetics, computational solid mechanics are some of themany specializations within CM.
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Numerical methods
Mathematics
Ordinary and Partial differential equations, linear algebra andnumerical analysis.
Methods
FEM, FDM, and BEM are the most popular numerical methodsused in order of dominance. In solid mechanics FEM are farmore prevalent, whereas in fluid mechanics, thermodynamics,and electromagnetism, FDM are almost equally applicable. TheBEM is in general less popular, but has a niche in certain areas(e.g., acoustics, fracture).
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Java?
General
Java is a general purpose, computer programming language, gained
widespread popularity. Appealing features of Java include: clean and
simple syntax, high level of maintainability of Java code, portability,
automatic memory management, multithreading and networking
capabilities, wealth of libraries and tools.
Science
Early interest in Java from the scientific communities to determine the
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
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Why and for what reason?
Java
Java is considered as an alternative, and not subsitute, language fornumerical, scientific and engineering computations. FORTRAN,C/C++ are the dominants with Python and Julia being suppementary.Java should be considered both for the language and the Java VirtualMachine, while lot of significant languages running on the JVM havebeen arised (e.g. Groovy, Scala, Clojure, Jython, JRuby, etc.).
Symplegma & SDE
Symplegma and the respective platform SDE are considered tobecome an integrated computational mechanics platform with mainorientation research and education. Substitution of commercial oropen source code capable to handle huge problems of industry is notconsidered.
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
The Symplegma components
Components used:
• Java, Groovy
• Climax, SDE
• Apache Commons Math, JAMA, JBLAS
• JLaTeXMath
• Futureye, SymJava
• . . . among other . . .
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
The Climax packages
Some packages developed as part of Climax :
• jbem: Boundary element method components
• jfem: Finite element method components
• gendomain: A general purposes domain
• geom: Utilities for geometric entities
• sympmesher: A simple mesher
• jdem (draft): Discrete element method
• structuraldynamics: Structural dynamics and vibrations
Symplegma may turn out to be a pocketknife-like tool. . .
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
SDE: An integrateddevelopment environment forSymplegma components
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Description of SDE environment
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
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Plots - PlotFrame
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Plots - PlotFrame
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Plots - PlotFrame - jlatexmath
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
The java source code, classesand libraries
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
The code skeleton
Pre-processing
• Declare variables
• Define domains
• Define nodes
• Define element
• Define other necessaryentities
Processing
• Declare algorithms
• Set analysis’ parameters
• Do the analysis
Post-processing
• Manipulating results
• Visualize
• Plotting
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
jfem: The finite elementmethod implementation
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Beam elastodynamics
Euler-Bernoulli
EI∂4v
∂x4+ A
∂2v
∂t2= q(x, t)
Timoshenko
κGA
(
∂ψ
∂x−∂2v
∂x2
)
+ ρA∂2v
∂t2= q(x, t)
κGA
(
∂v
∂x− ψ
)
+ EI∂2ψ
∂x2− I
∂2ψ
∂t2= 0.
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Climax (Groovy) Code
1 import j f em .∗ ;23 // d e f i n e a fem domain4 dom=theUn i v e r s e . FEMDomain( ) ;56 L=0.1; NNodes=200;78 // d e f i n e ma t e r i a l9 mat= new E l a s t i cM a t e r i a l ( 1 , 193000000000 , 0 . 25 , 7850 . 0)
1011 // d e f i n e c ros s−s e c t i o n s12 s e c t= new C r o s s S e c t i o n ( 1 , 0 . 0046 , 0 . 00096)1314 // d e f i n e nodes15 ( 1 . . NNodes ) . eachdom . putNode (new Node ( i t , i t ∗L/NNodes ) )1617 // d e f i n e e l ement s18 (1. .<NNodes ) . eachdom . putE lement (new EBeam2d ( i t , dom . getNode ( i t ) ,dom . getNode
( i t +1) ,mat , s e c t ) )1920 // d e f i n e a n a l y s i s21 t h eA n a l y s i s = new E i g e nAna l y s i s (dom , 3 )22 t h eA n a l y s i s . a n a l y s e ( )2324 // p l o t e igen−modes25 theGP . p lotDe form (−4 ,1.0)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Beam elastodynamics, first bending eigenmode
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Beam elastodynamics, second bending eigenmode
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Beam elastodynamics, third bending eigenmode
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Plane stress elasticity: plate with hole
• Modulus of elasticityE=200GPa
• Poisson ratio ν=0.25
• Lx=Ly=10.0cm
• Radius r=0.5m
• Dirichlet boundaryd = 0.1cm
• Navier-Lame equations ofequilibrium
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Plate with hole: mesh
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Plate with hole: deformed
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Plate with hole: σxx stress
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Plate with hole: σyy stress
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Plate with hole: τxy stress
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Plate with hole: Von Misses stress
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
FEM implementation features (non exhaustive list)
Element
• Single dof
• Truss
• Beam
• Plane stress/strain
• Constraint elementMaterial
• Elastic
• Inelastic (plasticity,hardening)
Algorithm
• Linear
• Non linear(Newton-Raphson)
Analysis
• Quasi-static
• Transient dynamic (timedomain)
• Eigenanalysis
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
jbem: The boundary elementmethod implementation
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
BEM potential problem
Laplace Equation and Harmonic Functions.
x
y
ΓDΓD
∇2u(x, y) = 0 in Ω
u = f on ΓD
∂u
∂n=∂f
∂non ΓN
f = e4x2−(2y−1)2 sin (4x(2y − 1))
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
BEM potential problem (discretization)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
BEM potential problem (u-distribution)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
BEM potential problem (u-distribution)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
BEM potential problem (∂u∂n-distribution)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
BEM potential problem (∂u∂n-distribution)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
BEM elasticity problem (discretization)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
BEM elasticity problem (deformed)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
BEM elasticity problem (deformed internal-1)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
BEM elasticity problem (deformed internal-2)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Contact mechanics problem with BEM
E (u) =
N∑
i=1
Ei(ui) =
N∑
i=1
∫
Ωi
1
2C(i)ei(ui):ei(ui) dΩ.
W (t, u) =
N∑
i=1
∫
ΓN
ui(x, t) · piN(x, t) dS
Π(t, u) =
E (u)− W (t, u) if u = uD on ΓD,
[[u]]n ≥ −gn on ΓC,
∞ elsewhere,
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Contact problem with BEM
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Contact problem with BEM
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Contact problem with BEM
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
BEM implementation features (non exhaustive list)
Geometry
• One dimensions
• Two dimensions
• Three dimensions
Element
• Point 1 node
• Line 2-3 nodes
• Quad 4-9 nodes
Material
• Elastic (iso-, orthotropic)
• Viscous
• Potential
Analysis
• Quasi-static
• Transient elastodynamics
• Viscoelastic
• Multiple domains
• Contact
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Climax general domain andusage of SDE as a numerical
computing platform
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
The generalized domain
• The gendomain is an entity that mainly consists of nodeswith degrees of freedom and respective values on severaltime steps.
• There is a direct connection of gendomain with thegraphics area.
• We present it here through finite differences method(FDM) examples solving the wave equation.
∂2u
∂t2= c2
∂2u
∂x2x ∈ Ω, t ∈ (0, T ]
u(x, 0) = u0(x),∂
∂tu(x, 0) = v0(x) x ∈ Ω
u(x, t) = u x ∈ ΓD, t ∈ (0, T ]
∂u(x, t)
∂x= q x ∈ ΓN, t ∈ (0, T ]
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Time evolution of deformation (00/10)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Time evolution of deformation (01/10)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Time evolution of deformation (02/10)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Time evolution of deformation (03/10)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Time evolution of deformation (04/10)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Time evolution of deformation (05/10)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Time evolution of deformation (06/10)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Time evolution of deformation (07/10)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Time evolution of deformation (08/10)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Time evolution of deformation (09/10)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Time evolution of deformation (10/10)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Wave propagation in 2D acoustic medium
For the circular membrane problem the wave equation in (r, φ)polar coordinates
1
c2∂2u
∂t2=∂2u
∂r2+
1
r
∂u
∂r+
1
r2∂2u
∂φ2
under approrpiate boundary and initial conditions. Aftersubstitution of finite difference equations we may arrive at:
un+1i,j = c2∆t2
[ 1
2ri∆r(uni+1,j − uni−1,j) +
1
∆r2(uni−1,j + uni+1,j
− 2uni,j) +1
r2i∆φ2(uni,j−1 + uni,j+1 − 2uni,j)
]
− un−1i,j + 2uni,j
The Courant number in that case is C = 2c∆t∆r∆φ
stabilitycondition
C ≤ 1 → ∆t ≤∆r∆φ
2c.
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Wave propagation on circular membrane (01/08)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Wave propagation on circular membrane (02/08)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Wave propagation on circular membrane (03/08)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Wave propagation on circular membrane (04/08)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Wave propagation on circular membrane (05/08)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Wave propagation on circular membrane (06/08)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Wave propagation on circular membrane (07/08)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Wave propagation on circular membrane (08/08)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
The structuraldynamicspackage as a toolbox foreducational purposes
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Classes as entities of structural dynamics
Classes of some structural dynamics entities:
• sdof the single degree of freedom system
• sdofSeries a system of masses connected throughsprings in series
• shearframe a shear frame multistorey frame
• pendulum a multiple pendulum (currently up to twomasses mey be considered)
All these classes implement the interface contraption whichmainly has the function SelfPortrait and Motion both forconnection and print on the graphics area.
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Double pendulum
Kinetic energy
T =1
2(m1 +m2)l
21θ
21 +m2l1l2θ1θ2 cos (θ1 − θ2) +
1
2m2l
22θ
22.
Potential energy,
V = −(m1 +m2)gl1 cos θ1 −m2gl2 cos θ2 + const.
Equations of motion through Lagrange’s equations:
d
dt
(
∂T
∂qi
)
−∂T
∂qi+∂V
∂qi= 0
Solving using a pendulum’s function that utilizesClassicalRungeKuttaIntegrator (Runge-Kutta) fromCommons Math of Apache.
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Pendulum’s motion (01/09)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Pendulum’s motion (02/09)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Pendulum’s motion (03/09)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Pendulum’s motion (04/09)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Pendulum’s motion (05/09)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Pendulum’s motion (06/09)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Pendulum’s motion (07/09)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Pendulum’s motion (08/09)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Pendulum’s motion (09/09)
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Other packages than Climax. . . and more. . .
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
FuturEye Java PDE solverwith FEM
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Introduction
FuturEye
FuturEyea is a Java based Finite Element Method (FEM)Toolkit, providing concise, natural and easy understandingprogramming interfaces for users who wish to develop researchand/or engineering FEM algorithms for Forward and/or InverseProblems.
ahttps://github.com/yuemingl/Futureye_JIT
Weak form abstraction
One of the most appealing features is that of the weak formclasses for approximating PDEs’ strong forms. Different weakforms may be involved in different techniques for solving thesame PDE problem with FEM.
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Weak forms of PDEs
https://en.wikipedia.org/wiki/Weak_formulation
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Solve Poisson’s equation
Find u ∈ H1(Ω) such that
−∆u(x, y) = f(x, y), (x, y) ∈ Ω
u(x, y) = 0, (x, y) ∈ ∂Ω
f(x, y) = −2(x2 + y2) + 36
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
PDE potential problem in SDE
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
PDE FuturEye implementation features (nonexhaustive list)
Function
• Constant
• Single variable
• Combination
• Composition
• Derivative
• Several variables
• Vector function
Weak form
• Laplace
• Convection-diffusion
• Navier-Stokes
• . . .
Operators
• div
• grad
• curl
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
SymJava A Java library forfast symbolic-numeric
computation
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Introduction
SymJava
SymJavaa is a Java library for symbolic-numeric computation.Java bytecode is generated at runtime for symbolic expressionswhich make the numerical evaluation really fast.
ahttps://github.com/yuemingl/SymJava
Utilization
While it is not included in SDE by default, its jar file might beloaded from menu bar (Load→Add jar).
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
A differentiation example
1 // h t t p s :// g i t hub . com/ yueming l /SymJava2 import s t a t i c symjava . symbo l i c . Symbol . ∗ ;3 import symjava . bytecode . BytecodeFunc ;4 import symjava . symbo l i c . ∗ ;5
6 Expr exp r = x + y∗z ;7 p r i n t l n ( exp r ) ; //x + y∗ z8
9 Expr expr2 = exp r . subs ( x , y∗y ) ;10 p r i n t l n ( expr2 ) ; //yˆ2 + y∗ z11 p r i n t l n ( expr2 . d i f f ( y ) ) ; //2∗ y + z12
13 Func f = new Func ( ” f1 ” , ( expr2 . d i f f ( y ) ) ) ;14 p r i n t l n ( f ) ; //2∗ y + z15
16 BytecodeFunc func = f . toBytecodeFunc ( ) ;17 p r i n t l n ( func . app l y (1 ,2 ) ) ; // 4 .0
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Coupling of differentnumerical methods and/ordifferent physics domains
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Domain Decomposition Methods (e.g., DtN)
Initialize ubfi on interface Γbf = Γfb and iterate while p > tol:
1 Solve BEM → tbfi
2 tbfi → f
fbi
3 Solve FEM → ufbi
4 ubfi+1 = (1− θ)ubfi + θu
fbi
5 Compute some norm p of difference between ubfi+1 and ubfiwhere θ a relaxation parameter usually in [0, 1].
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Educational activity: past
Experience gained:
• Previously developed software, dynasoft and edusoft, atAristotle University of Thessaloniki, for courses such“Strength of Materials” and “Structural Dynamics”.
• Course on “Computational Mechanics” at the Departmentof Production Engineering & Management, TechnicalUniversity of Crete.
• Course on “Computational Acoustics” at the Departmentof Music Technology and Acoustics Engineering of theTechnological 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
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Educational activity: current
Experience to be gained (?):
• Reformation of the course on “Computational Acoustics”at the Department of Music Technology and AcousticsEngineering of the Technological Educational Institute ofCrete.
• Course on “Applied Mathematics” at the Department ofMusic Technology and Acoustics Engineering of theTechnological Educational Institute of Crete.
• Course on “Structural Acoustics” at the Department ofMusic Technology and Acoustics Engineering of theTechnological Educational Institute of Crete.
The Symplegma project
The
Symplegma
project
Symplegma
SDE
Climax
jfem
jbem
gendomain
strdyn
More
FuturEye PDE
SymJava
Coupling
Conclusions
Conclusions
• Improvement and optimization of existed code
• Advanced coupling strategies between domains of differentnumerical methods (e.g., FEM-BEM) and/or physics (e.g.,Fluid-Structure)
• Advanced plotting features
• Further development of the 3D graphics area (JavaFX)
The Symplegma project