[CIG-SHORT] mesh smoothing in CUBIT

Brad Aagaard baagaard at usgs.gov
Mon Mar 26 12:40:13 PDT 2012


Hongfeng,

You are misinterpreting the error message. This is the same error
message that Birendra asked about last Tue. I have since added a better
check to the development version to give a more informative error 
message so that in the future it will be much clearer what to change.

This error is associated with traction-related boundary conditions on
horizontal surfaces. The default parameters allow PyLith to uniquely
calculate the two shear directions and normal direction at each location
provided the normal is not parallel to the z-axis. If the normal is
parallel to the z-axis, then the up_dir parameter for the BC needs to be
set to something other than the default (0, 0, 1). See
examples/3d/hex8/step18 for an example and section 6.2.2.1 of the PyLith
manual.

However, you may still want to smooth the mesh in CUBIT. If you have 
complex geometry, you may not be able to reduce the condition number to 
something less than 2.0. I often cutoff the smoothing somewhere between 
1.8 and 2.0 depending on the complexity of the geometry. In a dynamic 
simulation, the stable time step associated with explicit time stepping 
is associated with the time it takes the P wave to traverse the shortest 
distance across any cell in the entire mesh. If your maximum condition 
number is 3.3, then it likely means you have a rather flat cell, so you 
will need a much smaller time step in a dynamic simulation compared to a 
maximum condition number of around 2.0. You can weigh the time it takes 
to improve the mesh quality versus the runtime for a simulation with a 
very small time step to decide which option is preferable.

Regards,
Brad


On 03/26/2012 12:26 PM, Hongfeng Yang wrote:
> Hi all,
>
> I try to run a dynamic rupture simulation on a 3d realistic mesh.
> Pylith is terminated due to the following error: mpinemesis:
> feassemble/CellGeometry.cc:252: static void
> pylith::feassemble::CellGeometry::_orient2D(pylith::double_array*,
> const pylith::double_array&, double, const pylith::double_array&):
> Assertion `mag>  0.0' failed.
>
> Based on the above message, I think there are bad quality cell
> elements in the mesh. Then I try to use smooth function in CUBIT to
> further improve the mesh quality. However, the smoothing function
> can not proceed due to the following:
>
> Smoothing Halted because Minimum Attained, alpha=0.000000 Condition
> Number smoothing criterion not satisfied: Maximum condition number
> (2.744220) is not less than or equal to criterion beta (1.700000)
>
> Initial mesh minimizes untangle objective function. No untangling
> needed. Initial minimum scaled jacobian = 0.121869 Initial maximum
> condition number (3.367455) is greater than criterion beta (1.700000)
> Proceeding with condition number smoothing.
>
>
> Can anyone help at this point?
>
> Thanks,
>
> Hongfeng
>



More information about the CIG-SHORT mailing list