HyperWorks Solvers

Cvcv

Cvcv

Previous topic Next topic No expanding text in this topic  

Cvcv

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

Model Element

Class Name

Cvcv

Description

Cvcv defines higher pair constraint.  The constraint consists of a 3D curve fixed on one body rolling and sliding on a 3D curve fixed on a second body.  The curves are required to have a unique point of contact and a common tangent at that point of contact. Moreover the curves are required to be co-planar, i.e. they must exist in parallel planes.

Attribute Summary

Name

Property

Modifiable by command?

id  

Int ()

 

label

Str ()

 

icurve

Reference ("Curve")

 

irm  

Reference ("Marker")

 

idisp

Double ([0,0,0], count=3)

 

ivel

Double ()

 

jcurve

Reference ("Curve")

 

jrm  

Reference ("Marker")

 

jdisp

Double ([0,0,0], count=3)

 

jvel

Double ()

 

no_slip

Bool ()

 

active

Bool ()

Usage

Cvcv (icurve=objCurve, irm=objMarker, jcurve=objCurve, jrm=objMarker, optional_attributes)

Attribute Description

icurve

Reference to an existing Curve object

Specifies the first curve in the CVCV object.

This attribute is mandatory.

irm

 

Reference to an existing Marker object

Specifies a fixed marker that defines the coordinate system in which the icurve points are defined.  It also implicitly defines the body on which the curve is "etched".  The curve moves with the body.

This attribute is mandatory.

jcurve

 

Reference to an existing Marker object

Specifies the second curve in the CVCV object.

This attribute is mandatory.

jrm

Reference to an existing Marker object

Specifies a fixed marker that defines the coordinate system in which the jcurve points are defined.  It also implicitly defines the body on which the curve is "etched".  The curve moves with the body.

This attribute is mandatory.

Note: irm ≠ jrm

id

Integer

Specifies the element identification number.  This number must be unique among all the CVCV objects in the model.

This attribute is optional. MotionSolve will automatically create an ID when one is not specified.

Range of values: id > 0

label

String

Specifies the name of the CVCV object.

This attribute is optional. When not specified, MotionSolve will create a label for you.

idisp

List of 3 doubles

Specifies the coordinates of initial point of contact on the first curve with respect to irm. An initial guess for the point of contact of the two curves is usually helpful even though MotionSolve does an initial search to exactly locate the contact point.

This attribute is optional.

ivel

Double

Specifies the sliding velocity of the contact point.  An observer attached to the origin of IRM measures this velocity.  The default value for IVEL is 0.0.  When omitted, MotionSolve may change this value to satisfy system constraints.

This attribute is optional.

jdisp

List of 3 doubles

Specifies the coordinates of initial point of contact on the second curve with respect to jrm.  An initial guess for the point of contact of the two curves is usually helpful even though MotionSolve does an initial search to exactly locate the contact point.

This attribute is optional.

jvel

Double

Specifies the initial sliding velocity of the contact point.  An observer attached to the origin of JRM measures this velocity.  The default value for JVEL is 0.0.  When omitted, MotionSolve may change this value to satisfy system constraints.

This attribute is optional.

no_slip

Indicates if slipping is allowed along the curve

active

Bool

Select one from True or False.

True indicates that the element is active in the model and it affects the behavior of the system
False indicates that the element is inactive in the model and it does not affect the behavior of the system. It is almost as if the entity was removed from the model, of course with the exception that can be turned “ON”  when desirable.

The attribute active is optional. When not specified, active defaults to True.

Comments

1.See Properties for an explanation about what properties are, why they are used, and how you can extend these.
2.For a more detailed explanation about CVCV, see the Comments in the XML syntax section.

Example

1.A CVCV defined with a minimal amount of input.

m1 = Marker (label="m1", body=p1, qp=[1.414, 3.142, +1.618], zp=[1.327, 3.142, 2.545])

m2 = Marker (label="m2", body=p2, qp=[5.577, 3.142, -8.531], zp=[2.828, 6.284, 3.236])

c1 = Curve (closed=True, curve_points=True, matrix=mat1)

c2 = Curve (closed=True, curve_points=True, matrix=mat2)

cvcv = Cvcv (icurve=c1, irm=m1, jcurve=c2, jrm=m2)

2.A CVCV with an initial contact point defined.

m1  = Marker (label="m1", body=p1, qp=[1.414, 3.142, +1.618], zp=[1.327, 3.142, 2.545],

            rm=0)

m2  = Marker (label="m2", body=p2, qp=[5.577, 3.142, -8.531], zp=[2.828, 6.284, 3.236],

            rm=0)

c1  = Curve (closed=True, curve_points=True, matrix=mat1)

c2  = Curve (closed=True, curve_points=True, matrix=mat2)

cp1 = Point (11.13, -8.45, 6.67)

cp2 = Point (7.97, 3.92, -10.80)

cvcv = Cvcv (icurve=c1, irm=m1, idisp=cp1, jcurve=c2, jrm=m2, jdisp=cp2)