SlideShare a Scribd company logo
Optimization problems on dynamical
domains with non-matching meshes
Jørgen S. Dokken, Simon W. Funke, August Johansson
Simula Research Laboratory
October 27, 2016
Motivation - Rotating tidal-turbines
Figure: The Tidal-stream turbine named Seaflow.
Motivation - General optimization problem
Optimization problems with PDE’s as constraint
min
u,m
J(u, m), (1)
subject to F(u, m) = 0 (2)
Costly to solve PDE
Gradient Based Optimization
One functional of interest, large number of design parameters
Adjoint Equations
Representation of Dynamical Domains
Figure: Turbine rotating with
prescribed velocity with smoothing
of mesh movements
Figure: Turbine rotating with
prescribed velocity with overlapping
meshes
Overlapping meshes
Our approach
Nitsche method for interface
conditions on the boundary
of meshes meshes
Challenge
Detect where the two
meshes intersect
Figure: Illustration of overlapping
meshes.
Coupling between overlapping domains and meshes
Figure: How to create a computational domain for two meshes.
Heat-equation with Backward Euler in time
Discretization in time and
interface-conditions
un − un−1
∆t
− 2
un
= f(tn
) in Ω0 ∪ Ω1
[[un
]] = 0
[[n · un
]] = 0
Notation
un
= (un
Ω0
, un
Ω1
)
[[v]] = v0|Γ − v1|Γ
v =
v0 + v1
2
Figure: Domain of
interest.
Variational form of the problem using Nitsches
method
Modify the standard variational form by
integration of the jump-condition for u on Γ.
For symmetry and coercivity two extra terms are also added.
ah(Un
, v) = L(v), ∀v ∈ V h
,
ah(Un
, v) : =
2
i=1
( Un
i , vi)Ωi +
1
∆t
(Un
i , vi)Ωi
− ([[Un
]], n · vh )Γ − ([[vh
]], n · Un
)Γ
+ (γh−1
[[Un
]], [[v]])Γ,
L(v) =
2
i=1
(f, vi)Ωi +
1
∆t
(Un−1
i , vi)Ωi .
Adjoint equations
Optimization problem
min
u,m
J(u, m),
subject to F(u, m) = 0
Reduced Functional
ˆJ(m) = J(u(m), m)
Gradient of Functional
dJ
dm
=
∂J
∂u
du
dm
+
∂J
∂m
One goal-functional J.
Large number of
design-parameters m.
Evaluation in the space of
the design parameter is
costly.
Gradient-based optimization
The Adjoint equation
Gradient of Functional
dJ
dm
=
∂J
∂u
du
dm
+
∂J
∂m
Rewriting the gradient of the functional
dJ
dm
∗
=
∂F
∂m
∗
λ +
∂J
∂m
∗
The adjoint equation
∂F
∂u
∗
λ =
∂J
∂u
∗
(3)
Avoid computation of Jacobian by using the adjoint method
Solving Equation (3) require specification of functional, not of
design parameter.
FEniCS and dolfin-adjoint
Software for solving PDEs
MultiMesh - Implementation of overlapping meshes
Automatic derivation of the adjoint equations
Optimal Poisson problem
Finding the best heating/cooling f of a cook-top to get a desired
temperature profile d.
min
u,f
J(u(f), f)) = min
u,f

1
2
Ω
(u − d)2
dΩ +
α
2
Ω
f2
dΩ


subject to
− 2u = f in Ω
u = 0 on ∂Ω
Given a desired temperature profile
d =
1
2π2
sin(πx) sin(πy),
we have the analytical solution to the optimization problem
f =
sin(πx) sin(πy)
1 + 4απ4
Meshes used for the optimal Poisson problem
Figure: Mesh used in dolfin for
Optimization with a single mesh.
Figure: MultiMesh used in dolfin for
Optimization.
Results for Poisson-optimization
Figure: fanalytical projected into a the
same function-space as the
approximated solution (Piecewise
constant functions).
Figure: The resulting source-term f
for the optimization problem with
MultiMesh where f is approximated
by piecewise constant functions.
Results for Poisson-optimization
Computing the L2-error of the computed f and u.
Figure: The error in the MultiMesh-problem is of the same size as the
single mesh problem.
Heat equation with moving domain
Figure: Turbine rotating with prescribed velocity.
Investigation of the gradient of a goal functional
min
u0
ˆJ(u0
) =
Ω
un
(u0
)
2
dΩ, u0
intital condtion,
un
: solution of the heat equation after n-timesteps.
Figure: dJ
du0 at time T = 1.5.
Further Work
OptCutCell - Extending dolfin-adjoint to use overlapping
domains and extending MultiMesh-user interface.
Open-source optimization software for tidal turbine farms.
Optimal position of a set of dynamic tidal-stream turbines

