Thread Previous • Date Previous • Date Next • Thread Next |
Ola Skavhaug wrote:
On Mon, Sep 21, 2009 at 9:00 PM, Johan Hake <hake@xxxxxxxxx> wrote:On Monday 21 September 2009 20:32:41 Garth N. Wells wrote:This issue has returned.I think the issue is at the viper side this time. f = File(filename) data = FunctionPlotData() f >> data works fine. JohanThe general problem with DOLFIN and Viper is the changing interface of DOLFIN. This, together with the desired viper use of viper some_plot_data.xml which essentially leads to Python code a-la try: plot_function_plot_data() except: pass try: plot_mesh_function() except: pass try: plot_mesh() except: raise IOError("Could not find anything to plot") makes life hard. In general, the problem as seen from the Python side is that we need to spesify the type of object read from file. Being a dynamically typed language, the following code (or similar) is possible: plot(File(filename).read()) which would make is much simpler to issue a sound error message from Viper.
I added a Blueprint to Launchpad on this, https://blueprints.launchpad.net/fenics-viper/+spec/plot-type
In my view, the problem is that we haven't code for extracting type info from a DOLFIN xml file. A simple reader that extracts and reports this would be nice to have.
I've said a bunch of times already (but without a response) that we can already write to the VTK XML format, and Viper is based on VTK which can of course parse its own XML files, so why aren't we just using the VTK format? The process is essentially what is described above and would require minimal work. See
https://blueprints.launchpad.net/fenics-viper/+spec/vtk-files Garth
f = File(filename) info = XMLFileInfo(f) print info (FunctionPlotData, Mesh) data = info[0]() # Construct an empty FunctionPlotData instance mesh = info[1]() # Construct an empty Mesh. [...]Garth Ola Skavhaug wrote:On Tue, Sep 15, 2009 at 2:48 PM, Johan Hake <hake@xxxxxxxxx> wrote:On Tuesday 15 September 2009 14:31:22 Ola Skavhaug wrote:On Tue, Sep 15, 2009 at 1:03 PM, Anders Logg <logg@xxxxxxxxx> wrote:On Tue, Sep 15, 2009 at 12:59:24PM +0200, Garth N. Wells wrote:Anders Logg wrote:When plotting a <function_plot_data> object from file, Viper just plots the mesh, not the function. Is this a bug in Viper?I don't know. It's a pain to find out because there is no error message and DOLFIN cleans up the plot files afterwards. It happens to me so often that I'm not going to bother fixing it any more. GarthI don't think DOLFIN cleans up the plot files. The file is created in the current directory and is named dolfin_plot_data.xml.The problem here is the restructuring of the swig interface; the rshift operator on FunctionPlotData is defined before the definition of FunctionPlotData. This causes swig to ignore the rshift (and lshift) operator for FunctionPlotData, and hence the lines f = File(filename) f >> FunctionPlotData()Should be fixed now JohanLatest viper commit should make things work again. Olafails. Ola-- Anders -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkqvdHQACgkQTuwUCDsYZdE7QACfeE0YBtDkgF8UCT98L/XrTijV esUAn3+GtnSrAMEiS6s8bfiFJT4gVPU+ =fclj -----END PGP SIGNATURE----- _______________________________________________ Viper-dev mailing list Viper-dev@xxxxxxxxxx http://fenics.org/mailman/listinfo/viper-dev
Thread Previous • Date Previous • Date Next • Thread Next |