iMechanica - solvers
https://www.imechanica.org/taxonomy/term/2864
enAny tips/comments regarding the latest version of the C++ library: Eigen (v. 3.0)?
https://www.imechanica.org/node/9987
<div class="field field-name-taxonomy-vocabulary-8 field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/2864">solvers</a></div><div class="field-item odd"><a href="/taxonomy/term/3255">linear solvers</a></div><div class="field-item even"><a href="/taxonomy/term/6112">Eigen 3.0</a></div><div class="field-item odd"><a href="/taxonomy/term/6113">eigenvalues computations</a></div><div class="field-item even"><a href="/taxonomy/term/6114">CPP</a></div></div></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>
Hi all,
</p>
<p>
<strong>1. A new version of Eigen (v 3.0 now) is out</strong> (on March 23, 2011), and it seems promising. First, a few links:
</p>
<p>
The main page for the project is here: [<a href="http://eigen.tuxfamily.org/index.php?title=Main_Page" target="_blank">^</a>]. The page for v.3.0 is here: [<a href="http://eigen.tuxfamily.org/index.php?title=3.0" target="_blank">^</a>]. It seems to be <em>very</em> fast: [<a href="http://eigen.tuxfamily.org/index.php?title=Benchmark" target="_blank">^</a>].
</p>
<p>
<br /><strong>2. No compilation issues on the Win32 platform:</strong> I just downloaded it today, and found that it compiles OK with VC++ 10.0 on Win32 (the BUILD_ALL project). I haven't had the time to try anything further, though.
</p>
<p>
<br /><strong>3. Please share your experience:</strong> For whatever reasons, if anyone here eventually decides to use it, or not to use it, or has any comments or tips to offer, I would like to hear from him/them, esp. in respect of the following points:
</p>
<p>
<strong>3.1</strong> <strong>For eigenvalue computations</strong>, comparative advantages/disadvantages, including speed comparisons, with the existing libraries like ARPACK, Trilinios, etc.
</p>
<p>
Assume that the system to solve has origins in a typical structural/solid mechanics FEM. If possible, please share your experience for global [A] matrix orders of 3k, 10k, 100k, and bigger, the matrices being the typical FEM ones: sparse, symmetric, etc.
</p>
<p>
[This note is not really necessary, but just in the interest of clarity: If a matrix has 10 rows and 10 columns, then its order is taken to be 10, not 100.]
</p>
<p>
<strong>3.2 For solving a linear FEM-generated system</strong> using a direct solver, speed comparisons with the existing FORTRAN/C++ code as implemented in GOTO (latest version), Taucs, etc. Again, matrix orders go from 3k to 100k and bigger, and the matrices, of course, are sparse, symmetric, etc.
</p>
<p>
<strong>4.</strong> Any <strong>other tips</strong> you care to share would also be appreciated.
</p>
<p>
</p>
<p>
Thanks in advance.
</p>
<p>
--Ajit
</p>
<p>
[E&OE]
</p>
</div></div></div>Thu, 24 Mar 2011 13:51:35 +0000Ajit R. Jadhav9987 at https://www.imechanica.orghttps://www.imechanica.org/node/9987#commentshttps://www.imechanica.org/crss/node/9987Wanted: Fast FEA Solvers...
https://www.imechanica.org/node/8240
<div class="field field-name-taxonomy-vocabulary-8 field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/719">sparse solver</a></div><div class="field-item odd"><a href="/taxonomy/term/751">Shell</a></div><div class="field-item even"><a href="/taxonomy/term/846">FEM</a></div><div class="field-item odd"><a href="/taxonomy/term/880">open source</a></div><div class="field-item even"><a href="/taxonomy/term/938">Fast</a></div><div class="field-item odd"><a href="/taxonomy/term/1032">eigenvalue</a></div><div class="field-item even"><a href="/taxonomy/term/2864">solvers</a></div><div class="field-item odd"><a href="/taxonomy/term/4872">cst</a></div><div class="field-item even"><a href="/taxonomy/term/5181">direct</a></div><div class="field-item odd"><a href="/taxonomy/term/5182">iterative</a></div><div class="field-item even"><a href="/taxonomy/term/5183">LST</a></div><div class="field-item odd"><a href="/taxonomy/term/5184">DKT</a></div></div></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>
<strong>Summary:<br /></strong><br />
I am thinking of informally conducting a specific case-study concerning the FEA solvers. The reference problem is a very simple but typical problem from stress analysis, leading of course to the linear systems: Ax = b and Ax = Lx.</p>
<p>I seek advice as to what software libraries currently available in the public domain would be best to use---the ones that would be fastest in terms of execution time for the reference problem. </p>
<p>I have a personal and longer-term research interest with certain issues related to the solvers technologies. </p>
<p>Suggestions and comments are welcome!</p>
<p><strong>(1.) The Reference Problem:</strong></p>
<p>(1.1) Consider a homogeneous thin rectangular plate made of MS, say of the size 200 mm X 100 mm, with a thickness of, say, 1 mm. </p>
<p>For the initial requirement, the plate carries no hole, though a small 60 mm dia. hole at the center might be introduced later on, during a separate phase of this study.</p>
<p>(1.2) For static analysis, the plate is loaded with a uniform traction acting on the two shorter sides of the plate, whereas the longer sides are kept free. For modal frequency analysis, the plate is considered clamped on all the four sides.</p>
<p>(1.3) Simple, standard finite elements are to be used: (a) CST and LST for the static analysis, and (b) DKT flat-shell element for the modal analysis.</p>
<p>(1.4) The domain is to be meshed using high-quality irregular triangles, the smallest allowed angle being ~34 degrees as in Shewchuk's Triangle library [<a href="http://www.cs.cmu.edu/~quake/triangle.html" target="_blank">^</a>] or Niceno's EasyMesh [<a href="http://www-dinma.univ.trieste.it/nirftc/research/easymesh/" target="_blank">^</a>]. </p>
<p>To obtain a medium-fine mesh, the triangle side may be restricted to < 5 mm. This choice leads to about 2,500 triangles, 1,200 corner nodes, and 4,000 edges---i.e. about 1,200 nodes for CST analysis and 5,200 nodes for LST analysis.</p>
<p>However, if the upper bound on the triangle side is halved (< 2.5 mm), then we obtain a very fine mesh of about 10,000 triangles, 5,000 corner nodes, and 15,000 edges---i.e. about 5,000 nodes for CST and 20,000 nodes for LST.</p>
<p>Note that these numbers refer to the geometry nodes. In the FE model, each such a node would carry several DOFs.</p>
<p>(1.5) The linear systems resulting after the FE-discretization are to be solved for both static and modal analyses.</p>
<p><strong>(2.) The Software/Hardware to be Used:</strong></p>
<p>(2.1) The linear system is to be solved using C/C++ callable and fairly well-tested open-source libraries (libraries of the kind: LAPACK, ARPACK, Taucs, etc.). </p>
<p>(2.2) The library itself might have been written in FORTRAN; the only requirement is that compiled binaries and C/C++ wrappers should be readily available.</p>
<p>(2.3) Dependencies on open-source libraries/platforms such as GoToBlas, Boost, MTL, etc. are OK.</p>
<p>(2.4) Assume this (lower-end) software-hardware platform: A single 32-bit desktop PC, Intel Core2 Duo @ ~3 Ghz main clock, 1 MB L2 cache, 2 GB of RAM. Assume the OS to be Windows 2K/XP. </p>
<p>(2.5) The compiler of preference is VC++ 6. However, other free compilers like VC++ Express Edition 2008 can be considered. Also, I am open to using GCC or other compilers, with or without their CMake, MinGW requirements etc.</p>
<p>(2.6) The sequential mode execution is assumed. No parallel processing, whether using shared memory, clusters (MPI), or GPUs. For the same reason, it's OK if the solver library is not parallel processing-enabled, and does not take advantage of an additional core. Thus, for this study, it is OK even if the total CPU usage on a double-core machine doesn't exceed 50%.</p>
<p>(2.7) All the solver operations are expected to occur in-core (not out-of-core).</p>
<p>(2.8) Assume that all mathematical operations would be peformed in double precision (8 bytes).</p>
<p>
<strong>(3.) What Is Being Sought:<br /></strong><br />
(3.1) Considering the above requirements, please suggest the libraries and methods that might provide the highest performance (the least execution time) for the following categories of solvers:<br />
-- direct solver for static analysis (Ax = b)<br />
-- iterative solver for static analysis (Ax = b)<br />
-- direct solver for eigenvalues computations (Ax = Lx)<br />
-- iterative solver for eigenvalues computations (Ax = Lx)</p>
<p>For iterative solvers, assume the usual kind of convergence requirements (error norms).</p>
<p>(3.2) The total execution time is to be measured (a) from the tick that the reading of all the disk files containing all the input matrices to RAM is complete, (b) to the tick that the solution is first fully ready in RAM, waiting to be written to the output disk files.</p>
<p>(3.3) Please provide any additional information like the assumption of a specific pre-conditioner, the reason why you recommend a particular algorithm for this type of problem, etc.</p>
<p>(3.4) Not very important right now, but any side suggestions you might have for nonsymmetric A matrices would also be welcome.</p>
<p>(3.5) A general point of reference for this query is this URL: <br /><a href="http://www.netlib.org/utk/people/JackDongarra/la-sw.html">http://www.netlib.org/utk/people/JackDongarra/la-sw.html</a></p>
<p>
<strong>(4.) Why This Study:</strong></p>
<p>The purpose is something like this. I have some preliminary ideas concerning solvers. </p>
<p>I would like to test my ideas against the available state of the art/cutting-edge solver implementations, in the context of the above kind of applications---viz. that the K matrix wouldn't be tridiagonal but would be banded SPD, having a topology implied by the above category of problems. </p>
<p>It's easily possible that my ideas may not work out. I wish to put them to the testing ground anyway. (I really am just at a very preliminary stage.)</p>
<p>
<strong>(5.) Your Suggestions/References:</strong></p>
<p>Well thought-out comments/suggestions w.r.t the point (3.1) are sought.</p>
<p>
Since I am not affiliated to any institution having e-Journals access, in case you provide links to research papers, I would greatly appreciate if you could also send e-copies to me by email: aj175tp[ at ]yahoo[ dot ]co[ dot ]in.</p>
<p>
Thanks in advance!</p>
<p>
--Ajit
</p>
<p>
<em>PS:</em> Posted also at my blog here [<a href="http://ajitjadhav.wordpress.com/2010/05/14/wanted-fast-fea-solvers/" target="_blank">^</a>].
</p>
<p>
[E&OE]
</p>
<p>
</p>
</div></div></div>Fri, 14 May 2010 14:18:50 +0000Ajit R. Jadhav8240 at https://www.imechanica.orghttps://www.imechanica.org/node/8240#commentshttps://www.imechanica.org/crss/node/8240Three MSc + PhD positions available on Multi-Scale and Biomechanics Parallel Simulations on HECToR.
https://www.imechanica.org/node/3935
<div class="field field-name-taxonomy-vocabulary-6 field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/73">job</a></div></div></div><div class="field field-name-taxonomy-vocabulary-8 field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/taxonomy/term/19">biomechanics</a></div><div class="field-item odd"><a href="/taxonomy/term/418">xfem</a></div><div class="field-item even"><a href="/taxonomy/term/541">job</a></div><div class="field-item odd"><a href="/taxonomy/term/2351">brain surgery</a></div><div class="field-item even"><a href="/taxonomy/term/2863">parallel processing</a></div><div class="field-item odd"><a href="/taxonomy/term/2864">solvers</a></div><div class="field-item even"><a href="/taxonomy/term/2865">extended FEM</a></div><div class="field-item odd"><a href="/taxonomy/term/2866">multi-scale analysis</a></div></div></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>
Dear all,
</p>
<p>
Three positions are available for a unique MSC + PhD on massively parallel processing for computational mechanics in the field of multi-scale, XFEM and biomechanics.
</p>
<p>
Details here: <a href="http://www.gla.ac.uk/departments/civilengineering/postgraduatestudy/researchdegrees/scholarships/">http://www.gla.ac.uk/departments/civilengineering/postgraduatestudy/rese...</a>
</p>
<p>
Experience in Finite Elements or numerical methods and mechanics is *essential*. Please do not apply if you do not have this experience.
</p>
<p>
The position is open to UK students preferably, *exceptional* European Students (First class degree or renown computational mechanics MSc,).
</p>
<p>
Non-EU (international applicants) can apply, but must have an outstanding record of international publications (at least 2 to 5) and relevant research experience. If, as a non-EU student, you are interested, you will need to apply for an ORSAS fellowship, <a href="http://www.orsas.ac.uk/">http://www.orsas.ac.uk/</a>
</p>
<p>
For details, contact me (stephane dot bordas at gmail dot com) with
</p>
<p>
- CV describe specific experience in finite elements, mechanics and numerical methods
</p>
<p>
- list of references
</p>
<p>
- statement explaining why you are interested in the position
</p>
<p>
- specify if you are interested in project 1 or 2
</p>
<p>
This is an EXCEPTIONAL opportunity to be trained with experts in massively parallel (10k+ processors), biomechanics, multi-scale and multi-grid techniques in one of the most active computational mechanics research departments.
</p>
<p>
Thank you,
</p>
<p>
Stephane
</p>
</div></div></div>Thu, 02 Oct 2008 08:36:00 +0000Stephane Bordas3935 at https://www.imechanica.orghttps://www.imechanica.org/node/3935#commentshttps://www.imechanica.org/crss/node/3935