More Related Content

What's hot

Recursive Compressed Sensing
Recursive Compressed SensingRecursive Compressed Sensing
Recursive Compressed Sensing
Pantelis Sopasakis
 
Capitulo 1, 7ma edición
Capitulo 1, 7ma ediciónCapitulo 1, 7ma edición
Capitulo 1, 7ma edición
Sohar Carr
 
Quantum mass calculation
Quantum mass calculationQuantum mass calculation
Quantum mass calculationDoug Frome
 
Memory Efficient Adaptive Optimization
Memory Efficient Adaptive OptimizationMemory Efficient Adaptive Optimization
Memory Efficient Adaptive Optimization
rohananil
 
Capitulo 3, 7ma edición
Capitulo 3, 7ma ediciónCapitulo 3, 7ma edición
Capitulo 3, 7ma edición
Sohar Carr
 
Sc ppt
Sc pptSc ppt
damping_constant_spring
damping_constant_springdamping_constant_spring
damping_constant_springN'Vida Yotcho
 
Latex ex
Latex exLatex ex
Latex ex
kosinyj
 
EE402B Radio Systems and Personal Communication Networks-Formula sheet
EE402B Radio Systems and Personal Communication Networks-Formula sheetEE402B Radio Systems and Personal Communication Networks-Formula sheet
EE402B Radio Systems and Personal Communication Networks-Formula sheet
Haris Hassan
 
Antenna Paper Solution
Antenna Paper SolutionAntenna Paper Solution
Antenna Paper Solution
Haris Hassan
 
Kriging
KrigingKriging
Kriging
Aditi Sarkar
 
Ch06 pt 2
Ch06 pt 2Ch06 pt 2
Ch06 pt 2
Austin Wood
 
Website designing company in delhi ncr
Website designing company in delhi ncrWebsite designing company in delhi ncr
Website designing company in delhi ncr
Css Founder
 
V. B. Jovanovic/ S. Ignjatovic: Mass Spectrum of the Light Scalar Tetraquark ...
V. B. Jovanovic/ S. Ignjatovic: Mass Spectrum of the Light Scalar Tetraquark ...V. B. Jovanovic/ S. Ignjatovic: Mass Spectrum of the Light Scalar Tetraquark ...
V. B. Jovanovic/ S. Ignjatovic: Mass Spectrum of the Light Scalar Tetraquark ...
SEENET-MTP
 
OLS gradient descent
OLS gradient descentOLS gradient descent
OLS gradient descent
Ibrahim Odumas Odufowora
 
Computing the masses of hyperons and charmed baryons from Lattice QCD
Computing the masses of hyperons and charmed baryons from Lattice QCDComputing the masses of hyperons and charmed baryons from Lattice QCD
Computing the masses of hyperons and charmed baryons from Lattice QCD
Christos Kallidonis
 
Electromagnetic analysis using FDTD method, Biological Effects Of EM Spectrum
Electromagnetic analysis using FDTD method, Biological Effects Of EM SpectrumElectromagnetic analysis using FDTD method, Biological Effects Of EM Spectrum
Electromagnetic analysis using FDTD method, Biological Effects Of EM Spectrum
Suleyman Demirel University
 
A note on variational inference for the univariate Gaussian
A note on variational inference for the univariate GaussianA note on variational inference for the univariate Gaussian
A note on variational inference for the univariate Gaussian
Tomonari Masada
 
