initial upload

This commit is contained in:
2025-12-17 11:00:57 +08:00
parent 2bc7b24a71
commit a09a73537f
4614 changed files with 3478433 additions and 2 deletions

View File

@@ -0,0 +1,101 @@
100 0 0 0 0
0001 0.0000000000000000e+00 0.0000000000000000e+00 5.0716771888730001e+00
0002 2.5191110372539999e-01 0.0000000000000000e+00 5.0716771888730001e+00
0003 5.0382220745090001e-01 0.0000000000000000e+00 5.0716771888730001e+00
0004 7.5573331117630005e-01 0.0000000000000000e+00 5.0718517112730002e+00
0005 1.0076444149020001e+00 0.0000000000000000e+00 5.0847439575200006e+00
0006 1.2595554590230000e+00 0.0000000000000000e+00 5.1445377972627231e+00
0007 1.5114666223530000e+00 0.0000000000000000e+00 5.2030201387405510e+00
0008 1.7633776664730001e+00 0.0000000000000000e+00 5.2377137947080001e+00
0009 2.0152888298030001e+00 0.0000000000000000e+00 5.2666477966310001e+00
0010 2.2671997547150000e+00 0.0000000000000000e+00 5.2951645660400004e+00
0011 2.5191109180450000e+00 0.0000000000000000e+00 5.3237533378600004e+00
0012 2.7710220813749999e+00 0.0000000000000000e+00 5.3532504844670008e+00
0013 3.0229332447049999e+00 0.0000000000000000e+00 5.3852810668950006e+00
0014 3.2748441696169999e+00 0.0000000000000000e+00 5.4106001663210002e+00
0015 3.5267553329469998e+00 0.0000000000000000e+00 5.4309906768800005e+00
0016 3.7786664962769998e+00 0.0000000000000000e+00 5.4567041206360001e+00
0017 4.0305776596070002e+00 0.0000000000000000e+00 5.4910721588130000e+00
0018 4.2824888229370002e+00 0.0000000000000000e+00 5.5325851249690006e+00
0019 4.5343995094300000e+00 0.0000000000000000e+00 5.5765929031370005e+00
0020 4.7863106727600000e+00 0.0000000000000000e+00 5.5945138740540008e+00
0021 5.0382218360900000e+00 0.0000000000000000e+00 5.6068677711490000e+00
0022 5.2901329994199999e+00 0.0000000000000000e+00 5.6192302513120005e+00
0023 5.5420441627499999e+00 0.0000000000000000e+00 5.6317906188960007e+00
0024 5.7939553260799999e+00 0.0000000000000000e+00 5.6339607048030000e+00
0025 6.0458664894099998e+00 0.0000000000000000e+00 5.6332988548280003e+00
0026 6.2977771759029997e+00 0.0000000000000000e+00 5.6272187042240001e+00
0027 6.5496883392329996e+00 0.0000000000000000e+00 5.6173095512390008e+00
0028 6.8015995025629996e+00 0.0000000000000000e+00 5.6057328987120005e+00
0029 7.0535106658939997e+00 0.0000000000000000e+00 5.5889453697200002e+00
0030 7.3054218292239996e+00 0.0000000000000000e+00 5.5792808341980002e+00
0031 7.5573329925539996e+00 0.0000000000000000e+00 5.5792507934570006e+00
0032 7.8092441558839996e+00 0.0000000000000000e+00 5.5837511825560000e+00
0033 8.0611553192140004e+00 0.0000000000000000e+00 5.5882530021670007e+00
0034 8.3130664825440004e+00 0.0000000000000000e+00 5.5927567291260001e+00
0035 8.5649776458740003e+00 0.0000000000000000e+00 5.5954818534850004e+00
0036 8.8168878555300001e+00 0.0000000000000000e+00 5.5987152862550005e+00
0037 9.0687990188600001e+00 0.0000000000000000e+00 5.6090965080260000e+00
0038 9.3207101821900000e+00 0.0000000000000000e+00 5.6176047134400005e+00
0039 9.5726213455200000e+00 0.0000000000000000e+00 5.6170592117310001e+00
0040 9.8245325088500000e+00 0.0000000000000000e+00 5.5915455627440007e+00
0041 1.0076443672180000e+01 0.0000000000000000e+00 5.5661158370970005e+00
0042 1.0328354835510000e+01 0.0000000000000000e+00 5.5407099533080002e+00
0043 1.0580265998840000e+01 0.0000000000000000e+00 5.5318555641170004e+00
0044 1.0832177162170000e+01 0.0000000000000000e+00 5.5223097610470004e+00
0045 1.1084088325500000e+01 0.0000000000000000e+00 5.4992298889160001e+00
0046 1.1335999488830000e+01 0.0000000000000000e+00 5.4565004662170500e+00
0047 1.1587910652160000e+01 0.0000000000000000e+00 5.3937348570795836e+00
0048 1.1839821815490000e+01 0.0000000000000000e+00 5.3156963648324993e+00
0049 1.2091732978820000e+01 0.0000000000000000e+00 5.2597856330870005e+00
0050 1.2343643188480000e+01 0.0000000000000000e+00 5.2352900314330002e+00
0051 0.0000000000000000e+00 2.5000000000000000e-01 5.0716771888730001e+00
0052 2.5191110372539999e-01 2.5000000000000000e-01 5.0716771888730001e+00
0053 5.0382220745090001e-01 2.5000000000000000e-01 5.0716771888730001e+00
0054 7.5573331117630005e-01 2.5000000000000000e-01 5.0718517112730002e+00
0055 1.0076444149020001e+00 2.5000000000000000e-01 5.0847439575200006e+00
0056 1.2595554590230000e+00 2.5000000000000000e-01 5.1445377972627231e+00
0057 1.5114666223530000e+00 2.5000000000000000e-01 5.2030201387405510e+00
0058 1.7633776664730001e+00 2.5000000000000000e-01 5.2377137947080001e+00
0059 2.0152888298030001e+00 2.5000000000000000e-01 5.2666477966310001e+00
0060 2.2671997547150000e+00 2.5000000000000000e-01 5.2951645660400004e+00
0061 2.5191109180450000e+00 2.5000000000000000e-01 5.3237533378600004e+00
0062 2.7710220813749999e+00 2.5000000000000000e-01 5.3532504844670008e+00
0063 3.0229332447049999e+00 2.5000000000000000e-01 5.3852810668950006e+00
0064 3.2748441696169999e+00 2.5000000000000000e-01 5.4106001663210002e+00
0065 3.5267553329469998e+00 2.5000000000000000e-01 5.4309906768800005e+00
0066 3.7786664962769998e+00 2.5000000000000000e-01 5.4567041206360001e+00
0067 4.0305776596070002e+00 2.5000000000000000e-01 5.4910721588130000e+00
0068 4.2824888229370002e+00 2.5000000000000000e-01 5.5325851249690006e+00
0069 4.5343995094300000e+00 2.5000000000000000e-01 5.5765929031370005e+00
0070 4.7863106727600000e+00 2.5000000000000000e-01 5.5945138740540008e+00
0071 5.0382218360900000e+00 2.5000000000000000e-01 5.6068677711490000e+00
0072 5.2901329994199999e+00 2.5000000000000000e-01 5.6192302513120005e+00
0073 5.5420441627499999e+00 2.5000000000000000e-01 5.6317906188960007e+00
0074 5.7939553260799999e+00 2.5000000000000000e-01 5.6339607048030000e+00
0075 6.0458664894099998e+00 2.5000000000000000e-01 5.6332988548280003e+00
0076 6.2977771759029997e+00 2.5000000000000000e-01 5.6272187042240001e+00
0077 6.5496883392329996e+00 2.5000000000000000e-01 5.6173095512390008e+00
0078 6.8015995025629996e+00 2.5000000000000000e-01 5.6057328987120005e+00
0079 7.0535106658939997e+00 2.5000000000000000e-01 5.5889453697200002e+00
0080 7.3054218292239996e+00 2.5000000000000000e-01 5.5792808341980002e+00
0081 7.5573329925539996e+00 2.5000000000000000e-01 5.5792507934570006e+00
0082 7.8092441558839996e+00 2.5000000000000000e-01 5.5837511825560000e+00
0083 8.0611553192140004e+00 2.5000000000000000e-01 5.5882530021670007e+00
0084 8.3130664825440004e+00 2.5000000000000000e-01 5.5927567291260001e+00
0085 8.5649776458740003e+00 2.5000000000000000e-01 5.5954818534850004e+00
0086 8.8168878555300001e+00 2.5000000000000000e-01 5.5987152862550005e+00
0087 9.0687990188600001e+00 2.5000000000000000e-01 5.6090965080260000e+00
0088 9.3207101821900000e+00 2.5000000000000000e-01 5.6176047134400005e+00
0089 9.5726213455200000e+00 2.5000000000000000e-01 5.6170592117310001e+00
0090 9.8245325088500000e+00 2.5000000000000000e-01 5.5915455627440007e+00
0091 1.0076443672180000e+01 2.5000000000000000e-01 5.5661158370970005e+00
0092 1.0328354835510000e+01 2.5000000000000000e-01 5.5407099533080002e+00
0093 1.0580265998840000e+01 2.5000000000000000e-01 5.5318555641170004e+00
0094 1.0832177162170000e+01 2.5000000000000000e-01 5.5223097610470004e+00
0095 1.1084088325500000e+01 2.5000000000000000e-01 5.4992298889160001e+00
0096 1.1335999488830000e+01 2.5000000000000000e-01 5.4565004662170500e+00
0097 1.1587910652160000e+01 2.5000000000000000e-01 5.3937348570795836e+00
0098 1.1839821815490000e+01 2.5000000000000000e-01 5.3156963648324993e+00
0099 1.2091732978820000e+01 2.5000000000000000e-01 5.2597856330870005e+00
0100 1.2343643188480000e+01 2.5000000000000000e-01 5.2352900314330002e+00

