Menu

Tree [r1] /
 History

HTTPS access


File Date Author Commit
 BasicEnum.hh 2007-08-10 road-movie [r1] Initial version for SIMP compliance minimization
 BasicException.hh 2007-08-10 road-movie [r1] Initial version for SIMP compliance minimization
 BasicStdVector.hh 2007-08-10 road-movie [r1] Initial version for SIMP compliance minimization
 Readme.txt 2007-08-10 road-movie [r1] Initial version for SIMP compliance minimization
 SCPIPBase.cc 2007-08-10 road-movie [r1] Initial version for SIMP compliance minimization
 SCPIPBase.hh 2007-08-10 road-movie [r1] Initial version for SIMP compliance minimization
 SCPIP_HS071.cc 2007-08-10 road-movie [r1] Initial version for SIMP compliance minimization
 SCPIP_HS071.hh 2007-08-10 road-movie [r1] Initial version for SIMP compliance minimization
 scpip30.hh 2007-08-10 road-movie [r1] Initial version for SIMP compliance minimization

Read Me

--------
C++SCPIP
--------

1. Introduction
---------------
C++SCPIP is provides a C++ interface that mimiks IPOPT for the
FORTRAN optimizer SCPIP by Ch. Zillober. SCPIP itself is not
provided.

C++SCPIP is open source in the public domain.

2. References
-------------
SCPIP implements SQP and MMA. You have to ask Ch. Zillober directly for
the code/library.

Ch. Zillober: Software manual for SCPIP 3.0. Technical Report, Informatik, Universität Bayreuth, 2004.
http://www.mathematik.uni-wuerzburg.de/~zillober/pubs/manual30.pdf

IPOPT is a open source optimizer implemented in C++ with a nice and well
documented interface.

A. Wächter and L. T. Biegler, On the Implementation of a Primal-Dual Interior Point Filter Line Search Algorithm for Large-Scale Nonlinear Programming, Mathematical Programming 106(1), pp. 25-57, 2006

C++SCPIP mimiks not only the interface of IPOPT but also comes with 
the only slightly modified HS071 examples taken from IPOPT.

C++SCPIP itself is written by Fabian Wein, Uni-Erlangen, Germany. The classes
BaseEnum, BaseStdVector and BaseException are reduced version from their
counterparts of CFS++ a FEM simulation software written in C++ developed
at the chair for Sensorics, Uni-Erlangen, Germay.
http://www.lse.uni-erlangen.de

The author (Fabian Wein) itself can be reached via
fabian.wein@lse.e-technik.uni-erlangen.de
http://piezo-optimization.blogspot.com/
http://www.lse.e-technik.uni-erlangen.de/_rubric/index.php?rubric=Fabian+Wein


3. Status
---------
Not all features of SCPIP can be controlled from outside - but they should be
rather simple to be integrated. The current version works fine for topology
optimization using the SIMP method using the standard compliance as objective.

Added to SCPIP itself are:
* A scaling of the objective and gradient and constraints.
* Inequality constraints can have abritrary bounds.

4. Requirements
---------------
C++SCPIP war written and testet on Linux using gcc 4.1.0 and gcc 4.2.1.
You also need "compat-g77" wich is a g77 compiler as SCPIP cannot be
compiled with gfortran from the newer gnu compiler suite.

Also one needs a BLAS library which is standard on Linux. If it comes
to speed and you have a AMD system you can also use the AMD Core Math Library (ACML)
which is even parallel with gcc 4.2.

5. Usage
--------
It is assumed that you have a library libscpip.a or libscpip.so holding
SCPIP 3.0/3.1. This library can be generated as follows:

g77 -O2 -c scpblas.f
g77 -O2 -c scpdummy.f
g77 -O2 -c Scpip30.f
g77 -O2 -c Sparsecz.f
ar rcs libscpip.a scpblas.o scpdummy.o Scpip30.o Sparsecz.o

Below we compile SCPIPBase.cc, the actual C++SCPIP and
SCPIP_HS071 an example usage. When linking note the order
of the external libraries. For simplicity we do not assume
libscpip.a in LD_LIBRARY_PATH. If you have you can ommit "-L./"

g++ -O2 -c SCPIPBase.cc
g++ -O2 -c SCPIP_HS071.cc
g++ -o scpip SCPIPBase.o SCPIP_HS071.o -L./ -lscpip -lg2c -lgfortran -lm

6. Feedback
-----------
If there are any issued feel free to contact me at fabian.wein@lse.e-technik.uni-erlangen.de.
If you wish to contribute you are most welcome :)

Regards,

Fabian Wein, August 2007
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.