Development of a Pseudo-Spectral 3D Navier Stokes Solver for Wind Turbine App...
Development of a Pseudo-Spectral 3D Navier Stokes Solver for Wind Turbine App...Development of a Pseudo-Spectral 3D Navier Stokes Solver for Wind Turbine App...
Development of a Pseudo-Spectral 3D Navier Stokes Solver for Wind Turbine App...
Emre Barlas
 
Fox And Mcdonald's Introduction To Fluid Mechanics 8th Edition Pritchard Solu...
Fox And Mcdonald's Introduction To Fluid Mechanics 8th Edition Pritchard Solu...Fox And Mcdonald's Introduction To Fluid Mechanics 8th Edition Pritchard Solu...
Fox And Mcdonald's Introduction To Fluid Mechanics 8th Edition Pritchard Solu...
qedobose
 

What's hot (20)

Recursive Compressed Sensing
Recursive Compressed SensingRecursive Compressed Sensing
Recursive Compressed Sensing
 
Capitulo 1, 7ma edición
Capitulo 1, 7ma ediciónCapitulo 1, 7ma edición
Capitulo 1, 7ma edición
 
Quantum mass calculation
Quantum mass calculationQuantum mass calculation
Quantum mass calculation
 
Memory Efficient Adaptive Optimization
Memory Efficient Adaptive OptimizationMemory Efficient Adaptive Optimization
Memory Efficient Adaptive Optimization
 
Capitulo 3, 7ma edición
Capitulo 3, 7ma ediciónCapitulo 3, 7ma edición
Capitulo 3, 7ma edición
 
Sc ppt
Sc pptSc ppt
Sc ppt
 
damping_constant_spring
damping_constant_springdamping_constant_spring
damping_constant_spring
 
Latex ex
Latex exLatex ex
Latex ex
 
EE402B Radio Systems and Personal Communication Networks-Formula sheet
EE402B Radio Systems and Personal Communication Networks-Formula sheetEE402B Radio Systems and Personal Communication Networks-Formula sheet
EE402B Radio Systems and Personal Communication Networks-Formula sheet
 
Antenna Paper Solution
Antenna Paper SolutionAntenna Paper Solution
Antenna Paper Solution
 
Kriging
KrigingKriging
Kriging
 
Ch06 pt 2
Ch06 pt 2Ch06 pt 2
Ch06 pt 2
 
Website designing company in delhi ncr
Website designing company in delhi ncrWebsite designing company in delhi ncr
Website designing company in delhi ncr
 
V. B. Jovanovic/ S. Ignjatovic: Mass Spectrum of the Light Scalar Tetraquark ...
V. B. Jovanovic/ S. Ignjatovic: Mass Spectrum of the Light Scalar Tetraquark ...V. B. Jovanovic/ S. Ignjatovic: Mass Spectrum of the Light Scalar Tetraquark ...
V. B. Jovanovic/ S. Ignjatovic: Mass Spectrum of the Light Scalar Tetraquark ...
 
OLS gradient descent
OLS gradient descentOLS gradient descent
OLS gradient descent
 
Computing the masses of hyperons and charmed baryons from Lattice QCD
Computing the masses of hyperons and charmed baryons from Lattice QCDComputing the masses of hyperons and charmed baryons from Lattice QCD
Computing the masses of hyperons and charmed baryons from Lattice QCD
 
Electromagnetic analysis using FDTD method, Biological Effects Of EM Spectrum
Electromagnetic analysis using FDTD method, Biological Effects Of EM SpectrumElectromagnetic analysis using FDTD method, Biological Effects Of EM Spectrum
Electromagnetic analysis using FDTD method, Biological Effects Of EM Spectrum
 
A note on variational inference for the univariate Gaussian
A note on variational inference for the univariate GaussianA note on variational inference for the univariate Gaussian
A note on variational inference for the univariate Gaussian
 
Development of a Pseudo-Spectral 3D Navier Stokes Solver for Wind Turbine App...
Development of a Pseudo-Spectral 3D Navier Stokes Solver for Wind Turbine App...Development of a Pseudo-Spectral 3D Navier Stokes Solver for Wind Turbine App...
Development of a Pseudo-Spectral 3D Navier Stokes Solver for Wind Turbine App...
 
