|
|
| ChDomainDeformation (std::shared_ptr< ChFieldDisplacement3D > melasticfield) |
| | Construct the domain.
|
| |
|
virtual void | PointComputeInternalLoads (std::shared_ptr< ChFieldElement > melement, DataPerElement &data, const int i_point, ChVector3d &eta, const double s, ChVectorDynamic<> &Fi) override |
| | Computes the internal loads Fi for one quadrature point, except quadrature weighting, and ADD the s-scaled result to Fi vector.
|
| |
| virtual void | PointComputeKRMmatrices (std::shared_ptr< ChFieldElement > melement, DataPerElement &data, const int i_point, ChVector3d &eta, ChMatrixRef H, double Kpfactor, double Rpfactor=0, double Mpfactor=0) override |
| | Sets matrix H = Mfactor*M + Rfactor*dFi/dv + Kfactor*dFi/dx, as scaled sum of the tangent matrices M,R,K,: H = Mfactor*M + Rfactor*R + Kfactor*K. More...
|
| |
| virtual void | PointUpdateEndStep (std::shared_ptr< ChFieldElement > melement, DataPerElement &data, const int i_point, const double time) override |
| | Invoked at the end of each time step. More...
|
| |
| virtual void | IntLoadResidual_F (const unsigned int off, ChVectorDynamic<> &R, const double c) override |
| | Usually not necessary to override ChPhysicsItem because the parent ChDomainImpl does all needed. More...
|
| |
| void | LoadAutomaticGravity (ChVectorDynamic<> &R, const double c) |
| | Utility function that adds gravity force per each element. More...
|
| |
| void | SetAutomaticGravity (bool mg, const ChVector3d G_acc=ChVector3d(0, -9.81, 0), int num_points=1) |
| | If true, as by default, this mesh will add automatically a gravity load to all contained elements (that support gravity) using the G value from the ChSystem. More...
|
| |
|
bool | GetAutomaticGravity () |
| | Tell if this mesh will add automatically a gravity load to all contained elements.
|
| |
Public Member Functions inherited from chrono::fea::ChDomainIntegrating< std::tuple< ChFieldDisplacement3D >, ChFieldDataAuxiliaryDeformation, ChElementDataKRM > |
|
| ChDomainIntegrating (typename tuple_as_sharedptr< std::tuple< ChFieldDisplacement3D > >::type mfields) |
| | Construct a domain, given a tuple of fields.
|
| |
| virtual void | ElementComputeInternalLoads (std::shared_ptr< ChFieldElement > melement, DataPerElement &data, ChVectorDynamic<> &Fi) |
| | For a given finite element, computes the internal loads Fi and set values in the Fi vector. More...
|
| |
| virtual void | ElementComputeKRMmatrices (std::shared_ptr< ChFieldElement > melement, DataPerElement &data, ChMatrixRef H, double Kfactor, double Rfactor=0, double Mfactor=0) |
| | For a given finite element, computes matrix H = Mfactor*M + Rfactor*dFi/dv + Kfactor*dFi/dx, as scaled sum of the tangent matrices M,R,K,: H = Mfactor*M + Rfactor*R + Kfactor*K. More...
|
| |
| virtual void | PointComputeInternalLoads (std::shared_ptr< ChFieldElement > melement, DataPerElement &data, const int i_point, ChVector3d &eta, const double s, ChVectorDynamic<> &Fi)=0 |
| | Computes the internal loads Fi for one quadrature point, except quadrature weighting, and ADD the s-scaled result to Fi vector. More...
|
| |
| virtual void | PointComputeKRMmatrices (std::shared_ptr< ChFieldElement > melement, DataPerElement &data, const int i_point, ChVector3d &eta, ChMatrixRef H, double Kpfactor, double Rpfactor=0, double Mpfactor=0)=0 |
| | Computes tangent matrix H for one quadrature point, except quadrature weighting, and ADD the scaled result to H matrix. More...
|
| |
Public Member Functions inherited from chrono::fea::ChDomainImpl< std::tuple< ChFieldDisplacement3D >, ChFieldDataAuxiliaryDeformation, ChElementDataKRM > |
|
| ChDomainImpl (typename tuple_as_sharedptr< std::tuple< ChFieldDisplacement3D > >::type mfields) |
| | Construct a domain, given a tuple of fields.
|
| |
| DataPerElement & | ElementData (std::shared_ptr< ChFieldElement > melement) |
| | Access the DataPerElement associated to the element. More...
|
| |
| virtual void | AddElement (std::shared_ptr< ChFieldElement > melement) override |
| | Adds a finite element to this domain. More...
|
| |
|
virtual void | RemoveElement (std::shared_ptr< ChFieldElement > melement) override |
| | Removes a finite element from this domain.
|
| |
|
virtual bool | IsElementAdded (std::shared_ptr< ChFieldElement > melement) override |
| | Returns true if the element is already in the domain.
|
| |
|
virtual bool | InitialDataSetup () override |
| | This rewires all pointers and correctly set up the element_datamap.
|
| |
|
virtual int | GetNumPerNodeCoordsPosLevel () override |
| | Get the total coordinates per each node (summing the dofs per each field)
|
| |
|
virtual int | GetNumPerNodeCoordsVelLevel () override |
| | Get the total coordinates per each node (summing the dofs per each field)
|
| |
|
virtual int | GetNumNodes () override |
| | Get the total number of nodes affected by this domain (some could be shared with other domains)
|
| |
|
virtual int | GetNumFields () override |
| | Get the number of fields used by this domain.
|
| |
|
virtual std::shared_ptr< ChFieldBase > | GetField (int nfield) override |
| | Get the n-th field.
|
| |
|
std::unique_ptr< ChDomain::IteratorOnElements > | CreateIteratorOnElements () override |
| |
| virtual void | GetFieldStateBlock (std::shared_ptr< ChFieldElement > melement, ChVectorDynamic<> &S, unsigned int i_field) override |
| | Fills the S vector with the current i-th field states S_j at the nodes of the element. More...
|
| |
| virtual void | GetFieldStateBlockDt (std::shared_ptr< ChFieldElement > melement, ChVectorDynamic<> &dSdt, unsigned int i_field) override |
| | Fills the dSdt vector with the current i-th field states dS_j/dt at the nodes of the element. More...
|
| |
| virtual void | GetFieldPackedStateBlock (std::shared_ptr< ChFieldElement > melement, DataPerElement &elementdata, ChMatrixDynamic<> &S_hh, unsigned int i_field) |
| | Fills the S_hh matrix with the "packed" i-th field states S_j at the nodes of the element. More...
|
| |
| virtual void | GetFieldPackedStateBlockDt (std::shared_ptr< ChFieldElement > melement, DataPerElement &elementdata, ChMatrixDynamic<> &dSdt_hh, unsigned int i_field) |
| | Fills the dSdt_hh matrix with the "packed" i-th field states dSdt_j at the nodes of the element. More...
|
| |
| virtual void | ElementComputeInternalLoads (std::shared_ptr< ChFieldElement > melement, DataPerElement &data, ChVectorDynamic<> &Fi)=0 |
| | For a given finite element, computes the internal loads Fi and set values in the Fi vector. More...
|
| |
| virtual void | ElementComputeKRMmatrices (std::shared_ptr< ChFieldElement > melement, DataPerElement &data, ChMatrixRef H, double Kfactor, double Rfactor=0, double Mfactor=0)=0 |
| | For a given finite element, computes matrix H = Mfactor*M + Rfactor*dFi/dv + Kfactor*dFi/dx, as scaled sum of the tangent matrices M,R,K,: H = Mfactor*M + Rfactor*R + Kfactor*K. More...
|
| |
| virtual void | ElementIntLoadLumpedMass_Md (std::shared_ptr< ChFieldElement > melement, DataPerElement &data, ChVectorDynamic<> &Md_i, double &error) |
| | For a given finite element, computes the lumped mass matrix. More...
|
| |
| virtual void | ElementUpdateEndStep (std::shared_ptr< ChFieldElement > melement, DataPerElement &data, double time) |
| | For a given finite element, computes updates at the end of a time step. More...
|
| |
| virtual void | PointUpdateEndStep (std::shared_ptr< ChFieldElement > melement, DataPerElement &data, const int i_point, const double time) |
| | Compute updates (ex. More...
|
| |
| virtual void | Setup () override |
| | Perform setup operations. More...
|
| |
|
virtual void | SetupInitial () override |
| |
| virtual void | Update (double time, UpdateFlags update_flags) override |
| | Perform any updates necessary at the current phase during the solution process. More...
|
| |
|
virtual void | ForceToRest () override |
| | Set zero speed (and zero accelerations) in state without changing the position.
|
| |
| virtual unsigned int | GetNumCoordsPosLevel () override |
| | Get the number of coordinates at the position level. More...
|
| |
| virtual unsigned int | GetNumCoordsVelLevel () override |
| | Get the number of coordinates at the velocity level. More...
|
| |
| virtual void | IntStateGather (const unsigned int off_x, ChState &x, const unsigned int off_v, ChStateDelta &v, double &T) override |
| | From item's state to global state vectors y={x,v} pasting the states at the specified offsets. More...
|
| |
| virtual void | IntStateScatter (const unsigned int off_x, const ChState &x, const unsigned int off_v, const ChStateDelta &v, const double T, UpdateFlags update_flags) override |
| | From global state vectors y={x,v} to element states (if any) (and update) fetching the states at the specified offsets. More...
|
| |
| virtual void | IntStateGatherAcceleration (const unsigned int off_a, ChStateDelta &a) override |
| | From element states (if any) acceleration to global acceleration vector. More...
|
| |
| virtual void | IntStateScatterAcceleration (const unsigned int off_a, const ChStateDelta &a) override |
| | From global acceleration vector to element states (if any) acceleration. More...
|
| |
| virtual void | IntStateIncrement (const unsigned int off_x, ChState &x_new, const ChState &x, const unsigned int off_v, const ChStateDelta &Dv) override |
| | Computes x_new = x + Dt , using vectors at specified offsets. More...
|
| |
| virtual void | IntStateOnEndStep (double T) override |
| | Called at the end of a step, after the state has been updated. More...
|
| |
| virtual void | IntStateGetIncrement (const unsigned int off_x, const ChState &x_new, const ChState &x, const unsigned int off_v, ChStateDelta &Dv) override |
| | Computes Dt = x_new - x, using vectors at specified offsets. More...
|
| |
| virtual void | IntLoadResidual_Mv (const unsigned int off, ChVectorDynamic<> &R, const ChVectorDynamic<> &w, const double c) override |
| | Takes the M*w term, multiplying mass by a vector, scale and adds to R at given offset: R += c*M*w. More...
|
| |
| virtual void | IntLoadLumpedMass_Md (const unsigned int off, ChVectorDynamic<> &Md, double &err, const double c) override |
| | Adds the lumped mass to a Md vector, representing a mass diagonal matrix. More...
|
| |
| virtual void | IntToDescriptor (const unsigned int off_v, const ChStateDelta &v, const ChVectorDynamic<> &R, const unsigned int off_L, const ChVectorDynamic<> &L, const ChVectorDynamic<> &Qc) override |
| | Prepare variables and constraints to accommodate a solution: More...
|
| |
| virtual void | IntFromDescriptor (const unsigned int off_v, ChStateDelta &v, const unsigned int off_L, ChVectorDynamic<> &L) override |
| | After a solver solution, fetch values from variables and constraints into vectors: More...
|
| |
|
virtual void | InjectVariables (ChSystemDescriptor &descriptor) override |
| | Register with the given system descriptor any ChVariable objects associated with this item.
|
| |
| virtual void | LoadKRMMatrices (double Kfactor, double Rfactor, double Mfactor) override |
| | Compute and load current stiffnes (K), damping (R), and mass (M) matrices in encapsulated ChKRMBlock objects. More...
|
| |
|
virtual void | InjectKRMMatrices (ChSystemDescriptor &descriptor) override |
| | Register with the given system descriptor any ChKRMBlock objects associated with this item.
|
| |
|
| ChPhysicsItem (const ChPhysicsItem &other) |
| |
|
virtual ChPhysicsItem * | Clone () const override |
| | "Virtual" copy constructor (covariant return type).
|
| |
|
ChSystem * | GetSystem () const |
| | Get the pointer to the parent ChSystem().
|
| |
| virtual void | SetSystem (ChSystem *m_system) |
| | Set the pointer to the parent ChSystem(). More...
|
| |
|
virtual bool | IsActive () const |
| | Return true if the object is active and included in dynamics.
|
| |
| virtual bool | IsCollisionEnabled () const |
| | Tell if the object is subject to collision. More...
|
| |
| virtual void | AddCollisionModelsToSystem (ChCollisionSystem *coll_sys) const |
| | Add to the provided collision system any collision models managed by this physics item. More...
|
| |
| virtual void | RemoveCollisionModelsFromSystem (ChCollisionSystem *coll_sys) const |
| | Remove from the provided collision system any collision models managed by this physics item. More...
|
| |
|
virtual void | SyncCollisionModels () |
| | Synchronize the position and bounding box of any collision models managed by this physics item.
|
| |
| virtual ChAABB | GetTotalAABB () const |
| | Get the axis-aligned bounding box (AABB) of this object. More...
|
| |
| virtual ChVector3d | GetCenter () const |
| | Get a symbolic 'center' of the object. More...
|
| |
|
virtual unsigned int | GetNumConstraints () |
| | Get the number of scalar constraints.
|
| |
|
virtual unsigned int | GetNumConstraintsBilateral () |
| | Get the number of bilateral scalar constraints.
|
| |
|
virtual unsigned int | GetNumConstraintsUnilateral () |
| | Get the number of unilateral scalar constraints.
|
| |
|
unsigned int | GetOffset_x () |
| | Get offset in the state vector (position part)
|
| |
|
unsigned int | GetOffset_w () |
| | Get offset in the state vector (speed part)
|
| |
|
unsigned int | GetOffset_L () |
| | Get offset in the Lagrange multipliers.
|
| |
|
void | SetOffset_x (const unsigned int moff) |
| | Set offset in the state vector (position part) Note: only the ChSystem::Setup function should use this.
|
| |
|
void | SetOffset_w (const unsigned int moff) |
| | Set offset in the state vector (speed part) Note: only the ChSystem::Setup function should use this.
|
| |
|
void | SetOffset_L (const unsigned int moff) |
| | Set offset in the Lagrange multipliers Note: only the ChSystem::Setup function should use this.
|
| |
| virtual void | IntStateGatherReactions (const unsigned int off_L, ChVectorDynamic<> &L) |
| | From item's reaction forces to global reaction vector. More...
|
| |
| virtual void | IntStateScatterReactions (const unsigned int off_L, const ChVectorDynamic<> &L) |
| | From global reaction vector to item's reaction forces. More...
|
| |
| virtual void | IntLoadResidual_CqL (const unsigned int off_L, ChVectorDynamic<> &R, const ChVectorDynamic<> &L, const double c) |
| | Takes the term Cq'*L, scale and adds to R at given offset: R += c*Cq'*L. More...
|
| |
| virtual void | IntLoadConstraint_C (const unsigned int off, ChVectorDynamic<> &Qc, const double c, const double c_vel, bool do_clamp, double recovery_clamp) |
| | Takes the term C, scale and adds to Qc at given offset: Qc += c*C. More...
|
| |
| virtual void | IntLoadConstraint_Ct (const unsigned int off, ChVectorDynamic<> &Qc, const double c, const double c_vel) |
| | Takes the term Ct, scale and adds to Qc at given offset: Qc += c*Ct. More...
|
| |
|
virtual void | InjectConstraints (ChSystemDescriptor &descriptor) |
| | Register with the given system descriptor any ChConstraint objects associated with this item.
|
| |
|
virtual void | LoadConstraintJacobians () |
| | Compute and load current Jacobians in encapsulated ChConstraint objects.
|
| |
|
virtual void | VariablesFbReset () |
| | Sets the 'fb' part (the known term) of the encapsulated ChVariables to zero.
|
| |
|
virtual void | VariablesFbLoadForces (double factor=1) |
| | Adds the current forces (applied to item) into the encapsulated ChVariables, in the 'fb' part: qf+=forces*factor.
|
| |
| virtual void | VariablesQbLoadSpeed () |
| | Initialize the 'qb' part of the ChVariables with the current value of speeds. More...
|
| |
| virtual void | VariablesFbIncrementMq () |
| | Adds M*q (masses multiplied current 'qb') to Fb, ex. More...
|
| |
| virtual void | VariablesQbSetSpeed (double step=0) |
| | Fetches the item speed (ex. More...
|
| |
| virtual void | VariablesQbIncrementPosition (double step) |
| | Increment item positions by the 'qb' part of the ChVariables, multiplied by a 'step' factor. More...
|
| |
|
virtual void | ConstraintsBiReset () |
| | Sets to zero the known term (b_i) of encapsulated ChConstraints.
|
| |
|
virtual void | ConstraintsBiLoad_C (double factor=1, double recovery_clamp=0.1, bool do_clamp=false) |
| | Adds the current C (constraint violation) to the known term (b_i) of encapsulated ChConstraints.
|
| |
|
virtual void | ConstraintsBiLoad_Ct (double factor=1) |
| | Adds the current Ct (partial t-derivative, as in C_dt=0-> [Cq]*q_dt=-Ct) to the known term (b_i) of encapsulated ChConstraints.
|
| |
|
virtual void | ConstraintsBiLoad_Qc (double factor=1) |
| | Adds the current Qc (the vector of C_dtdt=0 -> [Cq]*q_dtdt=Qc ) to the known term (b_i) of encapsulated ChConstraints.
|
| |
|
virtual void | ConstraintsFbLoadForces (double factor=1) |
| | Adds the current link-forces, if any, (caused by springs, etc.) to the 'fb' vectors of the ChVariables referenced by encapsulated ChConstraints.
|
| |
| virtual void | ConstraintsFetch_react (double factor=1) |
| | Fetches the reactions from the lagrangian multiplier (l_i) of encapsulated ChConstraints. More...
|
| |
|
virtual void | ArchiveOut (ChArchiveOut &archive_out) override |
| | Method to allow serialization of transient data to archives.
|
| |
| virtual void | ArchiveIn (ChArchiveIn &archive_in) override |
| | Method to allow deserialization of transient data from archives. More...
|
| |
|
| ChObj (const ChObj &other) |
| |
| int | GetIdentifier () const |
| | Get the unique integer identifier of this object. More...
|
| |
| void | SetTag (int tag) |
| | Set an object integer tag (default: -1). More...
|
| |
|
int | GetTag () const |
| | Get the tag of this object.
|
| |
|
void | SetName (const std::string &myname) |
| | Set the name of this object.
|
| |
|
const std::string & | GetName () const |
| | Get the name of this object.
|
| |
|
double | GetChTime () const |
| | Gets the simulation time of this object.
|
| |
|
void | SetChTime (double m_time) |
| | Sets the simulation time of this object.
|
| |
| void | AddVisualModel (std::shared_ptr< ChVisualModel > model) |
| | Add an (optional) visualization model. More...
|
| |
| std::shared_ptr< ChVisualModel > | GetVisualModel () const |
| | Access the visualization model (if any). More...
|
| |
| void | AddVisualShape (std::shared_ptr< ChVisualShape > shape, const ChFrame<> &frame=ChFrame<>()) |
| | Add the specified visual shape to the visualization model. More...
|
| |
| std::shared_ptr< ChVisualShape > | GetVisualShape (unsigned int i) const |
| | Access the specified visualization shape in the visualization model (if any). More...
|
| |
| void | AddVisualShapeFEA (std::shared_ptr< ChVisualShapeFEA > shapeFEA) |
| | Add the specified FEA visualization object to the visualization model. More...
|
| |
| std::shared_ptr< ChVisualShapeFEA > | GetVisualShapeFEA (unsigned int i) const |
| | Access the specified FEA visualization object in the visualization model (if any). More...
|
| |
| virtual ChFrame | GetVisualModelFrame (unsigned int nclone=0) const |
| | Get the reference frame (expressed in and relative to the absolute frame) of the visual model. More...
|
| |
| virtual unsigned int | GetNumVisualModelClones () const |
| | Return the number of clones of the visual model associated with this object. More...
|
| |
| void | AddCamera (std::shared_ptr< ChCamera > camera) |
| | Attach a camera to this object. More...
|
| |
|
std::vector< std::shared_ptr< ChCamera > > | GetCameras () const |
| | Get the set of cameras attached to this object.
|
| |
|
void | UpdateVisualModel () |
| | Utility function to update only the associated visual assets (if any).
|
| |
|
virtual std::string & | ArchiveContainerName () |
| |