The cmo/addatt command is used to add and initialize a new mesh object attribute. There are two variations on the command syntax. The general form is used to add a new attribute to a mesh object. The second syntax uses keywords to create and/or fill a valid attribute with calculated values. This syntax can also derive a vector attribute from three attributes or derive three scalar attributes from a vector attribute.For the general form, the first two parameters, mo_name/att_name are required. All other parameters will resort to default settings if not included on the command line. See the modattcommand for details on these parameters.
The keyword syntax uses the fourth token on the command line to define the type of attribute to create. The syntax for each keyword is unique. If the named attribute already exists, values will be overwritten with values as indicated by the keyword.
GENERAL FORMAT:
cmo/addatt / mo_name / att_name / [ type / rank / length / interpolate / persistence / ioflag / value ]
KEYWORD FORMAT:cmo/addatt / mo_name / area_normal / normal_type / att_v_name
cmo/addatt / mo_name / unit_area_normal / normal_type / att_v_name
cmo/addatt / mo_name / volume / att_name
cmo/addatt / mo_name / vector / att_v_snk / att_1src, att_2src, att_3src
cmo/addatt / mo_name / scalar / att_1snk, att_2snk, att_3snk / att_v_srcarea_normal: creates vector attribute att_v_name and fills with the x,y,z components of the area normal for each face. The new attribute is nelementsin length, type is VDOUBLE, and rank is vector. normal_type choices include xyz, rtz, and rtp. The area_normal is a vector perpendicular to the triangle face with length equal to the area of the triangle. Currently implemented for xyz on triangles only.unit_area_normal: creates vector attribute att_v_name and fills with the x,y,z direction components of the area normal for each face. The new attribute is nelements in length, type is VDOUBLE, and rank is vector. normal_type choices include xyz, rtz, and rtp. The unit_area_normal is a vector perpendicular to the triangle face with length equal to one. Currently implemented for xyz on triangles only.
volume or area: creates an attribute nelements in length and type VDOUBLE. For volume keyword the att_name attribute is filled with volume(if 3D), area(if 2D) or length(if lines). Currently implemented for triangle areas.
vector: creates att_v_snk of rank vector from three existing attributes att_1src, att_2src, and att_3src
scalar: creates three attributes att_1snk, att_2snk, and att_3snk from an existing attribute att_v_src of rank vector.
EXAMPLES:cmo/addatt/cmo1/boron1/VDOUBLE/scalar/nnodes/asinh/permanentCreate node attribute named boron1 with interpolate method of asinh. cmo/addatt/-cmo-/boron2/VDOUBLE/scalar/nnodes/asinh/permanent/gl/2.0Create node attribute named boron2 and fill with value 2.0, write to gmv and lagrit dumps. cmo/addatt/cmo1/boron3/VDOUBLE/scalar/nnodes/user/temporaryCreate temporary node attribute named boron3. cmo/addatt/-default-/boron3Create attribute named boron3 with default mesh object settings. cmo/addatt/ cmotri / area_normal / xyz / anormCreate and fill element vector named anorm with the x,y,z components for area normals of each triangle. cmo/addatt/ cmotri / unit_area_normal / xyz / n_faceCreate and fill element vector named n_face with the x,y,z components for unit area normals of each triangle. cmo/addatt/cmo1/ scalar / xnorm, ynorm, znorm / anormCreate attributes xnorm, ynorm, znorm from the three components of the vector attribute anorm. cmo/addatt/cmo1/ vector / vnorm /xnorm, ynorm, znormCreate vector attribute vnorm from the three attributes xnorm, ynorm, znorm. cmo/addatt/ cmotri / area / dareaCreate and fill attribute named darea with area of each triangle.