Fox And Mcdonald's Introduction To Fluid Mechanics 8th Edition Pritchard Solu...
Fox And Mcdonald's Introduction To Fluid Mechanics 8th Edition Pritchard Solu...Fox And Mcdonald's Introduction To Fluid Mechanics 8th Edition Pritchard Solu...
Fox And Mcdonald's Introduction To Fluid Mechanics 8th Edition Pritchard Solu...
 

Similar to presentation_chalmers

Numerical modeling-of-gas-turbine-engines
Numerical modeling-of-gas-turbine-enginesNumerical modeling-of-gas-turbine-engines
Numerical modeling-of-gas-turbine-enginesCemal Ardil
 
Master's Thesis Slides
Master's Thesis SlidesMaster's Thesis Slides
Master's Thesis SlidesMatthew Motoki
 
Solutions modern particlephysics
Solutions modern particlephysicsSolutions modern particlephysics
Solutions modern particlephysics
itachikaleido
 
Maximizing a Nonnegative, Monotone, Submodular Function Constrained to Matchings
Maximizing a Nonnegative, Monotone, Submodular Function Constrained to MatchingsMaximizing a Nonnegative, Monotone, Submodular Function Constrained to Matchings
Maximizing a Nonnegative, Monotone, Submodular Function Constrained to Matchingssagark4
 
Statistics Homework Help
Statistics Homework HelpStatistics Homework Help
Statistics Homework Help
Statistics Homework Helper
 
Multiple Linear Regression Homework Help
Multiple Linear Regression Homework HelpMultiple Linear Regression Homework Help
Multiple Linear Regression Homework Help
Statistics Homework Helper
 
Mit2 092 f09_lec07
Mit2 092 f09_lec07Mit2 092 f09_lec07
Mit2 092 f09_lec07
Rahman Hakim
 
19 4
19 419 4
19 4
Mayar Zo
 
Modeling and-simulating-of-gas-turbine-cooled-blades
Modeling and-simulating-of-gas-turbine-cooled-bladesModeling and-simulating-of-gas-turbine-cooled-blades
Modeling and-simulating-of-gas-turbine-cooled-bladesCemal Ardil
 
cheb_conf_aksenov.pdf
cheb_conf_aksenov.pdfcheb_conf_aksenov.pdf
cheb_conf_aksenov.pdf
Alexey Vasyukov
 
A Four Directions Variational Method For Solving Image Processing Problems
A Four Directions Variational Method For Solving Image Processing ProblemsA Four Directions Variational Method For Solving Image Processing Problems
A Four Directions Variational Method For Solving Image Processing Problems
Claudia Acosta
 
Btech admission in india
Btech admission in indiaBtech admission in india
Btech admission in india
Edhole.com
 
Stochastic Calculus, Summer 2014, July 22,Lecture 7Con.docx
Stochastic Calculus, Summer 2014, July 22,Lecture 7Con.docxStochastic Calculus, Summer 2014, July 22,Lecture 7Con.docx
Stochastic Calculus, Summer 2014, July 22,Lecture 7Con.docx
dessiechisomjj4
 
Control System Assignment Help
Control System Assignment HelpControl System Assignment Help
Control System Assignment Help
Matlab Assignment Experts
 
An Algorithm For The Combined Distribution And Assignment Problem
An Algorithm For The Combined Distribution And Assignment ProblemAn Algorithm For The Combined Distribution And Assignment Problem
An Algorithm For The Combined Distribution And Assignment Problem
Andrew Parish
 
Numerical Analysis Assignment Help
Numerical Analysis Assignment HelpNumerical Analysis Assignment Help
Numerical Analysis Assignment Help
Math Homework Solver
 
Dynamic response to harmonic excitation
Dynamic response to harmonic excitationDynamic response to harmonic excitation
Dynamic response to harmonic excitation
University of Glasgow
 
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
cscpconf
 
Adomian Decomposition Method for Certain Space-Time Fractional Partial Differ...
Adomian Decomposition Method for Certain Space-Time Fractional Partial Differ...Adomian Decomposition Method for Certain Space-Time Fractional Partial Differ...
Adomian Decomposition Method for Certain Space-Time Fractional Partial Differ...
IOSR Journals
 

