Buckets:
| import numpy as np | |
| import matplotlib.pyplot as plt | |
| import xarray as xr | |
| from fluidsim import load_sim_for_plot | |
| # Charger la simulation pour l'analyse | |
| sim = load_sim_for_plot("/root/Sim_data/NS2D_48x48_S8x8_2026-01-08_19-25-12") | |
| print("=== RÉSULTATS DE LA SIMULATION ===") | |
| print(f"Dimensions: {sim.params.oper.nx} x {sim.params.oper.ny}") | |
| print(f"Domaine: {sim.params.oper.Lx} x {sim.params.oper.Ly}") | |
| print(".3f") | |
| print(f"Pas de temps initial: {sim.params.time_stepping.deltat0}") | |
| # Charger les données NetCDF directement | |
| state_init = xr.open_dataset("/root/Sim_data/NS2D_48x48_S8x8_2026-01-08_19-25-12/state_phys_t0000.000.nc") | |
| state_final = xr.open_dataset("/root/Sim_data/NS2D_48x48_S8x8_2026-01-08_19-25-12/state_phys_t0010.200.nc") | |
| print("\n=== ÉNERGIE ===") | |
| try: | |
| energy_init = sim.output.spatial_means.load_mean('E') | |
| print(f"Énergie initiale: {energy_init[0]:.6f}") | |
| print(f"Énergie finale: {energy_init[-1]:.6f}") | |
| except: | |
| print("Données d'énergie non disponibles") | |
| print("\n=== CHAMPS INITIAUX ===") | |
| rot_init = state_init['rot'] | |
| ux_init = state_init['ux'] | |
| uy_init = state_init['uy'] | |
| print(".6f") | |
| print(".6f") | |
| print(".6f") | |
| print("\n=== CHAMPS FINAUX ===") | |
| rot_final = state_final['rot'] | |
| ux_final = state_final['ux'] | |
| uy_final = state_final['uy'] | |
| print(".6f") | |
| print(".6f") | |
| print(".6f") | |
| # Visualisation | |
| fig, axes = plt.subplots(2, 3, figsize=(15, 10)) | |
| # État initial | |
| im1 = axes[0,0].imshow(rot_init.T, origin='lower', extent=[0, sim.params.oper.Lx, 0, sim.params.oper.Ly]) | |
| axes[0,0].set_title('Vorticité initiale') | |
| plt.colorbar(im1, ax=axes[0,0]) | |
| im2 = axes[0,1].imshow(ux_init.T, origin='lower', extent=[0, sim.params.oper.Lx, 0, sim.params.oper.Ly]) | |
| axes[0,1].set_title('Vitesse Ux initiale') | |
| plt.colorbar(im2, ax=axes[0,1]) | |
| im3 = axes[0,2].imshow(uy_init.T, origin='lower', extent=[0, sim.params.oper.Lx, 0, sim.params.oper.Ly]) | |
| axes[0,2].set_title('Vitesse Uy initiale') | |
| plt.colorbar(im3, ax=axes[0,2]) | |
| # État final | |
| im4 = axes[1,0].imshow(rot_final.T, origin='lower', extent=[0, sim.params.oper.Lx, 0, sim.params.oper.Ly]) | |
| axes[1,0].set_title('Vorticité finale') | |
| plt.colorbar(im4, ax=axes[1,0]) | |
| im5 = axes[1,1].imshow(ux_final.T, origin='lower', extent=[0, sim.params.oper.Lx, 0, sim.params.oper.Ly]) | |
| axes[1,1].set_title('Vitesse Ux finale') | |
| plt.colorbar(im5, ax=axes[1,1]) | |
| im6 = axes[1,2].imshow(uy_final.T, origin='lower', extent=[0, sim.params.oper.Lx, 0, sim.params.oper.Ly]) | |
| axes[1,2].set_title('Vitesse Uy finale') | |
| plt.colorbar(im6, ax=axes[1,2]) | |
| plt.tight_layout() | |
| plt.savefig('taylor_green_results.png', dpi=150, bbox_inches='tight') | |
| print("\n=== VISUALISATION SAUVÉE ===") | |
| print("Image sauvegardée: taylor_green_results.png") | |
| plt.show() |
Xet Storage Details
- Size:
- 2.7 kB
- Xet hash:
- 0149dfcc8351e5b5387edd7891ba6d219cc6630bbed846cdeb9e628d0f3fa0c8
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.