Mon 15 Sep 09:43:56 CEST 2025
This commit is contained in:
		
							parent
							
								
									8b3dfa9b8c
								
							
						
					
					
						commit
						04616cdeb3
					
				
							
								
								
									
										138
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										138
									
								
								README.md
									
									
									
									
									
								
							|  | @ -42,6 +42,41 @@ python2 $TOP/src/main.py ParamJSON/simndt_paramas_alu_hole_20mm.json | ||||||
| 
 | 
 | ||||||
| ## JSON Format | ## JSON Format | ||||||
| 
 | 
 | ||||||
|  | ### Material Libarary | ||||||
|  | 
 | ||||||
|  | All materials are labelled with an integer index number (0, positive) and a name. The simulation set-up uses only the index number of a material: | ||||||
|  | 
 | ||||||
|  | Note: The included material list determines the simulation model with respect to minimal grid distance and time step distance. Therefore, include only materials used in this simulation! | ||||||
|  | 
 | ||||||
|  | 1. Pre-defined from built-in material library: | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  |   "Materials": [ | ||||||
|  |     { | ||||||
|  |       "Name": "aluminium", | ||||||
|  |       "Label": 0 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "Name": "air", | ||||||
|  |       "Label": 160 | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | 2. User-defined by providing material parameters (Rho: density, VL/VT: long. and transv. velocities in m/s): | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  |   "Materials": [ | ||||||
|  |     { | ||||||
|  |       "Name": "mysteel", | ||||||
|  |       "Label": 130, | ||||||
|  |       "VL": 5850, | ||||||
|  |       "VT": 3220, | ||||||
|  |       "Rho": 7800       | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
| ### Import | ### Import | ||||||
| 
 | 
 | ||||||
| #### Material | #### Material | ||||||
|  | @ -69,16 +104,60 @@ Exports material matrix | ||||||
| 
 | 
 | ||||||
| `enableMaterial:true,Material:XX` | `enableMaterial:true,Material:XX` | ||||||
| 
 | 
 | ||||||
| - Iabs: Material label matrix w/o boundaries, front-end | - *Iabs*: Material label matrix w/o boundaries, front-end | ||||||
| - Im: Material label matrix with boundaries (same size as field matrix), front-end | - *Im*: Material label matrix with boundaries (same size as field matrix), front-end | ||||||
| - RV: Rho,VT,VL material matrix set, back-end (engine) | - *RV*: Rho,VT,VL material matrix set, back-end (engine) | ||||||
| - RC: Rho,C11,.. material matrix set, back-end (engine) | - *RC*: Rho,C11,.. material matrix set, back-end (engine) | ||||||
|  | 
 | ||||||
|  | #### Signals | ||||||
| 
 | 
 | ||||||
| `enableSignals:true,Field:XX` | `enableSignals:true,Field:XX` | ||||||
| 
 | 
 | ||||||
| - Export sensor signals (derived from Field XX) | - Export sensor signals (derived from Field XX) | ||||||
| 
 | 
 | ||||||
| Fields: "Vx","Vy","[Vx,Vy]","Txx","Txy","Tyy","[Txx:Txy:Tyy]","Dx","Dy","[Dx,Dy]","SV" | - Fields: "Vx","Vy","[Vx,Vy]","Txx","Txy","Tyy","[Txx:Txy:Tyy]","Dx","Dy","[Dx,Dy]","SV" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #### Sensor Placement | ||||||
|  | 
 | ||||||
|  | - Paramters (margin offsets and delta increment): [ox,oy,dx,dy] | ||||||
|  | - Sensor matrix shape (number of columns and rows): [sx,sy] | ||||||
|  | - Default:  | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | ox=dx=round(xn/(sx+1.0)) | ||||||
|  | oy=dy=round(yn/(sy+1.0)) | ||||||
|  | for x in range(0,sx): | ||||||
|  |   for y in range(0,sy): | ||||||
|  |     S[y,x]=D[oy+y*dy,ox+x*dx] | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | - User setting:  | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  |   "sensorPlacement":[ox,dx,oy,dy], | ||||||
|  |   "sensorShape":[sx,sy] | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | All parameter values in grid coordindates!  | ||||||
|  | E.g., plate 500x500, 1mm grid distance, but field grid is 187x187 points (depends on other simulation and material settings)!  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #### Output Formats | ||||||
|  | 
 | ||||||
|  | 1. numpy (enableNumPy=true), 2-dim (one file per time step) or 3-dim (enableVolume=true) | ||||||
|  | 2. csv (only single sensor signals, no 2-dim fields), one row per time step | ||||||
|  | 
 | ||||||
|  | #### Field | ||||||
|  | 
 | ||||||
|  | - Tension Txx, Txy, Tyy | ||||||
|  | - Velocity Vx, Vy | ||||||
|  | - Displacement Dx, Dy | ||||||
|  | - SV | ||||||
|  | 
 | ||||||
|  | #### Example Sensor Field | ||||||
|  | 
 | ||||||
|  | - Optional: The material grid is exported (Rho, VL, VT), too | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
|   "Export": { |   "Export": { | ||||||
|  | @ -92,6 +171,7 @@ Fields: "Vx","Vy","[Vx,Vy]","Txx","Txy","Tyy","[Txx:Txy:Tyy]","Dx","Dy","[Dx,Dy] | ||||||
|     "Material": "RV", |     "Material": "RV", | ||||||
|     "enableFields": false, |     "enableFields": false, | ||||||
|     "enableNumPy": true, |     "enableNumPy": true, | ||||||
|  |     "enableCsv": true, | ||||||
|     "enableSignals": true, |     "enableSignals": true, | ||||||
|     "enableImages": false, |     "enableImages": false, | ||||||
|     "enableMaterial": true, |     "enableMaterial": true, | ||||||
|  | @ -103,3 +183,51 @@ Fields: "Vx","Vy","[Vx,Vy]","Txx","Txy","Tyy","[Txx:Txy:Tyy]","Dx","Dy","[Dx,Dy] | ||||||
|   } |   } | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | #### Example Single Sensor | ||||||
|  | 
 | ||||||
|  | Note: The sensor settings have no inmpact on the simulation model and the simulation, it is just a field selection rule. | ||||||
|  | 
 | ||||||
|  | - sensor position ist (56,180) mm | ||||||
|  | - more than one sensor can be sampled (saved) | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  |   "Export": { | ||||||
|  |     "Step": 20, | ||||||
|  |     "Save_filepath": "./data", | ||||||
|  |     "Filename": "fields-sensor-56-180", | ||||||
|  |     "Field": "Txx", | ||||||
|  |     "enableFields": false, | ||||||
|  |     "enableNumPy": false, | ||||||
|  |     "enableCsv": true, | ||||||
|  |     "enableSignals": true, | ||||||
|  |     "enableImages": false, | ||||||
|  |     "enableVolume": true, | ||||||
|  |     "enableView": false, | ||||||
|  |     "sensorShape": [1,1], | ||||||
|  |     "sensorPlacement": [56,0,180,0], | ||||||
|  |     "sensorSize": 0 | ||||||
|  |   } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Simulation | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | - dx and dt are optional and set static simulation constraints and must be lower than computed minimal req. dx/dt | ||||||
|  | - Entire simulation time in Seconds | ||||||
|  | - Maximum frequency to be sampled in Hz (minimum value is given by the stimulus base frequency and time step) | ||||||
|  | - Point cycle sets the snapshot interval saving field (sensor) values, i.e., each PointCycle step | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  |   "Simulation": { | ||||||
|  |     "PointCycle": 10, | ||||||
|  |     "SimulationTime": 150e-6, | ||||||
|  |     "TimeScale": 1.0, | ||||||
|  |     "MaxFreq": 120000.0, | ||||||
|  |     "Order": 2, | ||||||
|  |     "Device":"CPU", | ||||||
|  |     "dx" : 0.001, | ||||||
|  |     "dt" : 1e-7 | ||||||
|  |   }, | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user