| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| single | 2018-03-19 | ||
| layers | 2018-03-19 | ||
| gaussquad | 2018-03-19 | ||
| README | 2018-03-20 | 2.7 kB | |
| zbes.c | 2018-03-19 | 4.0 kB | |
| zbes.h | 2018-03-19 | 2.5 kB | |
| zgesv.h | 2018-03-19 | 1.4 kB | |
| zgmres.c | 2018-03-19 | 10.3 kB | |
| zgmres.h | 2018-03-19 | 1.5 kB | |
| telles.c | 2018-03-19 | 4.1 kB | |
| telles.h | 2018-03-19 | 1.4 kB | |
| timer.c | 2018-03-19 | 1.4 kB | |
| timer.h | 2018-03-19 | 1.2 kB | |
| pisohelm2d.c | 2018-03-19 | 70.1 kB | |
| pisohelm2d.h | 2018-03-19 | 5.6 kB | |
| shapeopt.c | 2018-03-19 | 51.1 kB | |
| shapeopt.h | 2018-03-19 | 4.7 kB | |
| openboundary.h | 2018-03-19 | 1.2 kB | |
| opts.h | 2018-03-19 | 5.0 kB | |
| periodicgreen.c | 2018-03-19 | 40.7 kB | |
| periodicgreen.h | 2018-03-19 | 13.7 kB | |
| mathmacros.h | 2018-03-19 | 2.2 kB | |
| openboundary.c | 2018-03-19 | 1.2 kB | |
| main.c | 2018-03-19 | 5.4 kB | |
| Makefile | 2018-03-19 | 2.0 kB | |
| intde2.c | 2018-03-19 | 22.1 kB | |
| intde2.h | 2018-03-19 | 1.5 kB | |
| internalpoint.c | 2018-03-19 | 3.8 kB | |
| internalpoint.h | 2018-03-19 | 1.8 kB | |
| gaussquad.c | 2018-03-19 | 1.2 kB | |
| gaussquad.h | 2018-03-19 | 1.2 kB | |
| gaussexpxx.c | 2018-03-19 | 3.8 kB | |
| gaussexpxx.h | 2018-03-19 | 1.1 kB | |
| gausslog.c | 2018-03-19 | 9.8 kB | |
| gausslog.h | 2018-03-19 | 1.1 kB | |
| gaussone.c | 2018-03-19 | 36.3 kB | |
| gaussone.h | 2018-03-19 | 1.2 kB | |
| envs.h | 2018-03-19 | 1.2 kB | |
| dgels.h | 2018-03-19 | 1.2 kB | |
| dgesv.h | 2018-03-19 | 1.1 kB | |
| double2.c | 2018-03-19 | 1.5 kB | |
| double2.h | 2018-03-19 | 1.3 kB | |
| elapsed.c | 2018-03-19 | 1.6 kB | |
| elapsed.h | 2018-03-19 | 920 Bytes | |
| dcomplex.h | 2018-03-19 | 825 Bytes | |
| debugmacros.h | 2018-03-19 | 1.8 kB | |
| bessel.c | 2018-03-19 | 3.2 kB | |
| bessel.h | 2018-03-19 | 1.8 kB | |
| bspline.c | 2018-03-19 | 4.3 kB | |
| bspline.h | 2018-03-19 | 1.4 kB | |
| clampedcurve.c | 2018-03-19 | 20.8 kB | |
| clampedcurve.h | 2018-03-19 | 7.9 kB | |
| Totals: 52 Items | 369.1 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