My understanding is that Point was and still is a class and Node derives from it. On Aug 17, 2016 3:05 PM, "Harry Pearce" <harroontheg...@gmail.com> wrote:
> I updated the .C program based on the up to date examples. The only error I > get now is: > CXX example_opt-eigenproblems_ex2.o > eigenproblems_ex2.C: In function ‘int main(int, char**)’: > eigenproblems_ex2.C:89:32: error: invalid initialization of reference of > type ‘const libMesh::Point&’ from expression of type ‘libMesh::Node’ > const Point& p = **node_it; > ^ > This looks like a C++ error to me but supposedly the code used to work. Was > libmesh::Point a class in the old libMesh (libMesh 0.7.3.3)? > > Thankfully, > Harry Pearce > > > On Tue, Aug 16, 2016 at 12:37 PM, Cody Permann <codyperm...@gmail.com> > wrote: > > > You need to spend some time updating your code. Many of these changes > > occurred more than a one to two years ago. The fixes are generally small. > > Just use the current examples to get your old example back in line. > > Just to get started, libMesh has a communicator class so that you can > > split communicators and not necessarily work with just the global > > communicator so you won't find processor_id() in a namespace any more as > a > > result. The Mesh constructors was changed a few years ago. AutoPtr is > > deprecated in favor of UniquePtr, etc... > > > > Mike, UniquePtr is actually quite nice! You can't accidentally assign a > > UniquePtr resulting in having the resource stolen like you could freely > do > > with AutoPtr. Overall these changes shouldn't be viewed on as "bad", > these > > are positive changes that reflect new capabilities and feature evolution > of > > the project. > > > > On Tue, Aug 16, 2016 at 12:19 PM Harry Pearce <harroontheg...@gmail.com> > > wrote: > > > >> >Again, I would not worry about adding an example but rather just try > >> >to build and test standalone. I just reinstalled libmesh adding petsc > >> >and other things, repeated the process of running "make -n example-opt" > >> >and extracting the compile and link lines and it seems to work ok, > >> > >> I was wondering if you tried that with my code. I tried to use the > output > >> and named my file by the same name but errors appeared. I also tried > using > >> the compile and link lines and errors seemed to appear. As a test I > tried > >> running the make example-opt on an example that I added a comment line > to > >> (so it would know there was a change in the .C file and recompile the > >> example-opt program and that worked fine. When I used my .C program > >> instead > >> (which I named eigenproblems_ex2.C and put in the eigenprobmes_ex2.C > >> example folder) and ran make example-opt errors appeared. These errors > >> are: > >> > >> > >> CXX example_opt-eigenproblems_ex2.o > >> eigenproblems_ex2.C: In function ‘int main(int, char**)’: > >> eigenproblems_ex2.C:44:13: error: ‘processor_id’ is not a member of > >> ‘libMesh’ > >> if (libMesh::processor_id() == 0) > >> ^ > >> eigenproblems_ex2.C:65:10: error: no matching function for call to > >> ‘libMesh::Mesh::Mesh()’ > >> Mesh mesh; > >> ^ > >> eigenproblems_ex2.C:65:10: note: candidates are: > >> In file included from eigenproblems_ex2.C:3:0: > >> ../../../include/libmesh/mesh.h:75:3: note: libMesh::Mesh::Mesh(const > >> libMesh::UnstructuredMesh&) > >> Mesh (const UnstructuredMesh & other_mesh) : DefaultMesh(other_mesh) > {} > >> ^ > >> ../../../include/libmesh/mesh.h:75:3: note: candidate expects 1 > >> argument, > >> 0 provided > >> ../../../include/libmesh/mesh.h:56:3: note: libMesh::Mesh::Mesh(const > >> libMesh::Parallel::Communicator&, unsigned char) > >> Mesh (const Parallel::Communicator & comm_in, > >> ^ > >> ../../../include/libmesh/mesh.h:56:3: note: candidate expects 2 > >> arguments, 0 provided > >> ../../../include/libmesh/mesh.h:46:7: note: libMesh::Mesh::Mesh(const > >> libMesh::Mesh&) > >> class Mesh : public DefaultMesh > >> ^ > >> ../../../include/libmesh/mesh.h:46:7: note: candidate expects 1 > >> argument, > >> 0 provided > >> eigenproblems_ex2.C:93:32: error: invalid initialization of reference of > >> type ‘const libMesh::Point&’ from expression of type ‘libMesh::Node’ > >> const Point& p = **node_it; > >> ^ > >> eigenproblems_ex2.C: In function ‘void > >> assemble_mass(libMesh::EquationSystems&, const string&)’: > >> eigenproblems_ex2.C:178:52: error: no matching function for call to > >> ‘libMesh::AutoPtr<libMesh::FEGenericBase<double> > >> >::AutoPtr(libMesh::UniquePtr<libMesh::FEGenericBase<double> >)’ > >> AutoPtr<FEBase> fe (FEBase::build(dim, fe_type)); > >> ^ > >> eigenproblems_ex2.C:178:52: note: candidates are: > >> In file included from ../../../include/libmesh/parallel.h:25:0, > >> from ../../../include/libmesh/libmesh.h:28, > >> from eigenproblems_ex2.C:2: > >> ../../../include/libmesh/auto_ptr.h:355:3: note: > >> libMesh::AutoPtr<Tp>::AutoPtr(libMesh::AutoPtrRef<Tp>) [with Tp = > >> libMesh::FEGenericBase<double>] > >> AutoPtr(AutoPtrRef<element_type> ref) > >> ^ > >> ../../../include/libmesh/auto_ptr.h:355:3: note: no known conversion > >> for > >> argument 1 from ‘libMesh::UniquePtr<libMesh::FEGenericBase<double> > > {aka > >> std::unique_ptr<libMesh::FEGenericBase<double>, > >> std::default_delete<libMesh::FEGenericBase<double> > >}’ to > >> ‘libMesh::AutoPtrRef<libMesh::FEGenericBase<double> >’ > >> ../../../include/libmesh/auto_ptr.h:215:3: note: template<class Tp1> > >> libMesh::AutoPtr<Tp>::AutoPtr(libMesh::AutoPtr<Tp1>&) > >> AutoPtr(AutoPtr<Tp1> & a) > >> ^ > >> ../../../include/libmesh/auto_ptr.h:215:3: note: template argument > >> deduction/substitution failed: > >> eigenproblems_ex2.C:178:52: note: > >> ‘libMesh::UniquePtr<libMesh::FEGenericBase<double> > {aka > >> std::unique_ptr<libMesh::FEGenericBase<double>, > >> std::default_delete<libMesh::FEGenericBase<double> > >}’ is not derived > >> from ‘libMesh::AutoPtr<Tp>’ > >> AutoPtr<FEBase> fe (FEBase::build(dim, fe_type)); > >> ^ > >> In file included from ../../../include/libmesh/parallel.h:25:0, > >> from ../../../include/libmesh/libmesh.h:28, > >> from eigenproblems_ex2.C:2: > >> ../../../include/libmesh/auto_ptr.h:200:3: note: > >> libMesh::AutoPtr<Tp>::AutoPtr(libMesh::AutoPtr<Tp>&) [with Tp = > >> libMesh::FEGenericBase<double>] > >> AutoPtr(AutoPtr & a) > >> ^ > >> ../../../include/libmesh/auto_ptr.h:200:3: note: no known conversion > >> for > >> argument 1 from ‘libMesh::UniquePtr<libMesh::FEGenericBase<double> > > {aka > >> std::unique_ptr<libMesh::FEGenericBase<double>, > >> std::default_delete<libMesh::FEGenericBase<double> > >}’ to > >> ‘libMesh::AutoPtr<libMesh::FEGenericBase<double> >&’ > >> ../../../include/libmesh/auto_ptr.h:185:3: note: > >> libMesh::AutoPtr<Tp>::AutoPtr(libMesh::AutoPtr<Tp>::element_type*) > [with > >> Tp > >> = libMesh::FEGenericBase<double>; libMesh::AutoPtr<Tp>::element_type = > >> libMesh::FEGenericBase<double>] > >> AutoPtr(element_type * p = 0) > >> ^ > >> ../../../include/libmesh/auto_ptr.h:185:3: note: no known conversion > >> for > >> argument 1 from ‘libMesh::UniquePtr<libMesh::FEGenericBase<double> > > {aka > >> std::unique_ptr<libMesh::FEGenericBase<double>, > >> std::default_delete<libMesh::FEGenericBase<double> > >}’ to > >> ‘libMesh::AutoPtr<libMesh::FEGenericBase<double> >::element_type* {aka > >> libMesh::FEGenericBase<double>*}’ > >> make: *** [example_opt-eigenproblems_ex2.o] Error 1 > >> > >> > >> Also I ran make check and the examples do rerun when I do that but now > >> when > >> I do make run_examples. When I do make run_examples it looks in each > >> directory but doesn't do anything other than "make all-am". Then it says > >> there is nothing to do in the directory of the example and looks at the > >> next example. > >> > >> Harry Pearce > >> > >> On Fri, Aug 12, 2016 at 12:48 PM, Mike Marchywka <marchy...@hotmail.com > > > >> wrote: > >> > >> > Again, I would not worry about adding an example but rather just try > >> > to build and test standalone. I just reinstalled libmesh adding petsc > >> > and other things, repeated the process of running "make -n > example-opt" > >> > and extracting the compile and link lines and it seems to work ok, > >> > > >> > Silent failures can be hard to track down. Normally, you could just > >> > start in a debugger. Or, if you think you are missing a library > >> > run ldd. It turns out the output of the libtool step is a script > >> > that runs .libs/lt-foo. and you can run ldd on this if you want. > >> > > >> > If you mean it only makes once, you need to insure the dependencies > >> > are right but for testing I usually just write a script that rebuilds > >> > everything although checking for "newer" would not be too hard. > >> > > >> > Again, the compile seems normal but maybe someone could explain the > >> > odd linking lol. What is the point of this? > >> > > >> > When I get some simple examples to work and think > >> > Iunderstand FEM, I was going to link > >> > to a larger program I have which uses tcl and things like jdft. > >> > I have no idea how this will go but curious what you find :) > >> > > >> > > >> > > >> > > >> > > >> > > >> > ---------------------------------------- > >> > > From: harroontheg...@gmail.com > >> > > Date: Fri, 12 Aug 2016 12:34:41 -0700 > >> > > To: libmesh-users@lists.sourceforge.net > >> > > Subject: [Libmesh-users] Example files won't run a second time > >> > > > >> > > Hello libmesh users!, > >> > > I tried to run the example programs using make run_examples but > after > >> the > >> > > makefile descends into the individual example files it keeps saying > >> > > "Nothing to be done for all-am" after trying to make all-am. It > >> doesn't > >> > try > >> > > to run or modify the programs. I wanted to recompile the > >> > eigenproblems_ex2 > >> > > with my own .C file in it instead of the one that comes with the > >> > examples. > >> > > > >> > > I did modify the Makefile.am in the example directory, but just to > >> add an > >> > > example to the SUBDIRS variable, following the directions of > >> > > https://github.com/libMesh/libmesh/wiki/Adding-a-new-example > >> > (instructions > >> > > for adding a new example program to libMesh). I changed it back > though > >> > and > >> > > now the only difference that I know of between it and the original > >> > > Makefile.am is that I commented out the members of the SUBDIRS > >> variable > >> > > other than eigenproblems_ex2 which I modified the .C file of. > >> > > > >> > > My Professor never used make check when downloading > libmesh-1.0.0-rc1. > >> > > Instead he used make run_examples. > >> > > > >> > > Does anyone know why the example programs aren't running (they ran > the > >> > > first time) and how to fix it? > >> > > > >> > > Thankfully, > >> > > Harry Pearce > >> > > ------------------------------------------------------------ > >> > ------------------ > >> > > What NetFlow Analyzer can do for you? Monitors network bandwidth and > >> > traffic > >> > > patterns at an interface-level. Reveals which users, apps, and > >> protocols > >> > are > >> > > consuming the most bandwidth. Provides multi-vendor support for > >> NetFlow, > >> > > J-Flow, sFlow and other flows. Make informed decisions using > capacity > >> > > planning reports. http://sdm.link/zohodev2dev > >> > > _______________________________________________ > >> > > Libmesh-users mailing list > >> > > Libmesh-users@lists.sourceforge.net > >> > > https://lists.sourceforge.net/lists/listinfo/libmesh-users > >> > > >> ------------------------------------------------------------ > >> ------------------ > >> _______________________________________________ > >> Libmesh-users mailing list > >> Libmesh-users@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/libmesh-users > >> > > > ------------------------------------------------------------ > ------------------ > _______________________________________________ > Libmesh-users mailing list > Libmesh-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/libmesh-users > ------------------------------------------------------------------------------ _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users