Home / 170801 / single
Name Modified Size InfoDownloads / Week
Parent folder
plot-uin.sh 2018-03-19 996 Bytes
plot-boudary.sh 2018-03-19 684 Bytes
plot-history.sh 2018-03-19 235 Bytes
go.sh 2018-03-19 5.7 kB
Totals: 4 Items   7.7 kB 0
 ___      _               ___           _   
|_ _|__ _| |__  ___ _ __ / __| ___ _ __| |_ 
 | |/ _` | '_ \/ -_) '  \\__ \/ _ \ '_ \  _|
|___\__, |_.__/\___|_|_|_|___/\___/ .__/\__|
    |___/                         |_|       

Minimal document of IgbemSopt

A framework of shape optimization based on the IGBEM for
singly-periodic layered media.

===========================
Summary
===========================

This is an implementation of shape optimisation solver based on the
isogeometric boundary element method (IGBEM). The theoretical
background is described in a paper entitled with "A framework of shape
optimisation based on the isogeometric boundary element method toward
designing thin-silicon phtovoltaic devices" submitted to the journal
"Engineering with Computers".

===========================
Prerequisites
===========================

IgbemSopt requires the following libraries:

* BLAS & LAPACK
* SLATEC
* Ipopt
* GNU Scientific library (optional)

===========================
Build
===========================

To build the executable program ("a.out" by default), you have to
modify the Makefile. Especially, you have to specify the above
libraries through the variables BLAS_LIB, LAPACK_LIB, SLATEC_LIB,
IPOPT_{LIB,INCLUDE}.

If you trace the numerical example of "demonstration", which is shown
in Section 4 of the paper, you need to choose the following two
parameters:

* METHOD = LU  # not GMRES
* OPTIMIZATION = OPTIMIZATION # not DUMMY

After modifying the Makefile, you can obtain the executable file by 

% make clean
% make

===========================
Run
===========================

You have to provide the following input files:

* .dat file: Define the geometry and discretisation information.
* .cnd file: Define the parameters for the BEM and shape optimisation.
* .in file: Define the internal points where the magnetic field is
  computed by the BEM.

You can see the formats of these files in the file single/go.sh. If
you want to trace the demonstration in the paper, you do not have to
modify the single/go.sh but may run it as follows:

% cd single
% ./go.sh

Then, three input files (viz., demo.dat, demo.cnd, demo.in) are
automaticall created and the executable file runs. You can watch the
history of the Ipopt by

% tail -f demo.res

On the other hand, the log of the IGBEM can be obtained by

% tail -f demo.log

===========================
Post processing
===========================

To draw the history of the objective function, the optimal shape, and
the magnetic field, you may run the three scripts as follows:

./plot-history.sh
./plot-boundary.sh
./plot-uin.sh

where the related data are stored in "single/work" by default.

- --
Copyright (C) 2017 Toru Takahashi
Source: README, updated 2018-03-20