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.
cmo/addatt / mo_name / att_name / [ type / rank / length / interpolate / persistence / ioflag / value ]
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_src
area_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.
cmo /addatt/cmo1/boron1/VDOUBLE /scalar /nnodes /asinh /permanent Create node attribute named boron1 with interpolate method of asinh. cmo/addatt/-cmo-/boron2/VDOUBLE/scalar/nnodes/asinh/permanent/gl/2.0 Create node attribute named boron2 and fill with value 2.0, write to gmv and lagrit dumps. cmo/addatt/cmo1/boron3/VDOUBLE/scalar/nnodes/user/temporary Create temporary node attribute named boron3. cmo/addatt/-default-/boron3 Create attribute named boron3 with default mesh object settings. cmo/addatt/ cmotri / area_normal / xyz / anorm Create 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_face Create 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 / anorm Create attributes xnorm, ynorm, znorm from the three components of the vector attribute anorm. cmo/addatt/cmo1/ vector / vnorm /xnorm, ynorm, znorm Create vector attribute vnorm from the three attributes xnorm, ynorm, znorm. cmo/addatt/ cmotri / area / darea Create and fill attribute named darea with area of each triangle.