Comments (5)
Thank you for both reports. The attributes are indeed incorrect and will be fixed.
from smilei.
I read the standard again, and I find it very confusing. It does not specify that this is about staggering. There is a confusing way to refer to cells or elements. I would not have guessed this was about grid staggering. Can you confirm that the staggered direction must have a value of 0.5 in this attribute?
from smilei.
I have made changes locally to fix both the position issue and the timeOffset issue. Does this look ok to you?
$ h5ls -rvd Fields0.h5/data/0000001800/Bx_m | grep -4 timeOffset
Attribute: position {2}
Type: native double
Data:
0, 0.5
Attribute: timeOffset scalar
Type: native double
Data:
0.0785398163397448
Attribute: unitDimension {7}
$ h5ls -rvd Fields0.h5/data/0000001800/Ex | grep -4 timeOffset
Attribute: position {2}
Type: native double
Data:
0.5, 0
Attribute: timeOffset scalar
Type: native double
Data:
0
Attribute: unitDimension {7}
from smilei.
Thanks for the quick fix, looks good to me! Regarding your queston: Yes, the position attribute is related either to the stagger or to the (half) iteration when the fields are dumped. Some codes perform half iterations to make sure that the fields are dumped without offset, some codes dont and this is what is saved here. Its designed in its own variable to make sure this possibly tiny offset is always resolved numerically, even if the absolute coordinates are large values. The definition is here:
The following attributes must be stored with each scalar record and each component of a vector record:
position
type: 1-dimensional array of N (floatX) where N is the number of dimensions in the simulation.
range of each value: [ 0.0 : 1.0 )
description: relative position of the component on the current element of the mesh/grid/node/cell/voxel; 0.0 means at the beginning of the mesh element and 1.0 is the beginning of the next mesh element; the same dimensionality N as in gridSpacing and gridGlobalOffset
from https://github.com/openPMD/openPMD-standard/blob/latest/STANDARD.md#mesh-based-records
In Contrast the gridGlobalOffset
, which also has to be stored on every mesh record, can set arbitrary offsets for the entire grid, for example a moving window can be saved by only changing this number. Does that make sense?
from smilei.
Fixed: 12dd7db
from smilei.
Related Issues (20)
- The Screen diagnostic Data at instantaneous time step. HOT 1
- Clarification on the Screen diagnostic HOT 1
- Shortcut to profiles in the documentation HOT 7
- Segmentation faults HOT 30
- Segmentation fault HOT 16
- Unit conversion in PostProcess HOT 1
- Adjusting gridGlobalOffset and temporal offset HOT 7
- Keeping track of number of MPI processes and OpenMP threads HOT 3
- Beam current distribution in LWFA through AM HOT 1
- Error with "Collisions" block HOT 2
- Enabling Prescribed Field for AM Geometry
- Magnetic field in TrackParticle and ParticleBinning diagnostics HOT 21
- Force final step to be restartable option HOT 2
- 'cannot convert float NaN to integer' error when opening Track Particles Diagnostic HOT 13
- Thermal boundary condition HOT 2
- Deprecated pyplot register_cmap HOT 3
- problems with species creation while using parallelization HOT 4
- TrackParticles has different fusion neutron weights at low energies HOT 10
- ansys fluent
- timestep_over_CFL leads to an index error HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from smilei.