Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
layers.c | 2018-03-19 | 9.8 kB | |
Totals: 1 Item | 9.8 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