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
|
||||
|
||||
### 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
|
||||
|
||||
#### Material
|
||||
|
@ -69,16 +104,60 @@ Exports material matrix
|
|||
|
||||
`enableMaterial:true,Material:XX`
|
||||
|
||||
- Iabs: Material label matrix w/o boundaries, 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)
|
||||
- RC: Rho,C11,.. material matrix set, back-end (engine)
|
||||
- *Iabs*: Material label matrix w/o boundaries, 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)
|
||||
- *RC*: Rho,C11,.. material matrix set, back-end (engine)
|
||||
|
||||
#### Signals
|
||||
|
||||
`enableSignals:true,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": {
|
||||
|
@ -92,6 +171,7 @@ Fields: "Vx","Vy","[Vx,Vy]","Txx","Txy","Tyy","[Txx:Txy:Tyy]","Dx","Dy","[Dx,Dy]
|
|||
"Material": "RV",
|
||||
"enableFields": false,
|
||||
"enableNumPy": true,
|
||||
"enableCsv": true,
|
||||
"enableSignals": true,
|
||||
"enableImages": false,
|
||||
"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