Similar to presentation_chalmers (20)

Numerical modeling-of-gas-turbine-engines
Numerical modeling-of-gas-turbine-enginesNumerical modeling-of-gas-turbine-engines
Numerical modeling-of-gas-turbine-engines
 
Master's Thesis Slides
Master's Thesis SlidesMaster's Thesis Slides
Master's Thesis Slides
 
poster2
poster2poster2
poster2
 
Solutions modern particlephysics
Solutions modern particlephysicsSolutions modern particlephysics
Solutions modern particlephysics
 
Maximizing a Nonnegative, Monotone, Submodular Function Constrained to Matchings
Maximizing a Nonnegative, Monotone, Submodular Function Constrained to MatchingsMaximizing a Nonnegative, Monotone, Submodular Function Constrained to Matchings
Maximizing a Nonnegative, Monotone, Submodular Function Constrained to Matchings
 
Statistics Homework Help
Statistics Homework HelpStatistics Homework Help
Statistics Homework Help
 
Multiple Linear Regression Homework Help
Multiple Linear Regression Homework HelpMultiple Linear Regression Homework Help
Multiple Linear Regression Homework Help
 
Mit2 092 f09_lec07
Mit2 092 f09_lec07Mit2 092 f09_lec07
Mit2 092 f09_lec07
 
19 4
19 419 4
19 4
 
Modeling and-simulating-of-gas-turbine-cooled-blades
Modeling and-simulating-of-gas-turbine-cooled-bladesModeling and-simulating-of-gas-turbine-cooled-blades
Modeling and-simulating-of-gas-turbine-cooled-blades
 
cheb_conf_aksenov.pdf
cheb_conf_aksenov.pdfcheb_conf_aksenov.pdf
cheb_conf_aksenov.pdf
 
A Four Directions Variational Method For Solving Image Processing Problems
A Four Directions Variational Method For Solving Image Processing ProblemsA Four Directions Variational Method For Solving Image Processing Problems
A Four Directions Variational Method For Solving Image Processing Problems
 
Btech admission in india
Btech admission in indiaBtech admission in india
Btech admission in india
 
Stochastic Calculus, Summer 2014, July 22,Lecture 7Con.docx
Stochastic Calculus, Summer 2014, July 22,Lecture 7Con.docxStochastic Calculus, Summer 2014, July 22,Lecture 7Con.docx
Stochastic Calculus, Summer 2014, July 22,Lecture 7Con.docx
 
Control System Assignment Help
Control System Assignment HelpControl System Assignment Help
Control System Assignment Help
 
An Algorithm For The Combined Distribution And Assignment Problem
An Algorithm For The Combined Distribution And Assignment ProblemAn Algorithm For The Combined Distribution And Assignment Problem
An Algorithm For The Combined Distribution And Assignment Problem
 
Numerical Analysis Assignment Help
Numerical Analysis Assignment HelpNumerical Analysis Assignment Help
Numerical Analysis Assignment Help
 
Dynamic response to harmonic excitation
Dynamic response to harmonic excitationDynamic response to harmonic excitation
Dynamic response to harmonic excitation
 
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
 
Adomian Decomposition Method for Certain Space-Time Fractional Partial Differ...
Adomian Decomposition Method for Certain Space-Time Fractional Partial Differ...Adomian Decomposition Method for Certain Space-Time Fractional Partial Differ...
Adomian Decomposition Method for Certain Space-Time Fractional Partial Differ...
 

