Dear Oded, The error message from the development version is more useful. Unfortunately there's a bug somewhere in the routine that appears from time-to-time on more complex meshes that I have not been able to track as of yet. This is clearly one of those times... For now you could consider using this python script <https://github.com/dealii/dealii/wiki/Mesh-Input-And-Output> to output your geometry from cubit in a UCD format.
Best, J-P On Friday, October 21, 2016 at 10:47:12 PM UTC+2, Oded Yaakobi wrote: > > Hi Jean-Paul, > > > > I wanted to verify that the issue that I encountered is not related to the > fact that I am using a version of dealii which is not the most updated one, > so I installed the current version of dealii from git. I run two versions > of my code with ‘apply_all_indicators_to_manifolds’ either false or true - > see the attached code. In either case I got similar, although not exactly > the same output. The value of the boundary indicator that is noted > regarding the problematic quad is 1 or 0 respectively. > > > > For ‘apply_all_indicators_to_manifolds’ = false: > > > > Reading block 1 file: > > block 1 file was read successfully > > Reading block 2 file: > > block 2 file was read successfully > > Reading block 1 and 2 file: > > Exception on processing internal UCD data: > > > > -------------------------------------------------------- > > An error occurred in line <3008> of file > </Users/yaakobioy/dealii/dealii_git_21102016/dealii_git_21102016_Source/source/grid/tria.cc> > > in function > > static void > dealii::internal::Triangulation::Implementation::create_triangulation(const > std::vector<Point<spacedim> > &, const std::vector<CellData<3> > &, const > dealii::SubCellData &, Triangulation<3, spacedim> &) [spacedim = 3] > > The violated condition was: > > quad->at_boundary() > > Additional information: > > The input data for creating a triangulation contained information > about a quad with indices 1289, 1398, 1288, and 1397 that is described to > have boundary indicator 1. However, this is an internal quad not located on > the boundary. You cannot assign a boundary indicator to it. > > > > If this happened at a place where you call > Triangulation::create_triangulation() yourself, you need to check the > SubCellData object you pass to this function. > > > > If this happened in a place where you are reading a mesh from a file, then > you need to investigate why such a quad ended up in the input file. A > typical case is a geometry that consisted of multiple parts and for which > the mesh generator program assumes that the interface between two parts is > a boundary when that isn't supposed to be the case, or where the mesh > generator simply assigns 'geometry indicators' to quads at the surface of a > part that are not supposed to be interpreted as 'boundary indicators'. > > -------------------------------------------------------- > > > > > > > > ---------------------------------------------------- > > Exception on processing: > > > > -------------------------------------------------------- > > An error occurred in line <899> of file > </Users/yaakobioy/dealii/dealii_git_21102016/dealii_git_21102016_Source/source/grid/grid_in.cc> > > in function > > void dealii::GridIn<3, 3>::read_abaqus(std::istream &, const bool) > [dim = 3, spacedim = 3] > > The violated condition was: > > false > > Additional information: > > Internal conversion from ABAQUS file to UCD format was unsuccessful. > More information is provided in an error message printed above. Are you > sure that your ABAQUS mesh file conforms with the requirements listed in > the documentation? > > -------------------------------------------------------- > > > > Aborting! > > ---------------------------------------------------- > > > > > > For ‘apply_all_indicators_to_manifolds’ = true: > > > > Reading block 1 file: > > block 1 file was read successfully > > Reading block 2 file: > > block 2 file was read successfully > > Reading block 1 and 2 file: > > Exception on processing internal UCD data: > > > > -------------------------------------------------------- > > An error occurred in line <3008> of file > </Users/yaakobioy/dealii/dealii_git_21102016/dealii_git_21102016_Source/source/grid/tria.cc> > > in function > > static void > dealii::internal::Triangulation::Implementation::create_triangulation(const > std::vector<Point<spacedim> > &, const std::vector<CellData<3> > &, const > dealii::SubCellData &, Triangulation<3, spacedim> &) [spacedim = 3] > > The violated condition was: > > quad->at_boundary() > > Additional information: > > The input data for creating a triangulation contained information > about a quad with indices 1289, 1398, 1288, and 1397 that is described to > have boundary indicator 0. However, this is an internal quad not located on > the boundary. You cannot assign a boundary indicator to it. > > > > If this happened at a place where you call > Triangulation::create_triangulation() yourself, you need to check the > SubCellData object you pass to this function. > > > > If this happened in a place where you are reading a mesh from a file, then > you need to investigate why such a quad ended up in the input file. A > typical case is a geometry that consisted of multiple parts and for which > the mesh generator program assumes that the interface between two parts is > a boundary when that isn't supposed to be the case, or where the mesh > generator simply assigns 'geometry indicators' to quads at the surface of a > part that are not supposed to be interpreted as 'boundary indicators'. > > -------------------------------------------------------- > > > > > > > > ---------------------------------------------------- > > Exception on processing: > > > > -------------------------------------------------------- > > An error occurred in line <899> of file > </Users/yaakobioy/dealii/dealii_git_21102016/dealii_git_21102016_Source/source/grid/grid_in.cc> > > in function > > void dealii::GridIn<3, 3>::read_abaqus(std::istream &, const bool) > [dim = 3, spacedim = 3] > > The violated condition was: > > false > > Additional information: > > Internal conversion from ABAQUS file to UCD format was unsuccessful. > More information is provided in an error message printed above. Are you > sure that your ABAQUS mesh file conforms with the requirements listed in > the documentation? > > -------------------------------------------------------- > > > > Aborting! > > ---------------------------------------------------- > > > > Best, > > Oded > > > On Friday, October 21, 2016 at 1:20:55 PM UTC-4, Jean-Paul Pelteret wrote: >> >> Hi Oded, >> >> I wasn't able to read in the .cub file (clearly its not backwards >> compatible). I did manage to import the .inp file and nothing looks amiss. >> Could you try to set the apply_all_indicators_to_manifolds >> <https://www.dealii.org/developer/doxygen/deal.II/classGridIn.html#a51f7977b217e305d3538574cbd3d3a01> >> flag >> to true? Its possible that one of the boundary id's is being set to an >> internal face. I've had this bug crop up on occasion for unstructured >> meshes, but never for structured ones. If this fixes the problem then >> you'll have to recreate all of the boundary ID's yourself for the time >> being until the bug is fixed. >> >> Regards, >> J-P >> >> >> On Friday, October 21, 2016 at 6:27:07 PM UTC+2, Oded Yaakobi wrote: >>> >>> Hi Jean-Paul, >>> >>> >>> >>> I changed one of the options in the Cubit 15.2 GUI, and now >>> 'gen_input_file' does not appear in the journal file. Reading in my code >>> the resulting abaqus files behaves as before, i.e. this is the output: >>> >>> >>> >>> Reading block 1 file: >>> >>> block 1 file was read successfully >>> >>> Reading block 2 file: >>> >>> block 2 file was read successfully >>> >>> Reading block 1 and 2 file: >>> >>> >>> >>> >>> >>> ---------------------------------------------------- >>> >>> Exception on processing: >>> >>> >>> >>> -------------------------------------------------------- >>> >>> An error occurred in line <864> of file >>> </Users/yaakobioy/dealii/dealii_git_04022016/source/grid/grid_in.cc> in >>> function >>> >>> void dealii::GridIn<3, 3>::read_abaqus(std::istream &) [dim = 3, >>> spacedim = 3] >>> >>> The violated condition was: >>> >>> false >>> >>> The name and call sequence of the exception was: >>> >>> ExcMessage("Internal conversion from ABAQUS file to UCD format was >>> unsuccessful. Are you sure that your >>> ABAQUS mesh file conforms with the >>> requirements listed in the >>> documentation?") >>> >>> Additional Information: >>> >>> Internal conversion from ABAQUS file to UCD format was >>> unsuccessful. Are you sure that your >>> ABAQUS mesh file conforms with the >>> requirements listed in the documentation? >>> >>> -------------------------------------------------------- >>> >>> >>> >>> Aborting! >>> >>> ---------------------------------------------------- >>> >>> >>> >>> For your convenience, I attach here all the files. I hope that you would >>> be able to run the new journal file on your version of Cubit. >>> >>> >>> >>> Thank you, >>> >>> Oded >>> >>> On Friday, October 21, 2016 at 11:09:01 AM UTC-4, Oded Yaakobi wrote: >>>> >>>> Hi Jean-Paul, >>>> >>>> >>>> >>>> Attached is the CUB file of the two-block mesh that I created. >>>> >>>> >>>> >>>> I created the mesh using only Cubit 15.2 GUI. In saving the abaqus >>>> file, I followed the instruction of GridIn::read_abaqus. The journal file >>>> that I attached before reflects the commands that I executed through the >>>> GUI. Probably 'gen_input_file' is not defined in the old version of Cubit >>>> that you have. >>>> >>>> >>>> >>>> According to Cubit 15.2 documentation, 'gen_input_file' is an input >>>> file with the given file name that will be generated when the Sculpt >>>> Parallel command will be executed. This is a text file containing all >>>> sculpt options used in the command. The input file is intended to be used >>>> for batch execution of sculpt. Therefore, in my case, in which I used the >>>> GUI, 'gen_input_file' is actually an output file and not an input file. >>>> >>>> >>>> >>>> Best, >>>> >>>> Oded >>>> >>>> >>>> On Friday, October 21, 2016 at 3:40:32 AM UTC-4, Jean-Paul Pelteret >>>> wrote: >>>>> >>>>> Hi Oded, >>>>> >>>>> Two things: >>>>> 1. The documentation originally stated that "Files generated using >>>>> Cubit 11.x, 12.x and 13.x are valid", but I see that its now been updated >>>>> to include 14.x and 15.x. I personally don't know whether this works with >>>>> newer versions of Cubit, but hopefully it has indeed been tested. >>>>> 2. You've not provided all of the data necessary to recreate your >>>>> geometry: >>>>> >>>>> CUBIT> create sphere radius 1 >>>>>> Successfully created sphere volume 1 >>>>>> Journaled Command: create sphere radius 1 >>>>>> CUBIT> sculpt parallel volume all processors 8 fileroot >>>>>> "sculpt_parallel" gen_input_file "sculpt_parallel.i" overwrite >>>>>> xintervals 8 >>>>>> yintervals 8 zintervals 8 box location position -3 -3 -3 location >>>>>> position >>>>>> 3 3 3 smooth 8 num_laplace 2 max_opt_iters 5 opt_threshold 0.6 >>>>>> max_pcol_iters 100 pcol_threshold 0.2 sideset 2 void adapt_type 1 >>>>>> adapt_levels 2 combine import show clean >>>>>> ERROR: Unrecognized Identifier: 'gen_input_file' >>>>> >>>>> >>>>> Can you please provide all whatever files are necessary to recreate >>>>> the geometry? Either that or provide the actual Cubit file itself. >>>>> Hopefully I can open it in my older version of Cubit. >>>>> >>>>> Regards, >>>>> J-P >>>>> >>>>> >>>>> >>>>> On Thursday, October 20, 2016 at 10:09:47 PM UTC+2, Oded Yaakobi wrote: >>>>>> >>>>>> Hello group, >>>>>> >>>>>> >>>>>> >>>>>> I am interested to test a code that I am developing by solving with >>>>>> it the specific problem of Stokes flow in and around a fluid sphere. >>>>>> >>>>>> >>>>>> >>>>>> I used Cubit 15.2 to create a mesh of a sphere in a box, as shown in >>>>>> the attached picture, and exported it to an abaqus file. The resulting >>>>>> mesh >>>>>> is composed of two blocks - block 1 for the domain inside the sphere and >>>>>> block 2 for the domain outside the sphere. As a first step, I didn’t >>>>>> define >>>>>> different material id’s to each one of the blocks. >>>>>> >>>>>> >>>>>> >>>>>> When I tried to read the file using GridIn::read_abaqus, I received >>>>>> the following Error message: >>>>>> >>>>>> >>>>>> >>>>>> ---------------------------------------------------- >>>>>> >>>>>> Exception on processing: >>>>>> >>>>>> >>>>>> >>>>>> -------------------------------------------------------- >>>>>> >>>>>> An error occurred in line <864> of file >>>>>> </Users/yaakobioy/dealii/dealii_git_04022016/source/grid/grid_in.cc> in >>>>>> function >>>>>> >>>>>> void dealii::GridIn<3, 3>::read_abaqus(std::istream &) [dim = 3, >>>>>> spacedim = 3] >>>>>> >>>>>> The violated condition was: >>>>>> >>>>>> false >>>>>> >>>>>> The name and call sequence of the exception was: >>>>>> >>>>>> ExcMessage("Internal conversion from ABAQUS file to UCD format >>>>>> was unsuccessful. Are you sure that >>>>>> your >>>>>> ABAQUS mesh file conforms with the >>>>>> requirements listed in the >>>>>> documentation?") >>>>>> >>>>>> Additional Information: >>>>>> >>>>>> Internal conversion from ABAQUS file to UCD format was >>>>>> unsuccessful. Are you sure that your >>>>>> ABAQUS mesh file conforms with the requirements >>>>>> listed in the documentation? >>>>>> >>>>>> -------------------------------------------------------- >>>>>> >>>>>> >>>>>> >>>>>> Aborting! >>>>>> >>>>>> ---------------------------------------------------- >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> When I tried to save only one of the blocks (either block 1 or block >>>>>> 2) in separate files, there was no problem in reading the corresponding >>>>>> abaqus files. >>>>>> >>>>>> >>>>>> >>>>>> Have I done something wrong in the way I created the multi-block >>>>>> mesh, or is there a bug with GridIn::read_abaqus? >>>>>> >>>>>> >>>>>> >>>>>> Attached are the abaqus files, the Cubit journal file and my code >>>>>> that fails to read the multi-block mesh file. >>>>>> >>>>>> >>>>>> >>>>>> Thank you, >>>>>> >>>>>> Oded >>>>>> >>>>>> >>>>>> >>>>> -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.