________________________________
> From: codyperm...@gmail.com 
> Date: Tue, 16 Aug 2016 19:37:52 +0000 
> Subject: Re: [Libmesh-users] Example files won't run a second time 
> To: harroontheg...@gmail.com; marchy...@hotmail.com 
> CC: libmesh-users@lists.sourceforge.net 
> 
> 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. 

Does it somehow end up allowing or encouraging better usage of
memory for these calculations, say avoiding low level cache thrashing?


> 
> On Tue, Aug 16, 2016 at 12:19 PM Harry Pearce 
> <harroontheg...@gmail.com<mailto: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<mailto: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<mailto:harroontheg...@gmail.com> 
>>> Date: Fri, 12 Aug 2016 12:34:41 -0700 
>>> To: 
> libmesh-users@lists.sourceforge.net<mailto: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<mailto:Libmesh-users@lists.sourceforge.net>
>  
>>> https://lists.sourceforge.net/lists/listinfo/libmesh-users 
>> 
> ------------------------------------------------------------------------------
>  
> _______________________________________________ 
> Libmesh-users mailing list 
> Libmesh-users@lists.sourceforge.net<mailto: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

Reply via email to