Creates a doping profile for the grid.
doping / constant / field_out / set [add | sub] / 1st point, last point, stride / xcon
doping / gaussian / field_out / set[add | sub] /1st point, last point, stride / igeom / x1, y1, z1 / x2, y2, z2 / lateral_diffusion / concentration / standard_deviation /
doping / table / field_out / set [add | sub] / linear [log, asinh] / cmo_geometry / table_geometry /
doping / constant / field_out / set/
doping = concentration * exp(-(L/std_dev)**2)
where L is the effective distance and can be represented as:
L = sqrt( dy**2 + (1/lateral_diffusion)*(dx**2 + dz**2) )
dy = y-y1 (or y2 for that matter)
If the values to be doped are integers, doping works in two ways. If the second field is integer1, the new nodal attributes are based on element material types. Use field_out and att_table_field set to imt1 in this case. The integer1 option is implemented only for setting node material (imt1). The imt1 values of the active mesh object nodes will be set by determining which element in the reference mesh object the node falls in. This element's material (itetclr) value is then assigned to the node imt1.
The integer2 option sets node based attributes in the active mesh object by determining which voronoi cell in the reference mesh object the node falls in. Then the value for the node corresponding to this voronoi cell is copied to the active node.
If the second field is integer2, the new nodal attributes are based on the table attribute types using the Voronoi cells around the table nodes.
For integer doping, function can be min or max to choose what happens if a cmo_out node falls on a boundary between two elements or Voronoi cells. For 3d, Voronoi cell based doping, function can also be minp or maxp which makes any cmo_out nodes that fall outside the cmo_table geometry set to the maxium number of materials plus one. Mapset can be set to create, use, or left blank. If create is used then an idop attribute is formed that maps the cmo_table nodes to the cmo_out nodes. If use is used, doping will read and use this previously formed and saved mapping. Note that doping of integers should be done without child/parent relationships. If parents exist, the doping results are unpredictable at interface boundaries because the value of parent nodes are unpredictable there.
doping / constant / ric / set / pset, get, doping / gaussian / ric / add / pset
doping / table / pic / set /1, 0,
doping / table / Saturation / set / 1, 0, 0 / cmo_course / linear / zx / yx /
doping / integer1 / imt1 / set / 1, 0, 0 / cmo_old / imt1 / min
doping / integer2 / rad2 / set / 1, 0, 0 / cmo_old / rad1 / min / create