[CIG-SHORT] Pylith - Variable mesh resolution in a CUBIT volume with a cavity

Brad Aagaard baagaard at usgs.gov
Mon Sep 19 17:11:24 PDT 2016


Lucas,

I can replicate your issue. I get:

Command: volume all sizing function type exodus
ERROR: /home/brad/tmp/lucas/work/mesh_size_analyticfn.jou (3)
        nodal sizing data population failed - no storage mesh present.
ERROR: /home/brad/tmp/lucas/work/mesh_size_analyticfn.jou (3)
        Unable to assign an Exodus sizing function.

If I remove the chop command (so the geometry is just a block), the mesh 
sizing works. I have not been able to figure out why the volume with the 
cavity fails. My guess is that it is either related to the cavity being 
a sphere or the use of the chop command rather than a webcut.

I would try using a small block instead of a sphere. If that works, then 
I would try slicing the cavity in half after the chop to see if having 
multiple interior surfaces solves the problem.

If you are unable to resolve the issue, then I would send email to 
cubit at sandia.gov. Send them the Exodus file with the sizing information 
AND the journal files that try to use it. They may be able to identify 
the problem.

Regards,
Brad


On 09/19/2016 02:11 PM, Lucas Holden wrote:
> Hi Brad
>
> thanks, I have attached the files that I have been using. My apologies
> in advance if this is something simple or obvious, however I cant seem
> to sort it out.
>
> Thanks
>
> Lucas
>
> On 20 September 2016 at 03:45, Brad Aagaard <baagaard at usgs.gov
> <mailto:baagaard at usgs.gov>> wrote:
>
>     Lucas,
>
>     I suspect there is something wrong with your geometry or meshing
>     journal files such that something is not matching between the
>     background geometry/mesh and the final geometry.
>
>     Can you create a zip or tarball of your journal files AND the python
>     script you are running and send it to me? I will try to replicate
>     the issue.
>
>     Brad
>
>
>     On 09/18/2016 05:44 AM, Lucas Holden wrote:
>
>         Hi Brad
>
>         thanks for your quick reply. As far as I am aware, I have done so.
>
>         I have had another look over the weekend. The background mesh
>         (from the
>         geometry.jou and mesh_cellsize.jou) appears to have the fn variable
>         incorporated correctly (I viewed this in ParaView - see
>         attachment) at
>         the nodes.
>
>         However, I still observe the same messages in the command window
>         (see
>         attachment) when I try to run the mesh_size_analyticfn.jou.
>
>         I have noticed that in the original example, that when I execute
>         the lines
>         /
>         /
>
>         /volume all sizing function type exodus/
>
>         //
>
>         /surface all sizing function type exodus/
>
>
>         the command window reports
>
>
>         /Mesh was assigned to the following entities and their sub-entities:
>         The 3 volume ids are: 1 to 3./
>
>
>         However, when I run my modified geometry, the same lines now report
>
>
>         /Mesh was assigned to the following entities and their sub-entities:
>         The 7 surface ids are: 1 to 7./
>
>
>         The final mesh will still be created, but only on the outside
>         surface of
>         the model. I am guessing that the new volume (final mesh) is not
>         being
>         imported or meshed properly?
>
>
>         I am not sure if that helps.
>
>
>         Thanks again
>
>
>         Lucas
>
>
>
>
>         On 17 September 2016 at 01:08, Brad Aagaard <baagaard at usgs.gov
>         <mailto:baagaard at usgs.gov>
>         <mailto:baagaard at usgs.gov <mailto:baagaard at usgs.gov>>> wrote:
>
>             Lucas,
>
>             Did you generate the background mesh with the exact same
>         geometry
>             (all exterior and interior vertices, edges, surfaces, and
>         volumes)
>             as your "final" mesh? In other words, does the background
>         mesh that
>             you use to generate the sizing function have the spherical
>         cavity?
>
>             Regards,
>             Brad
>
>
>             On 09/16/2016 06:24 AM, Lucas Holden wrote:
>
>                 Hi
>
>                 I am hoping to get some advice on the use of variable mesh
>                 resolution
>                 when the volume (block) has a spherical cavity within it
>         (e.g.
>                 representing a magma chamber or dike). I have been using the
>                 meshing/cubit_cellsize example provided. The example runs
>                 successfully
>                 using the provided geometry.jou, and py files etc for the
>                 surface fault
>                 scenario.
>
>                 I am stumbling when I try to insert a spherical cavity
>         at the
>                 centre of
>                 the block to represent a magma chamber. My edited
>         geometry file
>                 is shown
>                 below. I have not altered the provided mesh_cellsize.jou,
>                 exodus_add_properties.py, matprops.spatialdb or
>                 mesh_size_analyticfn.jou
>                 files (as yet).
>
>                 When I compile the mesh_size_analyticfn.jou file in
>         CUBIT, the
>                 software
>                 lists the following errors.
>
>
>         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>
>
>         //home/lucas/PyLith/pylith-2.1.0-linux-x86_64/src/pylith-2.1.0/examples/meshing/edited_cubit_cellsize/mesh_size_analyticfn.jou
>                 (9)/
>
>                 //
>
>                 /Command: volume all sizing function type exodus/
>
>                 //
>
>                 /ERROR:
>
>         /home/lucas/PyLith/pylith-2.1.0-linux-x86_64/src/pylith-2.1.0/examples/meshing/edited_cubit_cellsize/mesh_size_analyticfn.jou
>                 (9)/
>
>                 //
>
>                 /nodal sizing data population failed - no storage mesh
>         present./
>
>                 //
>
>                 /ERROR:
>
>         /home/lucas/PyLith/pylith-2.1.0-linux-x86_64/src/pylith-2.1.0/examples/meshing/edited_cubit_cellsize/mesh_size_analyticfn.jou
>                 (9)/
>
>                 //
>
>                 /Unable to assign an Exodus sizing function./
>
>                 //
>
>                 /
>                 /
>
>                 ////
>
>
>         //home/lucas/PyLith/pylith-2.1.0-linux-x86_64/src/pylith-2.1.0/examples/meshing/edited_cubit_cellsize/mesh_size_analyticfn.jou
>                 (10)/
>
>                 //
>
>                 /Command: surface all sizing function type exodus/
>
>                 //
>
>                 /ERROR:
>
>         /home/lucas/PyLith/pylith-2.1.0-linux-x86_64/src/pylith-2.1.0/examples/meshing/edited_cubit_cellsize/mesh_size_analyticfn.jou
>                 (10)/
>
>                 //
>
>                 /nodal sizing data population failed - no storage mesh
>         present./
>
>                 //
>
>                 /ERROR:
>
>         /home/lucas/PyLith/pylith-2.1.0-linux-x86_64/src/pylith-2.1.0/examples/meshing/edited_cubit_cellsize/mesh_size_analyticfn.jou
>                 (10)/
>
>                 //
>
>                 /Unable to assign an Exodus sizing function./
>
>
>
>         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>
>                 I have watched the relevant CIG workshop youtube videos
>                 (2013,2014) on
>                 variable meshing etc, however have not been able to find a
>                 solution. Is
>                 this related to there being no 'nodes' in the chamber
>         for which to
>                 calculate the distance to for the analytical function etc or
>                 something
>                 simpler in my geometry.jou setup?
>
>                 I am grateful for any advice.
>
>                 Thanks
>
>                 Lucas
>
>
>         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>
>                 /#
>
>         ----------------------------------------------------------------------/
>
>                 //
>
>                 /# Set units to SI./
>
>                 //
>
>                 /#
>
>         ----------------------------------------------------------------------/
>
>                 //
>
>                 /${Units('si')}/
>
>                 //
>
>                 /#/
>
>                 //
>
>                 /#
>
>         ----------------------------------------------------------------------/
>
>                 //
>
>                 /# Reset geometry./
>
>                 //
>
>                 /#
>
>         ----------------------------------------------------------------------/
>
>                 //
>
>                 /reset/
>
>                 //
>
>                 /
>                 /
>
>                 //
>
>                 /# Make sure undo is off to prevent errors in stitching
>         volumes./
>
>                 //
>
>                 /undo off/
>
>                 //
>
>                 /
>                 /
>
>                 //
>
>                 /#
>
>         ----------------------------------------------------------------------/
>
>                 //
>
>                 /# Create block/
>
>                 //
>
>                 /#
>
>         ----------------------------------------------------------------------/
>
>                 //
>
>                 /# Block is 100 km x 100 km x 50 km/
>
>                 //
>
>                 /${blockLength=100.0*km}/
>
>                 //
>
>                 /${blockWidth=100.0*km}/
>
>                 //
>
>                 /${blockHeight=50.0*km}/
>
>                 //
>
>                 /
>                 /
>
>                 //
>
>                 /brick x {blockLength} y {blockWidth} z {blockHeight}/
>
>                 //
>
>                 /# Translate block so the top is at z=0/
>
>                 //
>
>                 /volume 1 move x {domain_x} y {domain_y} z
>         {-0.5*blockHeight}/
>
>                 //
>
>                 /
>                 /
>
>                 //
>
>                 /#
>
>         ----------------------------------------------------------------------/
>
>                 //
>
>                 /# Create magma chamber./
>
>                 //
>
>                 /#
>
>         ----------------------------------------------------------------------/
>
>                 //
>
>                 /#{chamber_center_x=domain_x}/
>
>                 //
>
>                 /#{chamber_center_y=domain_y}/
>
>                 //
>
>                 /#{chamber_center_z=-10.0*km}/
>
>                 //
>
>                 /#{chamber_radius=4*km}/
>
>                 //
>
>                 /
>                 /
>
>                 //
>
>                 /create sphere radius {chamber_radius}/
>
>                 //
>
>                 /volume 2 move x {chamber_center_x} y {chamber_center_y} z
>                 {chamber_center_z}/
>
>                 //
>
>                 /
>                 /
>
>                 //
>
>                 /#
>
>         ----------------------------------------------------------------------/
>
>                 //
>
>                 /# Chop cylinder with sphere, then delete sphere./
>
>                 //
>
>                 /#
>
>         ----------------------------------------------------------------------/
>
>                 //
>
>                 /chop volume 1 with volume 2/
>
>                 //
>
>                 /delete volume 3/
>
>                 //
>
>                 /
>                 /
>
>                 //
>
>                 /#
>
>         ----------------------------------------------------------------------/
>
>                 //
>
>                 /# Imprint all volumes, merging surfaces/
>
>                 //
>
>                 /#
>
>         ----------------------------------------------------------------------/
>
>                 //
>
>                 /imprint all/
>
>                 //
>
>                 /merge all/
>
>                 //
>
>                 /compress ids all/
>
>                 //
>
>                 /
>                 /
>
>                 //
>
>                 /# End of file/
>
>
>
>         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>
>
>                 _______________________________________________
>                 CIG-SHORT mailing list
>                 CIG-SHORT at geodynamics.org
>         <mailto:CIG-SHORT at geodynamics.org>
>         <mailto:CIG-SHORT at geodynamics.org
>         <mailto:CIG-SHORT at geodynamics.org>>
>
>         http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>         <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short>
>
>         <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>         <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short>>
>
>
>             _______________________________________________
>             CIG-SHORT mailing list
>             CIG-SHORT at geodynamics.org <mailto:CIG-SHORT at geodynamics.org>
>         <mailto:CIG-SHORT at geodynamics.org
>         <mailto:CIG-SHORT at geodynamics.org>>
>
>         http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>         <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short>
>
>         <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>         <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short>>
>
>
>
>
>         _______________________________________________
>         CIG-SHORT mailing list
>         CIG-SHORT at geodynamics.org <mailto:CIG-SHORT at geodynamics.org>
>         http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>         <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short>
>
>
>     _______________________________________________
>     CIG-SHORT mailing list
>     CIG-SHORT at geodynamics.org <mailto:CIG-SHORT at geodynamics.org>
>     http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>     <http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short>
>
>
>
>
> _______________________________________________
> CIG-SHORT mailing list
> CIG-SHORT at geodynamics.org
> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>



More information about the CIG-SHORT mailing list