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

Lucas Holden lucas.holden at rmit.edu.au
Mon Sep 19 14:11:20 PDT 2016


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> 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>> 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>
>>         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/20160920/f9e24fe7/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: edited_cubit_cellsize.tar
Type: application/x-tar
Size: 2114560 bytes
Desc: not available
URL: <http://lists.geodynamics.org/pipermail/cig-short/attachments/20160920/f9e24fe7/attachment-0001.tar>


More information about the CIG-SHORT mailing list