presentation_chalmers

  • 1. Optimization problems on dynamical domains with non-matching meshes Jørgen S. Dokken, Simon W. Funke, August Johansson Simula Research Laboratory October 27, 2016
  • 2. Motivation - Rotating tidal-turbines Figure: The Tidal-stream turbine named Seaflow.
  • 3. Motivation - General optimization problem Optimization problems with PDE’s as constraint min u,m J(u, m), (1) subject to F(u, m) = 0 (2) Costly to solve PDE Gradient Based Optimization One functional of interest, large number of design parameters Adjoint Equations
  • 4. Representation of Dynamical Domains Figure: Turbine rotating with prescribed velocity with smoothing of mesh movements Figure: Turbine rotating with prescribed velocity with overlapping meshes
  • 5. Overlapping meshes Our approach Nitsche method for interface conditions on the boundary of meshes meshes Challenge Detect where the two meshes intersect Figure: Illustration of overlapping meshes.
  • 6. Coupling between overlapping domains and meshes Figure: How to create a computational domain for two meshes.
  • 7. Heat-equation with Backward Euler in time Discretization in time and interface-conditions un − un−1 ∆t − 2 un = f(tn ) in Ω0 ∪ Ω1 [[un ]] = 0 [[n · un ]] = 0 Notation un = (un Ω0 , un Ω1 ) [[v]] = v0|Γ − v1|Γ v = v0 + v1 2 Figure: Domain of interest.
  • 8. Variational form of the problem using Nitsches method Modify the standard variational form by integration of the jump-condition for u on Γ. For symmetry and coercivity two extra terms are also added. ah(Un , v) = L(v), ∀v ∈ V h , ah(Un , v) : = 2 i=1 ( Un i , vi)Ωi + 1 ∆t (Un i , vi)Ωi − ([[Un ]], n · vh )Γ − ([[vh ]], n · Un )Γ + (γh−1 [[Un ]], [[v]])Γ, L(v) = 2 i=1 (f, vi)Ωi + 1 ∆t (Un−1 i , vi)Ωi .
  • 9. Adjoint equations Optimization problem min u,m J(u, m), subject to F(u, m) = 0 Reduced Functional ˆJ(m) = J(u(m), m) Gradient of Functional dJ dm = ∂J ∂u du dm + ∂J ∂m One goal-functional J. Large number of design-parameters m. Evaluation in the space of the design parameter is costly. Gradient-based optimization
  • 10. The Adjoint equation Gradient of Functional dJ dm = ∂J ∂u du dm + ∂J ∂m Rewriting the gradient of the functional dJ dm ∗ = ∂F ∂m ∗ λ + ∂J ∂m ∗ The adjoint equation ∂F ∂u ∗ λ = ∂J ∂u ∗ (3) Avoid computation of Jacobian by using the adjoint method Solving Equation (3) require specification of functional, not of design parameter.
  • 11. FEniCS and dolfin-adjoint Software for solving PDEs MultiMesh - Implementation of overlapping meshes Automatic derivation of the adjoint equations
  • 12. Optimal Poisson problem Finding the best heating/cooling f of a cook-top to get a desired temperature profile d. min u,f J(u(f), f)) = min u,f  1 2 Ω (u − d)2 dΩ + α 2 Ω f2 dΩ   subject to − 2u = f in Ω u = 0 on ∂Ω Given a desired temperature profile d = 1 2π2 sin(πx) sin(πy), we have the analytical solution to the optimization problem f = sin(πx) sin(πy) 1 + 4απ4
  • 13. Meshes used for the optimal Poisson problem Figure: Mesh used in dolfin for Optimization with a single mesh. Figure: MultiMesh used in dolfin for Optimization.
  • 14. Results for Poisson-optimization Figure: fanalytical projected into a the same function-space as the approximated solution (Piecewise constant functions). Figure: The resulting source-term f for the optimization problem with MultiMesh where f is approximated by piecewise constant functions.
  • 15. Results for Poisson-optimization Computing the L2-error of the computed f and u. Figure: The error in the MultiMesh-problem is of the same size as the single mesh problem.
  • 16. Heat equation with moving domain Figure: Turbine rotating with prescribed velocity.
  • 17. Investigation of the gradient of a goal functional min u0 ˆJ(u0 ) = Ω un (u0 ) 2 dΩ, u0 intital condtion, un : solution of the heat equation after n-timesteps. Figure: dJ du0 at time T = 1.5.
  • 18. Further Work OptCutCell - Extending dolfin-adjoint to use overlapping domains and extending MultiMesh-user interface. Open-source optimization software for tidal turbine farms. Optimal position of a set of dynamic tidal-stream turbines