[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