View File

@@ -0,0 +1,109 @@
from pylagrit import PyLaGriT
import numpy
# Variables
nx = 50 # Number of points in x direction
dy = 0.25 # width of cells in y direction
distance = 12.34364319 # distance in x direction
l = PyLaGriT()
# Create base layer
layer = l.create_qua()
layer.createpts_xyz((nx,2,1),[0.,0.,0.],[distance,dy,0.],rz_switch=[1,1,1],connect=True)
layer.setatt('itetclr',1)
layer.minmax_xyz()
# Create top of mesh
# Collapse y values
layer.addatt('y_save',vtype='vdouble',rank='scalar')
layer.copyatt('yic','y_save')
layer.setatt('yic',0.)
# Read in lidar top elevations
peat_surf_pts = l.read('surface_coords2.avs')
peat_surf_pts.addatt('z_save',vtype='vdouble',rank='scalar')
peat_surf_pts.copyatt('zic','z_save')
peat_surf_pts.setatt('zic',0.)
# Interpolate surface elevations to layer mo
layer.addatt('z_val',vtype='vdouble',rank='scalar')
layer.interpolate_voronoi('z_val',peat_surf_pts,'z_save')
layer.copyatt('y_save','yic')
layer.copyatt('z_val','zic')
# Save peat top
layer.setatt('imt',1)
layer.setatt('itetclr',1)
layer.dump('tmp_lay_peat_top.inp')
peat_surf_pts.delete()
# Read in peat bottom elevations
peat_bot_pts = l.read('bottom_peat2.avs')
peat_bot_pts.addatt('z_save',vtype='vdouble',rank='scalar')
peat_bot_pts.copyatt('zic','z_save')
peat_bot_pts.setatt('zic',0.)
# Interpolate peat bottom elevations to layer mo
layer.setatt('yic',0.)
layer.addatt('z_val',vtype='vdouble',rank='scalar')
layer.interpolate_voronoi('z_val',peat_bot_pts,'z_save')
layer.copyatt('y_save','yic')
layer.delatt('y_save')
layer.copyatt('z_val','zic')
layer.delatt('z_val')
# Save peat bot
layer.dump('tmp_lay_peat_bot.inp')
# Copy layer to peat_bot for use in generating additional layers
peat_bot = layer.copy()
stack_files = ['tmp_lay_peat_top.inp 1,5']
stack_files.append('tmp_lay_peat_bot.inp 1,33')
# Layer depths?
# 1 2 3 4 5 6 7 8 9 10
layers = [ 1.0, 0.16, 0.32, 0.64, 1.28, 3.2, 6.4, 8.0]
addnum = [ 3, 3, 3, 3, 4, 4, 3, 5]
matnum = [2]*len(layers)
layer_interfaces = numpy.cumsum(layers)
i = 1
for li,m,a in zip(layer_interfaces,matnum,addnum):
layer.math('sub','zic',li,cmosrc=peat_bot)
stack_files.append('tmp_lay'+str(i)+'.inp '+str(int(m))+', '+str(a))
layer.dump('tmp_lay'+str(i)+'.inp')
i += 1
layer.setatt('zic',-45.)
layer.dump('tmp_lay_bot.inp')
stack_files.append('tmp_lay_bot.inp 2')
stack_files.reverse()
# Create stacked layer mesh and fill
stack = l.create()
stack.stack_layers(stack_files,file_type='avs',flip_opt=True)
stack_hex = stack.stack_fill()
# Create boundary facesets, dictionary of PyLaGriT faceset objects is returned
fs = stack_hex.create_boundary_facesets(base_name='faceset_bounds',stacked_layers=True,reorder=True)
# Should add this to PyLaGriT, but I'm feeling lazy ;-)
stack_hex.sendline('quality volume itetclr')
# Write exo file with boundary facesets
stack_hex.dump_exo('arctic_siteb_2d.exo',facesets=fs.values())
# Write region and faceset identifier file for ats_xml
matnames = {10000:'computational domain peat',
20000:'computational domain upper mineral'}
facenames = {1:'bottom face',
2:'surface',
3:'front',
4:'right',
5:'back',
6:'left'}
stack_hex.dump_ats_xml('arctic_siteb_2d_mesh.xml','/scratch/tundra/dharp/arctic/geophysics/mesh/from_lucia/arctic_siteb_2d.exo',matnames=matnames,facenames=facenames)
stack_hex.dump_ats_xml('arctic_siteb_2d_par4_mesh.xml','/scratch/tundra/dharp/arctic/geophysics/mesh/from_lucia/arctic_siteb_2d.par',matnames=matnames,facenames=facenames)

