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