Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
C
cim
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
getdp
cim
Commits
21b8e2c6
Commit
21b8e2c6
authored
7 years ago
by
Nicolas Marsic
Browse files
Options
Downloads
Patches
Plain Diff
testing markdown README
parent
a5755b55
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
README.md
+122
-0
122 additions, 0 deletions
README.md
README.txt
+0
-98
0 additions, 98 deletions
README.txt
with
122 additions
and
98 deletions
README.md
0 → 100644
+
122
−
0
View file @
21b8e2c6
cim.py
======
cim.py is a non-linear eigenvalue solver using the contour integral method
proposed by W.-J. Beyn coupled with a
[
GetDP
](
http://getdp.info
)
formulation.
Reference paper
---------------
[
W.-J., Beyn, "An integral method for solving nonlinear eigenvalue problems",
Linear Algebra and its Applications, 2012,436.
](
https://doi.org/10.1016/j.laa.2011.03.030
)
Usage
-----
cim.py pro mesh resolution post origin radius
with:
pro [GetDP](http://getdp.info) .pro file
mesh [Gmsh](http://gmsh.info) .msh file
resolution resolution from .pro file
origin circular contour origin (complex)
radius circular contour radius
Additional optional argument are available. Please run:
cim.py -h
for more information.
Driving [GetDP](http://getdp.info) from cim.py
----------------------------------------------
cim.py and
[
GetDP
](
http://getdp.info
)
are exchanging the following
[
ONELAB
](
http://onelab.info
)
variables:
angularFreqRe the real part of the frequency
angularFreqIm the imaginary part of the frequency
x() the solution vector of the linear system
b() the right hand side (RHS) of the linear system
imposeRHS flag signalling if an other RHS should be imposed
doPostpro flag signalling if only a post-processing should be done
doApply flag signalling if x() should be applied to the linear system
fileName name of the post-processing file
More information can be found in
[
bin/solver.py
](
bin/solver.py
)
. Furthermore,
examples are provided in
[
example/maxwell\_sibc/
](
example/maxwell_sibc/
)
and
[
example/maxwell\_linear/
](
example/maxwell\_linear/
)
.
Dependencies
------------
cim.py is a
[
Python 2.7
](
https://www.python.org/download/releases/2.7/
)
script.
It relies on the following modules:
argparse
numpy
getdp
The
`getdp`
module can be obtained by compiling
[
GetDP
](
http://getdp.info
)
.
Among other (and possibly optional) dependencies,
[
GetDP
](
http://getdp.info
)
relies on
[
PETSc
](
https://www.mcs.anl.gov/petsc
)
.
The shell script dependencies.sh should handle this automatically if you run:
./dependencies.sh
You will need
`wget`
,
`tar`
,
`gcc`
,
`g++`
and
`gfortran`
for this script to work.
Don't forget to update your
`PATH`
,
`PYTHONPATH`
and
`LD_LIBRARY_PATH`
as
instructed.
If you want to handle the
[
PETSc
](
https://www.mcs.anl.gov/petsc
)
and
[
GetDP
](
http://getdp.info
)
libraries yourself, here are the options you will
need. The
[
PETSc
](
https://www.mcs.anl.gov/petsc
)
library should be compiled with
the following features:
--with-clanguage=cxx
--with-shared-libraries=1
--with-x=0
--with-scalar-type=complex
--with-mumps-serial=yes
--with-mpi=0
--with-mpiuni-fortran-binding=0
--download-mumps=yes
In other words,
[
PETSc
](
https://www.mcs.anl.gov/petsc
)
should be compiled
without MPI, with complex algebra and with a sequential version of
[
MUMPS
](
http://mumps-solver.org/
)
.
[
GetDP
](
http://getdp.info
)
can then be compiled
with the following options:
ENABLE_BLAS_LAPACK: ON
ENABLE_BUILD_DYNAMIC: ON
ENABLE_BUILD_SHARED: ON
ENABLE_KERNEL: ON
ENABLE_PETSC: ON
ENABLE_WRAP_PYTHON: ON
If everything went fine, you should end up with the
[
GetDP
](
http://getdp.info
)
Python module:
getdp.py
Finally, Don't forget to update your
`PATH`
,
`PYTHONPATH`
and
`LD_LIBRARY_PATH`
.
Enjoy!
License
-------
Copyright (C) 2017 N. Marsic, F. Wolf, S. Schoeps and H. De Gersem,
Institut fuer Theorie Elektromagnetischer Felder (TEMF),
Technische Universitaet Darmstadt.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
This diff is collapsed.
Click to expand it.
README.txt
deleted
100644 → 0
+
0
−
98
View file @
a5755b55
cim.py is a non-linear eigenvalue solver
using the contour integral method proposed by W.-J. Beyn
coupled with a GetDP formulation.
Copyright (C) 2017 N. Marsic, F. Wolf, S. Schoeps and H. De Gersem,
Institut fuer Theorie Elektromagnetischer Felder (TEMF),
Technische Universitaet Darmstadt.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Reference paper:
----------------
W.-J., Beyn, "An integral method for solving nonlinear eigenvalue problems",
Linear Algebra and its Applications, 2012, 436.
Usage:
------
cim.py pro mesh resolution post origin radius
with:
pro GetDP .pro file
mesh Gmsh .msh file
resolution resolution from .pro file
origin circular contour origin (complex)
radius circular contour radius
Additional optional argument are available.
Please run:
cim.py -h
for more information.
Driving GetDP from cim.py
-------------------------
cim.py and GetDP are exchanging the following ONELAB variables:
angularFreqRe - the real part of the frequency
angularFreqIm - the imaginary part of the frequency
x() - the solution vector of the linear system
b() - the right hand side (RHS) of the linear system
imposeRHS - flag signalling if an other RHS should be imposed
doPostpro - flag signalling if only a post-processing should be done
doApply - flag signalling if x() should be applied to the linear system
fileName - name of the post-processing file
More information can be found in bin/solver.py. Furthermore, examples are
provided in example/maxwell_sibc/ and example/maxwell_linear/.
Dependencies
------------
cim.py is a Python 2.7 script. It relies on the following modules:
argparse
numpy
getdp
The getdp module can be obtained by compiling GetDP:
http://getdp.info
Among other (and possibly optional) dependencies, GetDP relies on PETSc:
https://www.mcs.anl.gov/petsc
The shell script dependencies.sh should handle this automatically if you run:
./dependencies.sh
You will need wget, tar, gcc, g++ and gfortran for this script to work.
Don't forget to update your PATH, PYTHONPATH and LD_LIBRARY_PATH as instructed.
If you want to handle the PETSc and GetDP libraries yourself, here are the
options you will need. The PETSc library should be compiled with the following
features:
--with-clanguage=cxx
--with-shared-libraries=1
--with-x=0
--with-scalar-type=complex
--with-mumps-serial=yes
--with-mpi=0
--with-mpiuni-fortran-binding=0
--download-mumps=yes
In other words, PETSc should be compiled without MPI, with complex algebra and
with a sequential version of MUMPS. GetDP can then be compiled with the
following options:
ENABLE_BLAS_LAPACK: ON
ENABLE_BUILD_DYNAMIC: ON
ENABLE_BUILD_SHARED: ON
ENABLE_KERNEL: ON
ENABLE_PETSC: ON
ENABLE_WRAP_PYTHON: ON
If everything went fine, you should end up with the GetDP Python module:
getdp.py
Finally, Don't forget to update your PATH, PYTHONPATH and LD_LIBRARY_PATH.
Enjoy!
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment