[CIG-SHORT] 3d spherical model

Brad Aagaard baagaard at usgs.gov
Thu Jul 31 09:24:40 PDT 2014


On 07/31/2014 09:10 AM, Shaoyang Li wrote:
> I have made a spherical model in ECEF coords. I tried to test gravity direction,
> but the gravity body force seemed still be aligned with Z direction. See
> attached figure.
>
> In this test, the whole border of east, west, north, south and bottom sides are
> set as 0, 0, 1, 1, and 2 degree of freedom (with zeroDispDB). The gravity is
> turned on without changing its default parameter gravity_dir. All materials are
> specified with same elastic properties. So the model is homogeneous. The model
> is run with zero total time.
>
> I am wandering if I need to set up somewhere in the configuration files to tell
> pylith the model is now in ECEF coords?

Yes. The mesh importer (mesh_generator.reader) has a coordinate system. 
The default is CSCart, so you need to change it. For example (from 
examples/twocells/twotet4-geoproj)

[pylithapp.mesh_generator.reader]
coordsys = spatialdata.geocoords.CSGeoProj


> And I want to know in spherical model what are displacement-x, displacement-y,
> displacement-z meaning for Dirichlet Boundary Conditions?

The model still uses a Cartesian coordinate system so x, y, and z still 
mean x, y, and z in the ECEF coordinate system. That is, they do not 
refer to spherical coordinates. This will make it more complicated to 
setup Dirichlet BC with spherical geometry.

> Does spatialdata component CSCart still work for this ECEF case? Thanks a lot.

We have not implemented a way to convert between a generic Cartesian 
coordinate system and a georeferenced coordinate system. If your domain 
is in a georeferenced coordinate system, all other coordinate systems 
need to be georeferenced. So you need to use a georeferenced coordinate 
system in the spatial database files. You can use either a projection 
like UTM or the same ECEF coordinate system you use for the domain.


Brad



>   > On 07/22/2014 03:30 AM, Shaoyang Li wrote:
>   >> I am going to make a large-scale model, which the earth
>   >>curvature should be
>   >> considered. And right now, I have all the geometry in
>   >>UTM coords.
>   >>
>   >> I am wandering can/how pylith 2.0 handle spherical model
>   >>and in that case how
>   >> gravity vector should be specified? Thanks a lot.
>   >>
>   >> Best regards,
>   >> Shaoyang
>   >
>   > All map projections transform locations onto a flat
>   >surface, so they all
>   > ignore curvature of the earth. An Earth-Centered
>   >Earth-Fixed coordinate
>   > system will do what you want. PyLith uses Proj4 which
>   >supports ECEF.
>   > Additionally, I created a custom version of ECEF in
>   >spatialdata called
>   > CSGeoLocalCart that puts the origin at a point near the
>   >surface of the
>   > earth. Applying gravity in with an ECEF coordinate
>   >system will result in
>   > the direction of the body force towards the center of
>   >the earth as
>   > Charles mentioned.
>   >
>   > The properties of CSGeoLocalCart are the location of the
>   >local origin:
>   > origin-lon
>   >   origin-lat
>   >   origin-elev
>   >
>   > You can use a Python script to convert coordinates of
>   >points from any
>   > other Proj4 supported coordinate system to this one. For
>   >example, you
>   > will need to generate your mesh in this coordinate
>   >system.
>   >
>   > Attached is a Python script that converts from
>   >geographic coordinates to
>   > a CSGeoLocalCart coordinate system.
>   >
>   > Brad
>
>
>
> _______________________________________________
> 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