View File

@@ -0,0 +1,101 @@
100 0 0 0 0
0001 0.0000000000000000e+00 0.0000000000000000e+00 5.2166771888729997e+00
0002 2.5191110372539999e-01 0.0000000000000000e+00 5.2166771888729997e+00
0003 5.0382220745090001e-01 0.0000000000000000e+00 5.2166771888729997e+00
0004 7.5573331117630005e-01 0.0000000000000000e+00 5.2168517112729997e+00
0005 1.0076444149020001e+00 0.0000000000000000e+00 5.2297439575200002e+00
0006 1.2595554590230000e+00 0.0000000000000000e+00 5.2605857849120001e+00
0007 1.5114666223530000e+00 0.0000000000000000e+00 5.2903299331670004e+00
0008 1.7633776664730001e+00 0.0000000000000000e+00 5.3202137947079997e+00
0009 2.0152888298030001e+00 0.0000000000000000e+00 5.3491477966309997e+00
0010 2.2671997547150000e+00 0.0000000000000000e+00 5.3776645660400000e+00
0011 2.5191109180450000e+00 0.0000000000000000e+00 5.4062533378600000e+00
0012 2.7710220813749999e+00 0.0000000000000000e+00 5.4357504844670004e+00
0013 3.0229332447049999e+00 0.0000000000000000e+00 5.4677810668950002e+00
0014 3.2748441696169999e+00 0.0000000000000000e+00 5.4931001663209997e+00
0015 3.5267553329469998e+00 0.0000000000000000e+00 5.5134906768800001e+00
0016 3.7786664962769998e+00 0.0000000000000000e+00 5.5392041206359997e+00
0017 4.0305776596070002e+00 0.0000000000000000e+00 5.5735721588129996e+00
0018 4.2824888229370002e+00 0.0000000000000000e+00 5.6150851249690001e+00
0019 4.5343995094300000e+00 0.0000000000000000e+00 5.6590929031370001e+00
0020 4.7863106727600000e+00 0.0000000000000000e+00 5.6770138740540004e+00
0021 5.0382218360900000e+00 0.0000000000000000e+00 5.6893677711489996e+00
0022 5.2901329994199999e+00 0.0000000000000000e+00 5.7017302513120001e+00
0023 5.5420441627499999e+00 0.0000000000000000e+00 5.7142906188960003e+00
0024 5.7939553260799999e+00 0.0000000000000000e+00 5.7164607048029996e+00
0025 6.0458664894099998e+00 0.0000000000000000e+00 5.7157988548279999e+00
0026 6.2977771759029997e+00 0.0000000000000000e+00 5.7097187042239996e+00
0027 6.5496883392329996e+00 0.0000000000000000e+00 5.6998095512390003e+00
0028 6.8015995025629996e+00 0.0000000000000000e+00 5.6882328987120001e+00
0029 7.0535106658939997e+00 0.0000000000000000e+00 5.6714453697199998e+00
0030 7.3054218292239996e+00 0.0000000000000000e+00 5.6617808341979998e+00
0031 7.5573329925539996e+00 0.0000000000000000e+00 5.6617507934570002e+00
0032 7.8092441558839996e+00 0.0000000000000000e+00 5.6662511825559996e+00
0033 8.0611553192140004e+00 0.0000000000000000e+00 5.6707530021670003e+00
0034 8.3130664825440004e+00 0.0000000000000000e+00 5.6752567291259997e+00
0035 8.5649776458740003e+00 0.0000000000000000e+00 5.6779818534850000e+00
0036 8.8168878555300001e+00 0.0000000000000000e+00 5.6812152862550001e+00
0037 9.0687990188600001e+00 0.0000000000000000e+00 5.6915965080259996e+00
0038 9.3207101821900000e+00 0.0000000000000000e+00 5.7001047134400000e+00
0039 9.5726213455200000e+00 0.0000000000000000e+00 5.6995592117309997e+00
0040 9.8245325088500000e+00 0.0000000000000000e+00 5.6740455627440003e+00
0041 1.0076443672180000e+01 0.0000000000000000e+00 5.6486158370970001e+00
0042 1.0328354835510000e+01 0.0000000000000000e+00 5.6232099533079998e+00
0043 1.0580265998840000e+01 0.0000000000000000e+00 5.6143555641170000e+00
0044 1.0832177162170000e+01 0.0000000000000000e+00 5.6048097610470000e+00
0045 1.1084088325500000e+01 0.0000000000000000e+00 5.5817298889159996e+00
0046 1.1335999488830000e+01 0.0000000000000000e+00 5.5391097068789996e+00
0047 1.1587910652160000e+01 0.0000000000000000e+00 5.4855241775510004e+00
0048 1.1839821815490000e+01 0.0000000000000000e+00 5.4387569427490003e+00
0049 1.2091732978820000e+01 0.0000000000000000e+00 5.4047856330870001e+00
0050 1.2343643188480000e+01 0.0000000000000000e+00 5.3802900314329998e+00
0051 0.0000000000000000e+00 2.5000000000000000e-01 5.2166771888729997e+00
0052 2.5191110372539999e-01 2.5000000000000000e-01 5.2166771888729997e+00
0053 5.0382220745090001e-01 2.5000000000000000e-01 5.2166771888729997e+00
0054 7.5573331117630005e-01 2.5000000000000000e-01 5.2168517112729997e+00
0055 1.0076444149020001e+00 2.5000000000000000e-01 5.2297439575200002e+00
0056 1.2595554590230000e+00 2.5000000000000000e-01 5.2605857849120001e+00
0057 1.5114666223530000e+00 2.5000000000000000e-01 5.2903299331670004e+00
0058 1.7633776664730001e+00 2.5000000000000000e-01 5.3202137947079997e+00
0059 2.0152888298030001e+00 2.5000000000000000e-01 5.3491477966309997e+00
0060 2.2671997547150000e+00 2.5000000000000000e-01 5.3776645660400000e+00
0061 2.5191109180450000e+00 2.5000000000000000e-01 5.4062533378600000e+00
0062 2.7710220813749999e+00 2.5000000000000000e-01 5.4357504844670004e+00
0063 3.0229332447049999e+00 2.5000000000000000e-01 5.4677810668950002e+00
0064 3.2748441696169999e+00 2.5000000000000000e-01 5.4931001663209997e+00
0065 3.5267553329469998e+00 2.5000000000000000e-01 5.5134906768800001e+00
0066 3.7786664962769998e+00 2.5000000000000000e-01 5.5392041206359997e+00
0067 4.0305776596070002e+00 2.5000000000000000e-01 5.5735721588129996e+00
0068 4.2824888229370002e+00 2.5000000000000000e-01 5.6150851249690001e+00
0069 4.5343995094300000e+00 2.5000000000000000e-01 5.6590929031370001e+00
0070 4.7863106727600000e+00 2.5000000000000000e-01 5.6770138740540004e+00
0071 5.0382218360900000e+00 2.5000000000000000e-01 5.6893677711489996e+00
0072 5.2901329994199999e+00 2.5000000000000000e-01 5.7017302513120001e+00
0073 5.5420441627499999e+00 2.5000000000000000e-01 5.7142906188960003e+00
0074 5.7939553260799999e+00 2.5000000000000000e-01 5.7164607048029996e+00
0075 6.0458664894099998e+00 2.5000000000000000e-01 5.7157988548279999e+00
0076 6.2977771759029997e+00 2.5000000000000000e-01 5.7097187042239996e+00
0077 6.5496883392329996e+00 2.5000000000000000e-01 5.6998095512390003e+00
0078 6.8015995025629996e+00 2.5000000000000000e-01 5.6882328987120001e+00
0079 7.0535106658939997e+00 2.5000000000000000e-01 5.6714453697199998e+00
0080 7.3054218292239996e+00 2.5000000000000000e-01 5.6617808341979998e+00
0081 7.5573329925539996e+00 2.5000000000000000e-01 5.6617507934570002e+00
0082 7.8092441558839996e+00 2.5000000000000000e-01 5.6662511825559996e+00
0083 8.0611553192140004e+00 2.5000000000000000e-01 5.6707530021670003e+00
0084 8.3130664825440004e+00 2.5000000000000000e-01 5.6752567291259997e+00
0085 8.5649776458740003e+00 2.5000000000000000e-01 5.6779818534850000e+00
0086 8.8168878555300001e+00 2.5000000000000000e-01 5.6812152862550001e+00
0087 9.0687990188600001e+00 2.5000000000000000e-01 5.6915965080259996e+00
0088 9.3207101821900000e+00 2.5000000000000000e-01 5.7001047134400000e+00
0089 9.5726213455200000e+00 2.5000000000000000e-01 5.6995592117309997e+00
0090 9.8245325088500000e+00 2.5000000000000000e-01 5.6740455627440003e+00
0091 1.0076443672180000e+01 2.5000000000000000e-01 5.6486158370970001e+00
0092 1.0328354835510000e+01 2.5000000000000000e-01 5.6232099533079998e+00
0093 1.0580265998840000e+01 2.5000000000000000e-01 5.6143555641170000e+00
0094 1.0832177162170000e+01 2.5000000000000000e-01 5.6048097610470000e+00
0095 1.1084088325500000e+01 2.5000000000000000e-01 5.5817298889159996e+00
0096 1.1335999488830000e+01 2.5000000000000000e-01 5.5391097068789996e+00
0097 1.1587910652160000e+01 2.5000000000000000e-01 5.4855241775510004e+00
0098 1.1839821815490000e+01 2.5000000000000000e-01 5.4387569427490003e+00
0099 1.2091732978820000e+01 2.5000000000000000e-01 5.4047856330870001e+00
0100 1.2343643188480000e+01 2.5000000000000000e-01 5.3802900314329998e+00