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

Lucas Holden lucas.holden at rmit.edu.au
Wed Sep 21 06:04:53 PDT 2016


Hi Brad,

thank you for your response.

I have followed up on some of your suggestions.

The variable resolution meshing will work if the sphere that represents the
cavity is replaced by a small cube or if I create a planar horizontal or
vertical surface to divide the cavity into two (as well as the model into
two volumes).

The meshing appears appropriate through each of the two volumes and I will
try to test my Pylith model to see how it works.

I have also contacted csimsoft for some assistance regarding the original
problem and will let you know of their response.

Regards

Lucas

On 20 September 2016 at 10:11, Brad Aagaard <baagaard at usgs.gov> wrote:

> 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
>>
>>
> _______________________________________________
> CIG-SHORT mailing list
> CIG-SHORT at geodynamics.org
> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/cig-short/attachments/20160921/d742d46b/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Split_sphere 1.png
Type: image/png
Size: 116247 bytes
Desc: not available
URL: <http://lists.geodynamics.org/pipermail/cig-short/attachments/20160921/d742d46b/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Split Cavity.pdf
Type: application/pdf
Size: 268140 bytes
Desc: not available
URL: <http://lists.geodynamics.org/pipermail/cig-short/attachments/20160921/d742d46b/attachment-0001.pdf>


More information about the CIG-SHORT mailing list