|
1 | 1 | # This is data_types.jl
|
2 | 2 | # contains type definitions to be used in GeophysicalModelGenerator
|
3 | 3 |
|
4 |
| -import Base: show, size |
| 4 | +import Base: show, size, extrema |
5 | 5 |
|
6 | 6 | export GeoData, ParaviewData, UTMData, CartData, Q1Data, FEData,
|
7 | 7 | lonlatdepth_grid, xyz_grid, velocity_spherical_to_cartesian!,
|
@@ -217,6 +217,7 @@ struct GeoData <: AbstractGeneralGrid
|
217 | 217 |
|
218 | 218 | end
|
219 | 219 | size(d::GeoData) = size(d.lon.val)
|
| 220 | +extrema(d::GeoData) = [extrema(d.lon); extrema(d.lat); extrema(d.depth)] |
220 | 221 |
|
221 | 222 | # Print an overview of the Geodata struct:
|
222 | 223 | function Base.show(io::IO, d::GeoData)
|
@@ -484,6 +485,7 @@ struct UTMData <: AbstractGeneralGrid
|
484 | 485 |
|
485 | 486 | end
|
486 | 487 | size(d::UTMData) = size(d.EW.val)
|
| 488 | +extrema(d::UTMData) = [extrema(d.EW.val); extrema(d.NS.val); extrema(d.depth.val)] |
487 | 489 |
|
488 | 490 | # Print an overview of the UTMData struct:
|
489 | 491 | function Base.show(io::IO, d::UTMData)
|
@@ -769,6 +771,7 @@ struct CartData <: AbstractGeneralGrid
|
769 | 771 |
|
770 | 772 | end
|
771 | 773 | size(d::CartData) = size(d.x.val)
|
| 774 | +extrema(d::CartData) = [extrema(d.x.val); extrema(d.y.val); extrema(d.z.val)] |
772 | 775 |
|
773 | 776 | # Print an overview of the UTMData struct:
|
774 | 777 | function Base.show(io::IO, d::CartData)
|
@@ -1354,6 +1357,7 @@ struct Q1Data <: AbstractGeneralGrid
|
1354 | 1357 |
|
1355 | 1358 | end
|
1356 | 1359 | size(d::Q1Data) = size(d.x.val) .- 1 # size of mesh
|
| 1360 | +extrema(d::Q1Data) = [extrema(d.x.val); extrema(d.y.val); extrema(d.z.val)] |
1357 | 1361 |
|
1358 | 1362 | # Print an overview of the Q1Data struct:
|
1359 | 1363 | function Base.show(io::IO, d::Q1Data)
|
@@ -1444,15 +1448,30 @@ struct FEData{dim, points_per_cell}
|
1444 | 1448 |
|
1445 | 1449 | end
|
1446 | 1450 |
|
| 1451 | + |
1447 | 1452 | # Print an overview of the FEData struct:
|
1448 | 1453 | function Base.show(io::IO, d::FEData{dim, points_per_cell}) where {dim, points_per_cell}
|
1449 | 1454 | println(io,"FEData{$dim,$points_per_cell} ")
|
1450 |
| - println(io," # elements : $(size(d.connectivity,2))") |
1451 |
| - println(io," # vertices : $(size(d.vertices,2))") |
1452 |
| - println(io," fields : $(keys(d.fields))") |
1453 |
| - println(io," cellfields : $(keys(d.cellfields))") |
| 1455 | + println(io," elements : $(size(d.connectivity,2))") |
| 1456 | + println(io," vertices : $(size(d.vertices,2))") |
| 1457 | + println(io," x ϵ [ $(minimum(d.vertices)[1]) : $(maximum(d.vertices)[1])]") |
| 1458 | + println(io," y ϵ [ $(minimum(d.vertices)[2]) : $(maximum(d.vertices)[2])]") |
| 1459 | + println(io," z ϵ [ $(minimum(d.vertices)[3]) : $(maximum(d.vertices)[3])]") |
| 1460 | + println(io," fields : $(keys(d.fields))") |
| 1461 | + println(io," cellfields : $(keys(d.cellfields))") |
1454 | 1462 | end
|
1455 | 1463 |
|
| 1464 | +extrema(d::FEData) = extrema(d.vertices, dims=2) |
| 1465 | +size(d::FEData) = size(d.connectivity,2) |
| 1466 | + |
| 1467 | +""" |
| 1468 | + convert2FEData(d::Q1Data |
| 1469 | +
|
| 1470 | +""" |
| 1471 | + convert2FEData(d::Q1Data) |
| 1472 | + |
| 1473 | + |
| 1474 | + |
1456 | 1475 | """
|
1457 | 1476 | X,Y,Z = coordinate_grids(Data::Q1Data; cell=false)
|
1458 | 1477 |
|
|
0 commit comments