I am trying to use vector data in Visit 2.6.0. Each component of the data that I have is separated into three scalar quantities. I want to know how to combine these scalars into one vector quantity that can be used in visit.
So far, I have tried to do this using HDF5 data organized two ways: one where all the data for each component is in one file (for example - Bx.h5, By.h5 etc.), the other way involved having the data separated by refinement grids in 32 files per component (so, Bx_file_*.h5 where "*" is from 0 to 31). With both methods I have run into issues when trying to draw vector or streamline plots.
For the single file component data, I first loaded each component into its own database. Then I used the database comparison wizard to setup an evaluation of type "Between meshes in two separate databases" for my y and z component. The target database was Bx.h5 and the target mesh was "Carpet AMR-grid" while the donor database was By.h5 and Bz.h5 respectively with donor field "MHD_EVOLVE--By" and "MHD_EVOLVE--Bz." I tried both connectivity and position based CMFE. Neither seemed to make a difference. And I just chose placed the donor field on the target mesh. I then made a database correlation based on time between my three databases. Then in the expressions editor, I made a vector mesh variable defined by
{<MHD_EVOLVE--Bx>,By_comp,Bz_comp} where By_comp and Bz_comp were the resultant expressions from the database comparison wizard. <MHD_EVOLVE--Bx> is the component in the active database. I then went to add a vector plot using the vector expression. When I would click draw on the vector plot I would get the following error:
Vector: (InvalidExpressionException)
viewer: The expression was invalid: The expression parser encountered an unexpected token:
conn_cmfe(</home/projects/By.h5:MHD_EVOLVE--By>, Carpet AMR-grid)
^^^
I don't know if this matters but in the visit window, the three carets are under "AMR"
Before that, I also tried pretty much the same steps with the component files containing 32 files. I then got a similar error:
Vector: (InvalidExpressionException)
viewer: The expression was invalid: The expression parser encountered an unexpected token:
conn_cmfe(</home/projects/B5/3d_data_201207012347/By.file_* database:MHD_EVOLVE--By>, Carpet AMR-grid)
^^^
Again, the three carets are under "AMR"
I should note that I am having no trouble drawing scalar quantities with volumes plots for example. The components individually will draw properly.
Has anyone successfully loaded and drawn cactus vector data either by combining three scalars in visit or by using another form of data?
Thanks,
Brian Taylor
Hello Brian,
So far, I have tried to do this using HDF5 data organized two ways: one where all the data for each component is in one file (for example - Bx.h5, By.h5 etc.), the other way involved having the data separated by refinement grids in 32 files per component (so, Bx_file_*.h5 where "*" is from 0 to 31). With both methods I have run into issues when trying to draw vector or streamline plots.
You can make your life a little bit easier (by not requiring the comparison operator) by either outputting all group members into a single file (carpetiohdf5::one_file_per_group = yes) or by merging the Bx,By and Bz files for each file_XXX using hdf5_merge (build via make configname-utils then found in exe/configname/hdf5_merge).
viewer: The expression was invalid: The expression parser encountered an unexpected token:
conn_cmfe(</home/projects/B5/3d_data_201207012347/By.file_* database:MHD_EVOLVE--By>, Carpet AMR-grid)
^^^
Again, the three carets are under "AMR"
You want to surround "Carpet AMR-grid" by angle brackets ie. "<Carpet AMR-grid>". Also you likely want to add some timestepping magic to the file name. Something like this:
conn_cmfe(</home/projects/By.h5[0]id:MHD_EVOLVE--By>, <Carpet AMR-grid>)
where the "[0]id" is actually explained somewhere in the VisIt pdf manual (though I don't remember right now in which section).
Yours, Roland
users@lists.einsteintoolkit.org