Protocol Documentation
drt/proto/config.proto
package drt.proto
Config
General settings for setting up a given system.
Field |
Type |
Description |
name |
string |
Name of a given study. |
Material parameters
Field |
Type |
Description |
dislocation_core |
double |
Defaults to COLLISION_HORIZON from pd3 |
nu |
double |
Default to NU from pd3 |
lattice_spacing |
LatticeSpacing |
Default to crytal type from pd3 |
lattice_length |
double |
|
b |
double |
burger's length (if 0, calculated from crystal type and lattice) |
mu |
double |
shear modulus |
e |
double |
young's modulus |
Loading parameters
Field |
Type |
Description |
applied_stress |
Symmetric |
|
Resolution parameters
Field |
Type |
Description |
voxel_resolution |
int32 |
Results in NxNxN voxel space. |
voxel_resolution_x |
int32 |
Option to override the base resolution for x. |
voxel_resolution_y |
int32 |
Option to override the base resolution for y. |
voxel_resolution_z |
int32 |
Option to override the base resolution for z. |
sensor_resolution |
int32 |
Pixels in the resultant image. Will result in a N_sensorxN_sensor image. |
Positioning Parameters
Field |
Type |
Description |
bounds |
Vector |
The containing area to consider for ray-tracing. Note this will default to the whole periodic system (and default to periodic_bounds). |
position |
Vector |
The position of the slice to consider. |
periodic_bounds |
Vector |
Inherited from PERIODICITY.extent in pd3. |
Methodology parameters
Field |
Type |
Description |
gradient |
GradientMethod |
Gradient method. Note that not all are GPU accelerated. |
Boolean flags
Field |
Type |
Description |
fragmented |
bool |
Produce images for each octant of a given dislocation structure as seen in Bertin 2018, figure 6. |
undeformed |
bool |
Run process without actually computing the deformation gradient. |
dump_gradient |
bool |
Output the deformation gradient on computation. |
Reflection parameters
Field |
Type |
Description |
laue_spot |
Vector |
HKL representation of a studied laue point (Optional). |
ray_search_depth |
int32 |
Must be independent of laue_spot. Will search hkl from -x to x, accounting for classic extinctions of the given LatticeSpacing. |
Periodicity parameters
Field |
Type |
Description |
periodic_field |
bool |
Whether to adjust the deformation gradient for periodicity. |
periodic_depth |
int32 |
When accounting for periodicity, this is the number of full system neighbors accounted for. |
Intensity parameters
Field |
Type |
Description |
b_factor |
double |
Whether to adjust the deformation gradient for periodicity. |
Sensor parameters
Field |
Type |
Description |
sensor_dist |
double |
Distance from specimen to sensor. |
sensor_direction |
Vector |
Direction of the sensor from the specimen (will be normalized when used). |
sensor_plane |
Vector |
Vector normal to the plane of the sensor. |
source |
Vector |
Direction of the incoming x-rays to the specimen. |
sensor_x |
Vector |
Orientation of sensor's "x" direction. Should be normal to sensor_y and sensor_plane. |
sensor_y |
Vector |
Orientation of sensor's "y" direction. |
sensor_length_x |
double |
The size of the sensor for the x direction in set units. |
sensor_length_y |
double |
The size of the sensor for the y direction in set units. |
Adjustment parameters
Field |
Type |
Description |
sensor_shift_x |
int32 |
Pixel offset in sensor_x direction for diffraction image. |
sensor_shift_y |
int32 |
Pixel offset in sensor_y direction for diffraction image. |
Field |
Type |
Description |
meta |
Meta |
Descriptive information that does not directly apply to the simulation |
Symmetric
Structure to hold symmetric data.
Vector
Structure to hold vector data.
GradientMethod
Name |
Number |
Description |
SIMPLEX |
0 |
Uses Numerical Procedure from Ahmed's displacement fields. (default) |
ANALYTIC |
1 |
Uses Bertin's parallelizable form. |
LOCAL |
2 |
Uses interpolation for far displacement effects. |
LatticeSpacing
Name |
Number |
Description |
UNKNOWN |
0 |
Undefined spacing will throw an error. |
FCC |
1 |
Face Centered Cubic (default) |
BCC |
2 |
Body Centered Cubic |
SIMPLE |
3 |
Simple cubic |
Scalar Value Types
.proto Type |
Notes |
C++ |
Python |
double |
|
double |
float |
float |
|
float |
float |
int32 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. |
int32 |
int |
int64 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. |
int64 |
int/long |
uint32 |
Uses variable-length encoding. |
uint32 |
int/long |
uint64 |
Uses variable-length encoding. |
uint64 |
int/long |
sint32 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. |
int32 |
int |
sint64 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. |
int64 |
int/long |
fixed32 |
Always four bytes. More efficient than uint32 if values are often greater than 2^28. |
uint32 |
int |
fixed64 |
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. |
uint64 |
int/long |
sfixed32 |
Always four bytes. |
int32 |
int |
sfixed64 |
Always eight bytes. |
int64 |
int/long |
bool |
|
bool |
boolean |
string |
A string must always contain UTF-8 encoded or 7-bit ASCII text. |
string |
str/unicode |
bytes |
May contain any arbitrary sequence of bytes. |
string |
str |