You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(2) |
Nov
(27) |
Dec
(31) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(6) |
Feb
(15) |
Mar
(33) |
Apr
(10) |
May
(46) |
Jun
(11) |
Jul
(21) |
Aug
(15) |
Sep
(13) |
Oct
(23) |
Nov
(1) |
Dec
(8) |
2005 |
Jan
(27) |
Feb
(57) |
Mar
(86) |
Apr
(23) |
May
(37) |
Jun
(34) |
Jul
(24) |
Aug
(17) |
Sep
(50) |
Oct
(24) |
Nov
(10) |
Dec
(60) |
2006 |
Jan
(47) |
Feb
(46) |
Mar
(127) |
Apr
(19) |
May
(26) |
Jun
(62) |
Jul
(47) |
Aug
(51) |
Sep
(61) |
Oct
(42) |
Nov
(50) |
Dec
(33) |
2007 |
Jan
(60) |
Feb
(55) |
Mar
(77) |
Apr
(102) |
May
(82) |
Jun
(102) |
Jul
(169) |
Aug
(117) |
Sep
(80) |
Oct
(37) |
Nov
(51) |
Dec
(43) |
2008 |
Jan
(71) |
Feb
(94) |
Mar
(98) |
Apr
(125) |
May
(54) |
Jun
(119) |
Jul
(60) |
Aug
(111) |
Sep
(118) |
Oct
(125) |
Nov
(119) |
Dec
(94) |
2009 |
Jan
(109) |
Feb
(38) |
Mar
(93) |
Apr
(88) |
May
(29) |
Jun
(57) |
Jul
(53) |
Aug
(48) |
Sep
(68) |
Oct
(151) |
Nov
(23) |
Dec
(35) |
2010 |
Jan
(84) |
Feb
(60) |
Mar
(184) |
Apr
(112) |
May
(60) |
Jun
(90) |
Jul
(23) |
Aug
(70) |
Sep
(119) |
Oct
(27) |
Nov
(47) |
Dec
(54) |
2011 |
Jan
(22) |
Feb
(19) |
Mar
(92) |
Apr
(93) |
May
(35) |
Jun
(91) |
Jul
(32) |
Aug
(61) |
Sep
(7) |
Oct
(69) |
Nov
(81) |
Dec
(23) |
2012 |
Jan
(64) |
Feb
(95) |
Mar
(35) |
Apr
(36) |
May
(63) |
Jun
(98) |
Jul
(70) |
Aug
(171) |
Sep
(149) |
Oct
(64) |
Nov
(67) |
Dec
(126) |
2013 |
Jan
(108) |
Feb
(104) |
Mar
(171) |
Apr
(133) |
May
(108) |
Jun
(100) |
Jul
(93) |
Aug
(126) |
Sep
(74) |
Oct
(59) |
Nov
(145) |
Dec
(93) |
2014 |
Jan
(38) |
Feb
(45) |
Mar
(26) |
Apr
(41) |
May
(125) |
Jun
(70) |
Jul
(61) |
Aug
(66) |
Sep
(60) |
Oct
(110) |
Nov
(27) |
Dec
(30) |
2015 |
Jan
(43) |
Feb
(67) |
Mar
(71) |
Apr
(92) |
May
(39) |
Jun
(15) |
Jul
(46) |
Aug
(63) |
Sep
(84) |
Oct
(82) |
Nov
(69) |
Dec
(45) |
2016 |
Jan
(92) |
Feb
(91) |
Mar
(148) |
Apr
(43) |
May
(58) |
Jun
(117) |
Jul
(92) |
Aug
(140) |
Sep
(49) |
Oct
(33) |
Nov
(85) |
Dec
(40) |
2017 |
Jan
(41) |
Feb
(36) |
Mar
(49) |
Apr
(41) |
May
(73) |
Jun
(51) |
Jul
(12) |
Aug
(69) |
Sep
(26) |
Oct
(43) |
Nov
(75) |
Dec
(23) |
2018 |
Jan
(86) |
Feb
(36) |
Mar
(50) |
Apr
(28) |
May
(53) |
Jun
(65) |
Jul
(26) |
Aug
(43) |
Sep
(32) |
Oct
(28) |
Nov
(52) |
Dec
(17) |
2019 |
Jan
(39) |
Feb
(26) |
Mar
(71) |
Apr
(30) |
May
(73) |
Jun
(18) |
Jul
(5) |
Aug
(10) |
Sep
(8) |
Oct
(24) |
Nov
(12) |
Dec
(34) |
2020 |
Jan
(17) |
Feb
(10) |
Mar
(6) |
Apr
(4) |
May
(15) |
Jun
(3) |
Jul
(8) |
Aug
(15) |
Sep
(6) |
Oct
(3) |
Nov
|
Dec
(4) |
2021 |
Jan
(4) |
Feb
(4) |
Mar
(21) |
Apr
(14) |
May
(13) |
Jun
(18) |
Jul
(1) |
Aug
(39) |
Sep
(1) |
Oct
|
Nov
(3) |
Dec
|
2022 |
Jan
|
Feb
|
Mar
(2) |
Apr
(8) |
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
(3) |
Nov
|
Dec
|
2023 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(7) |
Sep
(3) |
Oct
|
Nov
|
Dec
(1) |
From: Laura S. <lau...@gm...> - 2020-12-08 18:49:15
|
Hi all, I have a basic question but still I was not able to find a satisfying answer on the web. I would like to ask what are the default linear solver and preconditioner in Libmesh, and how to specify in the code which ones to use (e.g. as flags or parameters). Also, is there the possibility to use a direct solver? Apologies if I overlooked this info in the Libmesh examples. Best regards, Laura. |
From: Roy S. <roy...@od...> - 2020-10-23 22:11:48
|
On Wed, 21 Oct 2020, John Peterson wrote: > On Wed, Oct 21, 2020 at 12:39 PM Laura Scarabosio < > lau...@gm...> wrote: > >> I would like to find the neighbors of a mesh element including those that >> share a vertex only with that element, not only those that share an edge >> with the element (so the method neighbor_ptr does not help). Is there a way >> to do this? > > This information (point neighbors) isn't stored in the Mesh by default > since it isn't needed in most cases. You may want to look into calling > > MeshTools::build_nodes_to_elem_map() > > which builds a data structure which associates, to each Node, a vector of > connected Elem ids. It's a bit expensive to build this map, so best to do > it only once and then use it each time you need to find a point neighbor. We do also have Elem::find_point_neighbors() - not as efficient on CPU if you need to do a lot of lookups, but it avoids building the map. --- Roy |
From: John P. <jwp...@gm...> - 2020-10-21 19:33:57
|
On Wed, Oct 21, 2020 at 12:39 PM Laura Scarabosio < lau...@gm...> wrote: > Hi, > > I would like to find the neighbors of a mesh element including those that > share a vertex only with that element, not only those that share an edge > with the element (so the method neighbor_ptr does not help). Is there a way > to do this? > Hi Laura, This information (point neighbors) isn't stored in the Mesh by default since it isn't needed in most cases. You may want to look into calling MeshTools::build_nodes_to_elem_map() which builds a data structure which associates, to each Node, a vector of connected Elem ids. It's a bit expensive to build this map, so best to do it only once and then use it each time you need to find a point neighbor. -- John |
From: Laura S. <lau...@gm...> - 2020-10-21 17:39:22
|
Hi, I would like to find the neighbors of a mesh element including those that share a vertex only with that element, not only those that share an edge with the element (so the method neighbor_ptr does not help). Is there a way to do this? Thank you. Best regards, Laura. |
From: Jahrul A. <al...@mu...> - 2020-09-30 22:37:06
|
Hello, John: I have managed to compile with vtk, thanks for your hint about mpi. By error and trial, I found this /usr/lib64/openmpi/include/vtk/ works(have MPI) instead of default include location /usr/include/vtk/. However, I get the following error: There must be an easy fix by passing the right flag to gcc (GCC) 9.3.1 in my system; however, I would appreciate your help for how to fix it through libmesh/configure. Here is a link to config.log https://www.dropbox.com/s/kw0mzmno58b1iog/config.log?dl=0 In file included from ../src/base/dof_map_constraints.C:39: ./include/libmesh/parallel_algebra.h: In constructor ‘TIMPI::StandardType<libMesh::Point>::StandardType(const libMesh::Point*)’: ./include/libmesh/parallel_algebra.h:218:34: error: cannot convert ‘TIMPI::StandardType<double>’ to ‘MPI_Datatype’ {aka ‘ompi_datatype_t*’} in initialization 218 | MPI_Datatype tmptype, type = T_type; | ^~~~~~ | | | TIMPI::StandardType<double> make[1]: *** [Makefile:25120: src/base/libmesh_opt_la-dof_map_constraints.lo] Error 1 make[1]: Leaving directory '/autofs/awcm/shared/awcm++/libs/libmesh/build' make: *** [Makefile:31943: all-recursive] Error 1 Thanks Jahrul On Mon, Sep 28, 2020 at 10:26 AM John Peterson <jwp...@gm...> wrote: > On Sat, Sep 26, 2020 at 1:08 PM Jahrul Alam <al...@mu...> wrote: > > > Hello > > > > First, I get the following error/info regarding vtk support, while > > configuring libmesh: > > > > ./configure --with-vtk-include=/usr/include/vtk/ > --with-vtk-lib=/usr/lib64 > > > > <<< Configuring library with Qhull version 2012.1 support >>> > > > > <<< Configuring library with GMV support >>> > > > > checking /usr/include/vtk//vtkConfigure.h usability... yes > > > > checking /usr/include/vtk//vtkConfigure.h presence... yes > > > > checking for /usr/include/vtk//vtkConfigure.h... yes > > > > <<< Linking a test program against the VTK libraries failed >>> > > > > <<< libMesh requires VTK to be configured with -DVTK_Group_MPI:BOOL=ON > >>> > > > > LibMesh uses the vtkXMLPUnstructuredGridWriter, so it requires a VTK that > is built with MPI enabled, using the Cmake flag shown above. However, > that's not the only reason that linking can fail. To check the exact > reason, you'll need to look at the config.log or post a link to it so I can > take a look (unfortunately, no attachments are allowed on this mailing > list). > > > > > > > > <<< Configuring library without VTK support >>> > > > > Second, if I save a mesh and a solution as "output.e" for exodusII > format, > > parview reads only the portion that belongs to processor #0. It seems > like > > libmesh warns that it writes the entire mesh. I am running paraview-5.5.2 > > from my iMac, but running libmesh on my Dell with fedora 31. > > > > > > > > using: > > > > io.write_nodal_data (name, sol, vn); > > > > WRITING: result in > > /autofs/research/alamj/results/awcm3d/3d/helmholtz3d/cyl3d.0000.e > > > > Warning: This MeshOutput subclass only supports meshes which have been > > serialized! > > > > Warning: This MeshOutput subclass only supports meshes which have been > > serialized! > > > > Can you share the entire code you used to write the mesh? The Exodus writer > serializes DistributedMeshes when writing, so you should get one mesh file > with the entire contents of the Mesh in the case you are describing. > > -- > John > > _______________________________________________ > Libmesh-users mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libmesh-users > |
From: Jahrul A. <al...@mu...> - 2020-09-30 02:45:11
|
Hello, John: I will post a dropbox link to the file, config.log. Unfortunately, I have a failed drive in my raid array, and I have to turn off the array, while waiting for the replacement hdd from Dell. So, I will get back to installing libMesh after I have the raid array. Thanks Jahrul On Mon, Sep 28, 2020 at 10:26 AM John Peterson <jwp...@gm...> wrote: > On Sat, Sep 26, 2020 at 1:08 PM Jahrul Alam <al...@mu...> wrote: > > > Hello > > > > First, I get the following error/info regarding vtk support, while > > configuring libmesh: > > > > ./configure --with-vtk-include=/usr/include/vtk/ > --with-vtk-lib=/usr/lib64 > > > > <<< Configuring library with Qhull version 2012.1 support >>> > > > > <<< Configuring library with GMV support >>> > > > > checking /usr/include/vtk//vtkConfigure.h usability... yes > > > > checking /usr/include/vtk//vtkConfigure.h presence... yes > > > > checking for /usr/include/vtk//vtkConfigure.h... yes > > > > <<< Linking a test program against the VTK libraries failed >>> > > > > <<< libMesh requires VTK to be configured with -DVTK_Group_MPI:BOOL=ON > >>> > > > > LibMesh uses the vtkXMLPUnstructuredGridWriter, so it requires a VTK that > is built with MPI enabled, using the Cmake flag shown above. However, > that's not the only reason that linking can fail. To check the exact > reason, you'll need to look at the config.log or post a link to it so I can > take a look (unfortunately, no attachments are allowed on this mailing > list). > > > > > > > > <<< Configuring library without VTK support >>> > > > > Second, if I save a mesh and a solution as "output.e" for exodusII > format, > > parview reads only the portion that belongs to processor #0. It seems > like > > libmesh warns that it writes the entire mesh. I am running paraview-5.5.2 > > from my iMac, but running libmesh on my Dell with fedora 31. > > > > > > > > using: > > > > io.write_nodal_data (name, sol, vn); > > > > WRITING: result in > > /autofs/research/alamj/results/awcm3d/3d/helmholtz3d/cyl3d.0000.e > > > > Warning: This MeshOutput subclass only supports meshes which have been > > serialized! > > > > Warning: This MeshOutput subclass only supports meshes which have been > > serialized! > > > > Can you share the entire code you used to write the mesh? The Exodus writer > serializes DistributedMeshes when writing, so you should get one mesh file > with the entire contents of the Mesh in the case you are describing. > > -- > John > > _______________________________________________ > Libmesh-users mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libmesh-users > |
From: John P. <jwp...@gm...> - 2020-09-28 12:56:37
|
On Sat, Sep 26, 2020 at 1:08 PM Jahrul Alam <al...@mu...> wrote: > Hello > > First, I get the following error/info regarding vtk support, while > configuring libmesh: > > ./configure --with-vtk-include=/usr/include/vtk/ --with-vtk-lib=/usr/lib64 > > <<< Configuring library with Qhull version 2012.1 support >>> > > <<< Configuring library with GMV support >>> > > checking /usr/include/vtk//vtkConfigure.h usability... yes > > checking /usr/include/vtk//vtkConfigure.h presence... yes > > checking for /usr/include/vtk//vtkConfigure.h... yes > > <<< Linking a test program against the VTK libraries failed >>> > > <<< libMesh requires VTK to be configured with -DVTK_Group_MPI:BOOL=ON >>> > LibMesh uses the vtkXMLPUnstructuredGridWriter, so it requires a VTK that is built with MPI enabled, using the Cmake flag shown above. However, that's not the only reason that linking can fail. To check the exact reason, you'll need to look at the config.log or post a link to it so I can take a look (unfortunately, no attachments are allowed on this mailing list). > > <<< Configuring library without VTK support >>> > > Second, if I save a mesh and a solution as "output.e" for exodusII format, > parview reads only the portion that belongs to processor #0. It seems like > libmesh warns that it writes the entire mesh. I am running paraview-5.5.2 > from my iMac, but running libmesh on my Dell with fedora 31. > > > using: > > io.write_nodal_data (name, sol, vn); > > WRITING: result in > /autofs/research/alamj/results/awcm3d/3d/helmholtz3d/cyl3d.0000.e > > Warning: This MeshOutput subclass only supports meshes which have been > serialized! > > Warning: This MeshOutput subclass only supports meshes which have been > serialized! > Can you share the entire code you used to write the mesh? The Exodus writer serializes DistributedMeshes when writing, so you should get one mesh file with the entire contents of the Mesh in the case you are describing. -- John |
From: Jahrul A. <al...@mu...> - 2020-09-27 18:11:40
|
Hello, Edgar Thanks. The following VTK example was tested successfully. https://lorensen.github.io/VTKExamples/site/Cxx/IO/XMLStructuredGridWriter/ Looking at your PKGBUILD, I am doing the same, but the other way. A manual quick test is [alamj@wavelet build]$ ../configure --enable-vtk-required It produced the same error posted in the previous message. ===================================== Jahrul Alam, PhD Associate Professor, Dept of Mathematics and Statistics Memorial University, St John's, NL, Canada http://www.math.mun.ca/~alamj/ eMail: al...@mu... Office: HH-3054, Tel: 709-864 8071 ===================================== On Sun, Sep 27, 2020 at 3:20 AM <ed...@op...> wrote: > On 2020-09-26 18:07, Jahrul Alam wrote: > > Hello > > Hi! > > > <<< Linking a test program against the VTK libraries failed >>> > > > > <<< libMesh requires VTK to be configured with -DVTK_Group_MPI:BOOL=ON > > >>> > > > > <<< Configuring library without VTK support >>> > > I'm just a regular user, but I would: > > 1. Try to make sure that you can do something with VTK in the first > place. It may very well be that you already checked, but I don't want to > assume. If you did, how? (it may be relevant for those who are going to > help you). > > 2. I know that you mentioned that you have Fedora, but this works with > Parabola GNU/Linux: > https://notabug.org/broncodev/libmesh-pkgbuild.git > https://aur.archlinux.org/cgit/aur.git/tree/?h=libmesh > > The PKGBUILD is a script which basically creates a subfolder ($srcdir) > to build the package. That subdirectory would have the root directory of > libmesh ($srcdir/$realname). > > You can help yourself a bit if you look at how it is done over there. > Note that almost every library is installed in my system. You can remove > the lines that you prefer from CONFOPTS. > > You can safely ignore the =pkgver= function, then follow the code for > =prepare=, =build= and =check= inside of the directory where you are > building. Remember to have a separate building directory. > > I am sure that the developers will get back to you soon enough :) . > > ------------------------------------------------- > This free account was provided by VFEmail.net - report spam to > ab...@vf... > > ONLY AT VFEmail! - Use our Metadata Mitigator to keep your email out of > the NSA's hands! > $24.95 ONETIME Lifetime accounts with Privacy Features! > 15GB disk! No bandwidth quotas! > Commercial and Bulk Mail Options! > > > _______________________________________________ > Libmesh-users mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libmesh-users > |
From: <ed...@op...> - 2020-09-27 05:50:24
|
On 2020-09-26 18:07, Jahrul Alam wrote: > Hello Hi! > <<< Linking a test program against the VTK libraries failed >>> > > <<< libMesh requires VTK to be configured with -DVTK_Group_MPI:BOOL=ON > >>> > > <<< Configuring library without VTK support >>> I'm just a regular user, but I would: 1. Try to make sure that you can do something with VTK in the first place. It may very well be that you already checked, but I don't want to assume. If you did, how? (it may be relevant for those who are going to help you). 2. I know that you mentioned that you have Fedora, but this works with Parabola GNU/Linux: https://notabug.org/broncodev/libmesh-pkgbuild.git https://aur.archlinux.org/cgit/aur.git/tree/?h=libmesh The PKGBUILD is a script which basically creates a subfolder ($srcdir) to build the package. That subdirectory would have the root directory of libmesh ($srcdir/$realname). You can help yourself a bit if you look at how it is done over there. Note that almost every library is installed in my system. You can remove the lines that you prefer from CONFOPTS. You can safely ignore the =pkgver= function, then follow the code for =prepare=, =build= and =check= inside of the directory where you are building. Remember to have a separate building directory. I am sure that the developers will get back to you soon enough :) . ------------------------------------------------- This free account was provided by VFEmail.net - report spam to ab...@vf... ONLY AT VFEmail! - Use our Metadata Mitigator to keep your email out of the NSA's hands! $24.95 ONETIME Lifetime accounts with Privacy Features! 15GB disk! No bandwidth quotas! Commercial and Bulk Mail Options! |
From: Jahrul A. <al...@mu...> - 2020-09-26 18:08:10
|
Hello First, I get the following error/info regarding vtk support, while configuring libmesh: ./configure --with-vtk-include=/usr/include/vtk/ --with-vtk-lib=/usr/lib64 <<< Configuring library with Qhull version 2012.1 support >>> <<< Configuring library with GMV support >>> checking /usr/include/vtk//vtkConfigure.h usability... yes checking /usr/include/vtk//vtkConfigure.h presence... yes checking for /usr/include/vtk//vtkConfigure.h... yes <<< Linking a test program against the VTK libraries failed >>> <<< libMesh requires VTK to be configured with -DVTK_Group_MPI:BOOL=ON >>> <<< Configuring library without VTK support >>> Second, if I save a mesh and a solution as "output.e" for exodusII format, parview reads only the portion that belongs to processor #0. It seems like libmesh warns that it writes the entire mesh. I am running paraview-5.5.2 from my iMac, but running libmesh on my Dell with fedora 31. using: io.write_nodal_data (name, sol, vn); WRITING: result in /autofs/research/alamj/results/awcm3d/3d/helmholtz3d/cyl3d.0000.e Warning: This MeshOutput subclass only supports meshes which have been serialized! Warning: This MeshOutput subclass only supports meshes which have been serialized! I appreciate it to get some help from experts. Regards, Jahrul ===================================== Jahrul Alam, PhD Associate Professor, Dept of Mathematics and Statistics Memorial University, St John's, NL, Canada http://www.math.mun.ca/~alamj/ eMail: al...@mu... Office: HH-3054, Tel: 709-864 8071 ===================================== |
From: John P. <jwp...@gm...> - 2020-08-28 19:50:59
|
On Fri, Aug 28, 2020 at 11:30 AM Roy Stogner <roy...@od...> wrote: > > On Fri, 28 Aug 2020, John Peterson wrote: > > > On Fri, Aug 21, 2020 at 9:51 AM Nikhil Vaidya <nik...@gm...> > > wrote: > > > >> I need to print the sparse matrices (Petsc) and vectors involved in my > >> calculations to file using print_matlab(). I have observed that the > >> matrices and vectors that are written to the matlab scripts in serial > and > >> parallel runs are not identical. Is this actually the case or am I > missing > >> something? > >> > > > > By "not identical" I guess you mean that they don't match in all digits, > > but are they at least "close"? It's normal to have floating point > > differences between serial and parallel runs, but they should be due to > > different orders of operations and therefore of order 10-100 * machine > > epsilon. > > To expand: it's even normal to have floating point differences between > different parallel runs. Both MPI reductions and threading pool > algorithms typically operate on "I'll begin summing the first data I > see ready" for efficiency, and "the first data I see ready" depends on > how loaded each CPU and network device is, meaning the reductions are > practically done in random order. IIRC there's even a funny bit in > the MPI standard where they find a very polite and professional way to > rephrase "If you don't like it then why don't you go write your own > reduction code!?" > > And if you're using PETSc? You're probably not even be using the same > algorithm in serial vs parallel; the default (for performance / > robustness reasons) is Block Jacobi (between processors) + ILU0 > (within a processor), so the very definition of your preconditioner > depends on your partitioning. This is a much bigger issue than the > order of operations problem. Because of it, if you want to be able to > do testing on different processor counts (or partitioner settings or > solver algorithm choices or preconditioner algorithm choices), you > can't safely assert that a "gold" regression test standard will be > repeatable to a tolerance any better than your solver tolerance (or > even equal to your solver tolerance, thanks to conditioning issues). > Hi Nikhil, A colleague just reminded me that the DOFs are distributed differently in serial vs. parallel, depending on the number of processors you have. So I think in general there is no way to compare a matrix written to file in serial vs. one written in parallel. Assuming you have only nodal DOFs and the mesh doesn't get renumbered in serial vs. parallel, you could theoretically write out the non-zero matrix entries row by row in a permuted order (e.g. node number order) in both serial and parallel, and then check that it matches. Probably a bit more effort than you were looking to spend, unfortunately. -- John |
From: Roy S. <roy...@od...> - 2020-08-28 16:45:45
|
On Fri, 28 Aug 2020, John Peterson wrote: > On Fri, Aug 21, 2020 at 9:51 AM Nikhil Vaidya <nik...@gm...> > wrote: > >> I need to print the sparse matrices (Petsc) and vectors involved in my >> calculations to file using print_matlab(). I have observed that the >> matrices and vectors that are written to the matlab scripts in serial and >> parallel runs are not identical. Is this actually the case or am I missing >> something? >> > > By "not identical" I guess you mean that they don't match in all digits, > but are they at least "close"? It's normal to have floating point > differences between serial and parallel runs, but they should be due to > different orders of operations and therefore of order 10-100 * machine > epsilon. To expand: it's even normal to have floating point differences between different parallel runs. Both MPI reductions and threading pool algorithms typically operate on "I'll begin summing the first data I see ready" for efficiency, and "the first data I see ready" depends on how loaded each CPU and network device is, meaning the reductions are practically done in random order. IIRC there's even a funny bit in the MPI standard where they find a very polite and professional way to rephrase "If you don't like it then why don't you go write your own reduction code!?" And if you're using PETSc? You're probably not even be using the same algorithm in serial vs parallel; the default (for performance / robustness reasons) is Block Jacobi (between processors) + ILU0 (within a processor), so the very definition of your preconditioner depends on your partitioning. This is a much bigger issue than the order of operations problem. Because of it, if you want to be able to do testing on different processor counts (or partitioner settings or solver algorithm choices or preconditioner algorithm choices), you can't safely assert that a "gold" regression test standard will be repeatable to a tolerance any better than your solver tolerance (or even equal to your solver tolerance, thanks to conditioning issues). --- Roy |
From: John P. <jwp...@gm...> - 2020-08-28 15:32:10
|
On Fri, Aug 21, 2020 at 9:51 AM Nikhil Vaidya <nik...@gm...> wrote: > Hello, > > I need to print the sparse matrices (Petsc) and vectors involved in my > calculations to file using print_matlab(). I have observed that the > matrices and vectors that are written to the matlab scripts in serial and > parallel runs are not identical. Is this actually the case or am I missing > something? > By "not identical" I guess you mean that they don't match in all digits, but are they at least "close"? It's normal to have floating point differences between serial and parallel runs, but they should be due to different orders of operations and therefore of order 10-100 * machine epsilon. Furthermore, is there another function to write matrices and vectors to > file which is independent of whether the execution is serial or parallel? > print_matlab() uses all the standard PetscViewer interfaces so it's going to be your best bet. I would suggest printing a test matrix that you know to be identical in serial and parallel first before trying to print a matrix from a "production" run. -- John |
From: Ger ry <ran...@gm...> - 2020-08-25 19:30:43
|
Hello everyone, Since the problem that i was dealing with has been solved i would like to post this because my previous mails may be confusing for other users. The problem was that at first i didn't use --prefix=/usr/local/libmesh and also i didn't run make install and fixed the paths in the makefile of my application to libmesh/contrib/bin/.. etc. and spoiled other paths in this folder too. So now that i deleted everything and started configuration and installation from the beginning everything works fine. The make file template in the link https://gist.github.com/jwpeterson/24bda483b26db5a5759d and the one found the contrib/utils folder that is also used here https://github.com/CalebPhillips5/ABM_Ang <https://github.com/CalebPhillips5/ABM_Ang> work fine. (In the second one, i set tthe paths to: LIBMESH_DIR ?= /usr/local/libmesh/lib # include the library options determined by configure include /usr/local/libmesh/Make.common) John Peterson, thank you very much for your guidance and patience. |
From: Nikhil V. <nik...@gm...> - 2020-08-21 14:50:52
|
Hello, I need to print the sparse matrices (Petsc) and vectors involved in my calculations to file using print_matlab(). I have observed that the matrices and vectors that are written to the matlab scripts in serial and parallel runs are not identical. Is this actually the case or am I missing something? Furthermore, is there another function to write matrices and vectors to file which is independent of whether the execution is serial or parallel? Best regards, Nikhil |
From: John P. <jwp...@gm...> - 2020-08-19 17:21:23
|
On Wed, Aug 19, 2020 at 11:56 AM Ger ry <ran...@gm...> wrote: > In fact, i hadn't ran "make install". > I must had misinterpreted the instructions. > > now i ran make install. > and it seems successful except for some warnings like the following: > libtool: warning: > '/home/flexwork/Documents/repos/libmesh/contrib/netcdf/v4/liblib/ > libnetcdf.la' has not been installed in '/usr/local/lib' > OK, I'm glad that it seems to be mostly working now. I'm not sure what would cause the libtool warning you are seeing, as I have not seen this error before. In your previous emails, I thought you had started installing into /usr/local/libmesh, in which case the .la file in question would be installed to /usr/local/libmesh/lib/libnetcdf.la Either way, I suppose you could check whether a libnetcdf.la file exists or not in either of those locations. It's possible that there was an existing one in /usr/local/lib and therefore autoconf avoided overwriting it? This is another reason not to install directly to /usr/local BTW, it can conflict with other software you have installed there. -- John |
From: Ger ry <ran...@gm...> - 2020-08-19 16:56:43
|
In fact, i hadn't ran "make install". I must had misinterpreted the instructions. now i ran make install. and it seems successful except for some warnings like the following: libtool: warning: '/home/flexwork/Documents/repos/libmesh/contrib/netcdf/v4/liblib/ libnetcdf.la' has not been installed in '/usr/local/lib' I run the previously mentioned examples and i get: the following using the makefile from https://gist.github.com/jwpeterson/24bda483b26db5a5759d and running make miscellaneous_ex11 for a copy of miscellaneous example 11 with .cc file extension the terminal shows Compiling miscellaneous_ex11.cc and not any errors in the same folder miscellaneous_ex11-opt is created. for completeness i tried using the makefile template from contrib/utils (with the correct paths this time) but for this one i get an error: Linking example-opt... libtool: error: cannot find the library '/usr/local/lib/libnetcdf.la' or unhandled argument '/usr/local/lib/libnetcdf.la' make: *** [Makefile:39: example-opt] Error 1. On Wed, Aug 19, 2020 at 4:11 PM John Peterson <jwp...@gm...> wrote: > > > On Wed, Aug 19, 2020 at 7:14 AM Ger ry <ran...@gm...> wrote: > >> I tried the path >> libmesh_config := /usr/local/bin/libmesh-config >> and ran >> make miscellaneous_ex11.cc >> and it gives the following error: >> /bin/sh: 1: /usr/local/bin/libmesh-config: not found >> /bin/sh: 1: /usr/local/bin/libmesh-config: not found >> /bin/sh: 1: /usr/local/bin/libmesh-config: not found >> /bin/sh: 1: /usr/local/bin/libmesh-config: not found >> /bin/sh: 1: /usr/local/bin/libmesh-config: not found >> Compiling miscellaneous_ex11.cc >> make: miscellaneous_ex11.cc: Command not found >> make: *** [Makefile:36: miscellaneous_ex11] Error 127 >> >> I tried starting over again with configure and make in the repo this time >> with the path that is more preferable as follows: >> ./configure --prefix=/usr/local/libmesh >> make >> (executed in the folder repos/libmesh) >> > > Did you run "make install"? > > -- > John > |
From: John P. <jwp...@gm...> - 2020-08-19 13:11:28
|
On Wed, Aug 19, 2020 at 7:14 AM Ger ry <ran...@gm...> wrote: > I tried the path > libmesh_config := /usr/local/bin/libmesh-config > and ran > make miscellaneous_ex11.cc > and it gives the following error: > /bin/sh: 1: /usr/local/bin/libmesh-config: not found > /bin/sh: 1: /usr/local/bin/libmesh-config: not found > /bin/sh: 1: /usr/local/bin/libmesh-config: not found > /bin/sh: 1: /usr/local/bin/libmesh-config: not found > /bin/sh: 1: /usr/local/bin/libmesh-config: not found > Compiling miscellaneous_ex11.cc > make: miscellaneous_ex11.cc: Command not found > make: *** [Makefile:36: miscellaneous_ex11] Error 127 > > I tried starting over again with configure and make in the repo this time > with the path that is more preferable as follows: > ./configure --prefix=/usr/local/libmesh > make > (executed in the folder repos/libmesh) > Did you run "make install"? -- John |
From: Ger ry <ran...@gm...> - 2020-08-19 12:14:38
|
I tried the path libmesh_config := /usr/local/bin/libmesh-config and ran make miscellaneous_ex11.cc and it gives the following error: /bin/sh: 1: /usr/local/bin/libmesh-config: not found /bin/sh: 1: /usr/local/bin/libmesh-config: not found /bin/sh: 1: /usr/local/bin/libmesh-config: not found /bin/sh: 1: /usr/local/bin/libmesh-config: not found /bin/sh: 1: /usr/local/bin/libmesh-config: not found Compiling miscellaneous_ex11.cc make: miscellaneous_ex11.cc: Command not found make: *** [Makefile:36: miscellaneous_ex11] Error 127 I tried starting over again with configure and make in the repo this time with the path that is more preferable as follows: ./configure --prefix=/usr/local/libmesh make (executed in the folder repos/libmesh) then i ran the test miscellaneous example and it works fine again but the one that is copied in an external folder still has the same output. for the path libmesh_config := /usr/local/libmesh/bin/libmesh-config in the makefile i get the following output: /bin/sh: 1: /usr/local/libmesh/bin/libmesh-config: not found /bin/sh: 1: /usr/local/libmesh/bin/libmesh-config: not found /bin/sh: 1: /usr/local/libmesh/bin/libmesh-config: not found /bin/sh: 1: /usr/local/libmesh/bin/libmesh-config: not found /bin/sh: 1: /usr/local/libmesh/bin/libmesh-config: not found Compiling miscellaneous_ex11.cc make: miscellaneous_ex11.cc: Command not found make: *** [Makefile:36: miscellaneous_ex11] Error 127 Thank you very much for your help and i am sorry that this takes longer to be solved than expected. |
From: John P. <jwp...@gm...> - 2020-08-19 00:06:59
|
On Tue, Aug 18, 2020 at 6:40 PM Ger ry <ran...@gm...> wrote: > Thanks once again for your advice. > > I made two variants of the makefile that you provided, as follows: > 1) > changed the following > # installed libmesh location of libmesh-config script > libmesh_config := > /home/flexwork/Documents/repos/libmesh/contrib/bin/libmesh-config > and then ran > make miscellaneous_ex11 > > and the output was: > miscellaneous_ex11.cc:38:10: fatal error: libmesh/libmesh.h: No such file > or directory > 38 | #include "libmesh/libmesh.h" > | ^~~~~~~~~~~~~~~~~~~ > compilation terminated. > The libmesh-config script is located in the _installation_ directory, so in your case I guess you should put libmesh_config := /usr/local/bin/libmesh-config on that line, since you installed libmesh into /usr/local. -- John |
From: Ger ry <ran...@gm...> - 2020-08-18 23:40:39
|
Thanks once again for your advice. I made two variants of the makefile that you provided, as follows: 1) changed the following # installed libmesh location of libmesh-config script libmesh_config := /home/flexwork/Documents/repos/libmesh/contrib/bin/libmesh-config and then ran make miscellaneous_ex11 and the output was: miscellaneous_ex11.cc:38:10: fatal error: libmesh/libmesh.h: No such file or directory 38 | #include "libmesh/libmesh.h" | ^~~~~~~~~~~~~~~~~~~ compilation terminated. 2) changed the following # installed libmesh location of libmesh-config script libmesh_config := /usr/local and then ran make miscellaneous_ex11 and the output was: /bin/sh: 1: /usr/local: Permission denied /bin/sh: 1: /usr/local: Permission denied /bin/sh: 1: /usr/local: Permission denied /bin/sh: 1: /usr/local: Permission denied /bin/sh: 1: /usr/local: Permission denied Compiling miscellaneous_ex11.cc make: miscellaneous_ex11.cc: Command not found make: *** [Makefile:35: miscellaneous_ex11] Error 127 For both cases i changed the extension of the copied miscellaneous_ex11.C to miscellaneous_ex11.cc . Is there something else that i can try? Is it right to conclude that /home/flexwork/Documents/repos/libmesh/contrib/bin is the installation directory? |
From: John P. <jwp...@gm...> - 2020-08-18 21:06:08
|
On Tue, Aug 18, 2020 at 2:48 PM Ger ry <ran...@gm...> wrote: > Thank you very much for your response. > > Indeed i checked that libmesh is installed correctly. After ./configure and > make i ran make check. And now i ran again > > cd build/examples/introduction/introduction_ex1 > make check > > and > cd miscellaneous_ex11 (in repo) > > make check > > in order to be sure and they work fine. tests passed. > OK, that's encouraging that at least the build seems to have worked. Just FYI, based on the error message you posted: /usr/local/bin/libmesh-config: Command not found it looks like you configured with "--prefix=/usr/local". This isn't a problem per se, but it could make it harder to remove libmesh from your system in the future, in case you ever remove your libmesh build directory, since then you would lose the "make uninstall" target. My advice would be to configure with e.g. "--prefix=/usr/local/libmesh" or some other directory that doesn't exist yet, that way uninstalling is as simple as rm'ing that directory. > I also copied the file Makefile form contrib/utils I think your issue must somehow be related to the Makefile you are using. Would you mind trying this simplified one instead: https://gist.github.com/jwpeterson/24bda483b26db5a5759d There are instructions at that link, but note that this Makefile still relies on the the libmesh-config script and is currently set up assuming that your source code ends in .cc, but other than that I think it should work better for you. > so that, i don't do anything wrong in the folder where libmesh was successfully built. Since you have a git repo, it's actually fine to modify any example you want to in-place, as you can always easily reset any changes you don't want to keep. The only thing to keep in mind is that you would modify the example in the repo but then compile/run it in the build directory. This may get you up and running faster than messing around with your own Makefile. -- John |
From: Ger ry <ran...@gm...> - 2020-08-18 19:48:31
|
Thank you very much for your response. Indeed i checked that libmesh is installed correctly. After ./configure and make i ran make check. And now i ran again cd build/examples/introduction/introduction_ex1 make check and cd miscellaneous_ex11 (in repo) make check in order to be sure and they work fine. tests passed. |
From: John P. <jwp...@gm...> - 2020-08-18 14:54:17
|
Hi, Did you test whether the libmesh examples are working, (e.g. assuming you are in the top level of the git repo and you followed the standard build instructions) cd build/examples/introduction/introduction_ex1 make check I would just like to confirm that libmesh was built and installed correctly before we get too far with the other questions. -- John |
From: Ger ry <ran...@gm...> - 2020-08-17 17:26:30
|
Hello everyone, I would like to ask a question about a problem I am having with libmesh because I have little experience in using it and c ++ in general. After configurating and building libmesh i tried to create a small example, by copying and modifying an existing one (examples/miscellaneous example 11), in a separate folder so that, i don't do anything wrong in the folder where libmesh was successfully built. I also copied the file Makefile form contrib/utils and fixed the paths inside it as follows: *# Template libMesh application MakefileLIBMESH_DIR ?= /home/flexwork/Documents/repos/libmesh# include the library options determined by configureinclude /home/flexwork/Documents/repos/libmesh/contrib/utils/Make.common* When i ran make in terminal in the example's folder (in the copied one) i get the following error: m *ake: /usr/local/bin/libmesh-config: Command not foundmake: /usr/local/bin/libmesh-config: Command not foundmake: /usr/local/bin/libmesh-config: Command not foundmake: /usr/local/bin/libmesh-config: Command not foundmake: /usr/local/bin/libmesh-config: Command not foundmake: /usr/local/bin/libmesh-config: Command not foundmake: /usr/local/bin/libmesh-config: Command not foundmake: /usr/local/bin/libmesh-config: Command not foundmake: /usr/local/bin/libmesh-config: Command not foundmake: /usr/local/bin/libmesh-config: Command not found/bin/sh: 1: /usr/local/contrib/bin/libtool: not found/bin/sh: 1: /usr/local/contrib/bin/libtool: not foundCompiling C++ (in optimized mode) miscellaneous_ex11.C...c miscellaneous_ex11.C -o miscellaneous_ex11.x86_64-pc-linux-gnu.opt.omake: c: Command not foundmake: [/home/flexwork/Documents/repos/libmesh/contrib/utils/Make.common:159: miscellaneous_ex11.x86_64-pc-linux-gnu.opt.o] Error 127 (ignored)Linking example-opt...make: /usr/local/contrib/bin/libtool: Command not foundmake: *** [Makefile:39: example-opt] Error 127* Then i modified the following paths in make.common file in repos/libmesh/contrib/utils *# Where libMesh is installed.prefix := /home/flexwork/Documents/repos/libmesh/contribexec_prefix := ${prefix}libmesh_install_dir := $(prefix)# the libtool to use in these defined rules.libmesh_LIBTOOL ?= /home/flexwork/Documents/repos/libmesh/libtool* and when i run make in my example again i get the following error: *Compiling C++ (in optimized mode) miscellaneous_ex11.C...g++ -DNDEBUG -O2 -felide-constructors -funroll-loops -fstrict-aliasing -Wdisabled-optimization -fopenmp -I/usr/local/include -pthread -c miscellaneous_ex11.C -o miscellaneous_ex11.x86_64-pc-linux-gnu.opt.omiscellaneous_ex11.C:38:10: fatal error: libmesh/libmesh.h: No such file or directory 38 | #include "libmesh/libmesh.h" | ^~~~~~~~~~~~~~~~~~~compilation terminated.make: *** [/home/flexwork/Documents/repos/libmesh/contrib/utils/Make.common:159: miscellaneous_ex11.x86_64-pc-linux-gnu.opt.o] Error 1*. So clearly i have understood something wrong. in the installation instructions i see that is better that is should try: `libmesh-config --cxx` -o foo foo.C `libmesh-config --cxxflags --include --ldflags --libs` but i don't know how i should use this. I also found a repository posted on a previous conversation: https://github.com/CalebPhillips5/ABM_Ang but trying to build it i came across the same problems. I would really appreciate it if anyone could give some introductory instructions about what i am doing wrong or post a repo of a simple code that does something similar. I would also like to ask how can i run libmesh in debug mode so that i can access variables in some breakpoints , should i change something in the makefile before running an in debug mode an example from * libmesh/examples *in visual studio code? Thank you in advance. |