chrono::ChFluidContainer Class Reference
Description
Container of fluid particles.
#include <Ch3DOFContainer.h>
Inheritance diagram for chrono::ChFluidContainer:

Collaboration diagram for chrono::ChFluidContainer:

Public Member Functions | |
| void | AddBodies (const std::vector< real3 > &positions, const std::vector< real3 > &velocities) |
| virtual void | Update3DOF (double ChTime) override |
| virtual void | UpdatePosition (double ChTime) override |
| virtual int | GetNumConstraints () override |
| virtual int | GetNumNonZeros () override |
| virtual void | Setup3DOF (int start_constraint) override |
| virtual void | Initialize () override |
| virtual void | PreSolve () override |
| void | Density_Fluid () |
| void | Density_FluidMPM () |
| void | DensityConstraint_FluidMPM () |
| void | Normalize_Density_Fluid () |
| virtual void | Build_D () override |
| virtual void | Build_b () override |
| virtual void | Build_E () override |
| virtual void | Project (real *gamma) override |
| virtual void | GenerateSparsity () override |
| virtual void | ComputeInvMass (int offset) override |
| virtual void | ComputeMass (int offset) override |
| virtual void | PostSolve () override |
| virtual void | CalculateContactForces () override |
| virtual real3 | GetBodyContactForce (uint body_id) override |
| virtual real3 | GetBodyContactTorque (uint body_id) override |
| void | GetFluidDensity (custom_vector< real > &dens) |
| void | GetFluidPressure (custom_vector< real > &pres) |
| void | GetFluidForce (custom_vector< real3 > &forc) |
Public Member Functions inherited from chrono::Ch3DOFContainer | |
| Ch3DOFContainer (const Ch3DOFContainer &other) | |
| Ch3DOFContainer & | operator= (const Ch3DOFContainer &other) |
| virtual void | ComputeDOF () |
| virtual void | InnerSolve () |
| virtual void | UpdateRhs () |
| void | SetFamily (short family, short mask_no_collision) |
| uint | GetNumParticles () const |
| real3 | GetPos (int i) |
| void | SetPos (const int &i, const real3 &mpos) |
| real3 | GetPos_dt (int i) |
| void | SetPos_dt (const int &i, const real3 &mposdt) |
Public Member Functions inherited from chrono::ChPhysicsItem | |
| 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... | |
| 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) |
| 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 physics item. More... | |
| void | AddCamera (std::shared_ptr< ChCamera > camera) |
| Attach a ChCamera to this physical item. More... | |
| std::vector< std::shared_ptr< ChCamera > > | GetCameras () const |
| Get the set of cameras attached to this physics item. | |
| virtual bool | IsActive () const |
| Return true if the object is active and included in dynamics. | |
| virtual bool | GetCollide () const |
| Tell if the object is subject to collision. More... | |
| virtual void | SyncCollisionModels () |
| If this physical item contains one or more collision models, synchronize their coordinates and bounding boxes to the state of the item. | |
| virtual void | AddCollisionModelsToSystem () |
| If this physical item contains one or more collision models, add them to the system's collision engine. | |
| virtual void | RemoveCollisionModelsFromSystem () |
| If this physical item contains one or more collision models, remove them from the system's collision engine. | |
| virtual void | GetTotalAABB (ChVector<> &bbmin, ChVector<> &bbmax) |
| Get the entire AABB axis-aligned bounding box of the object. More... | |
| virtual void | GetCenter (ChVector<> &mcenter) |
| Get a symbolic 'center' of the object. More... | |
| virtual void | StreamINstate (ChStreamInBinary &mstream) |
| Method to deserialize only the state (position, speed) Must be implemented by child classes. | |
| virtual void | StreamOUTstate (ChStreamOutBinary &mstream) |
| Method to serialize only the state (position, speed) Must be implemented by child classes. | |
| virtual void | Setup () |
| This might recompute the number of coordinates, DOFs, constraints, in case this might change (ex in ChAssembly), as well as state offsets of contained items (ex in ChMesh) | |
| virtual void | Update (double mytime, bool update_assets=true) |
| This is an important function, which is called by the owner ChSystem at least once per integration step. More... | |
| virtual void | Update (bool update_assets=true) |
| As above, but does not require updating of time-dependent data. More... | |
| virtual void | SetNoSpeedNoAcceleration () |
| Set zero speed (and zero accelerations) in state, without changing the position. More... | |
| virtual int | GetDOF () |
| Get the number of scalar coordinates (variables), if any, in this item. More... | |
| virtual int | GetDOF_w () |
| Get the number of scalar coordinates of variables derivatives (usually = DOF, but might be different than DOF, ex. More... | |
| virtual int | GetDOC () |
| Get the number of scalar constraints, if any, in this item. | |
| virtual int | GetDOC_c () |
| Get the number of scalar constraints, if any, in this item (only bilateral constr.) Children classes might override this. | |
| virtual int | GetDOC_d () |
| Get the number of scalar constraints, if any, in this item (only unilateral constr.) Children classes might override this. | |
| 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 lagrangian 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 lagrangian multipliers Note: only the ChSystem::Setup function should use this. | |
| virtual void | IntStateGather (const unsigned int off_x, ChState &x, const unsigned int off_v, ChStateDelta &v, double &T) |
| 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, bool full_update) |
| From global state vectors y={x,v} to item's state (and update) fetching the states at the specified offsets. More... | |
| virtual void | IntStateGatherAcceleration (const unsigned int off_a, ChStateDelta &a) |
| From item's state acceleration to global acceleration vector. More... | |
| virtual void | IntStateScatterAcceleration (const unsigned int off_a, const ChStateDelta &a) |
| From global acceleration vector to item's state acceleration. More... | |
| 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 | IntStateIncrement (const unsigned int off_x, ChState &x_new, const ChState &x, const unsigned int off_v, const ChStateDelta &Dv) |
| Computes x_new = x + Dt , using vectors at specified offsets. More... | |
| virtual void | IntStateGetIncrement (const unsigned int off_x, const ChState &x_new, const ChState &x, const unsigned int off_v, ChStateDelta &Dv) |
| Computes Dt = x_new - x, using vectors at specified offsets. More... | |
| virtual void | IntLoadResidual_F (const unsigned int off, ChVectorDynamic<> &R, const double c) |
| Takes the F force term, scale and adds to R at given offset: R += c*F. More... | |
| virtual void | IntLoadResidual_Mv (const unsigned int off, ChVectorDynamic<> &R, const ChVectorDynamic<> &w, const double c) |
| Takes the M*v term, multiplying mass by a vector, scale and adds to R at given offset: R += c*M*w. 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, 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) |
| Takes the term Ct, scale and adds to Qc at given offset: Qc += c*Ct. 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) |
| 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) |
| After a solver solution, fetch values from variables and constraints into vectors: More... | |
| 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 | InjectVariables (ChSystemDescriptor &mdescriptor) |
| Tell to a system descriptor that there are variables of type ChVariables in this object (for further passing it to a solver) Basically does nothing, but maybe that inherited classes may specialize this. | |
| virtual void | InjectConstraints (ChSystemDescriptor &mdescriptor) |
| Tell to a system descriptor that there are constraints of type ChConstraint in this object (for further passing it to a solver) Basically does nothing, but maybe that inherited classes may specialize this. | |
| 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 | ConstraintsLoadJacobians () |
| Adds the current jacobians in encapsulated ChConstraints. | |
| virtual void | ConstraintsFetch_react (double factor=1) |
| Fetches the reactions from the lagrangian multiplier (l_i) of encapsulated ChConstraints. More... | |
| virtual void | InjectKRMmatrices (ChSystemDescriptor &mdescriptor) |
| Tell to a system descriptor that there are items of type ChKblock in this object (for further passing it to a solver) Basically does nothing, but maybe that inherited classes may specialize this. | |
| virtual void | KRMmatricesLoad (double Kfactor, double Rfactor, double Mfactor) |
| Adds the current stiffness K and damping R and mass M matrices in encapsulated ChKblock item(s), if any. More... | |
| virtual void | ArchiveOUT (ChArchiveOut &marchive) override |
| Method to allow serialization of transient data to archives. | |
| virtual void | ArchiveIN (ChArchiveIn &marchive) override |
| Method to allow deserialization of transient data from archives. More... | |
Public Member Functions inherited from chrono::ChObj | |
| ChObj (const ChObj &other) | |
| int | GetIdentifier () const |
| Gets the numerical identifier of the object. | |
| void | SetIdentifier (int id) |
| Sets the numerical identifier of the object. | |
| double | GetChTime () const |
| Gets the simulation time of this object. | |
| void | SetChTime (double m_time) |
| Sets the simulation time of this object. | |
| const char * | GetName () const |
| Gets the name of the object as C Ascii null-terminated string -for reading only! | |
| void | SetName (const char myname[]) |
| Sets the name of this object, as ascii string. | |
| std::string | GetNameString () const |
| Gets the name of the object as C Ascii null-terminated string. | |
| void | SetNameString (const std::string &myname) |
| Sets the name of this object, as std::string. | |
| void | MFlagsSetAllOFF (int &mflag) |
| void | MFlagsSetAllON (int &mflag) |
| void | MFlagSetON (int &mflag, int mask) |
| void | MFlagSetOFF (int &mflag, int mask) |
| int | MFlagGet (int &mflag, int mask) |
| virtual std::string & | ArchiveContainerName () |
Public Attributes | |
| custom_vector< Mat33 > | shear_tensor |
| custom_vector< real > | shear_trace |
| custom_vector< real > | density |
| uint | start_boundary |
| uint | start_density |
| uint | start_viscous |
| real | yield_stress |
| real | epsilon |
| real | tau |
| real | rho |
| real | mass |
| real | viscosity |
| bool | artificial_pressure |
| real | artificial_pressure_k |
| real | artificial_pressure_n |
| real | artificial_pressure_dq |
| bool | enable_viscosity |
| real | nu |
| real | youngs_modulus |
| real | hardening_coefficient |
| real | lame_lambda |
| real | lame_mu |
| real | theta_s |
| real | theta_c |
| real | alpha_flip |
| int | mpm_iterations |
| std::thread | mpm_thread |
| bool | mpm_init |
| MPM_Settings | temp_settings |
| custom_vector< float > | mpm_pos |
| custom_vector< float > | mpm_vel |
| custom_vector< float > | mpm_jejp |
Public Attributes inherited from chrono::Ch3DOFContainer | |
| real | kernel_radius |
| real | collision_envelope |
| real | contact_recovery_speed |
| real | contact_cohesion |
| real | contact_compliance |
| real | contact_mu |
| real | max_velocity |
| uint | start_row |
| real | alpha |
| DynamicVector< real > | contact_forces |
| DynamicVector< real > | gamma_old |
| short2 | family |
Additional Inherited Members | |
Protected Attributes inherited from chrono::Ch3DOFContainer | |
| ChMulticoreDataManager * | data_manager |
| uint | num_fluid_contacts |
| uint | num_fluid_bodies |
| uint | num_rigid_bodies |
| uint | num_rigid_fluid_contacts |
| uint | num_rigid_mpm_contacts |
| uint | num_unilaterals |
| uint | num_bilaterals |
| uint | num_shafts |
| uint | num_motors |
Protected Attributes inherited from chrono::ChPhysicsItem | |
| ChSystem * | system |
| parent system | |
| std::shared_ptr< ChVisualModelInstance > | vis_model_instance |
| instantiated visualization model | |
| std::vector< std::shared_ptr< ChCamera > > | cameras |
| set of cameras | |
| unsigned int | offset_x |
| offset in vector of state (position part) | |
| unsigned int | offset_w |
| offset in vector of state (speed part) | |
| unsigned int | offset_L |
| offset in vector of lagrangian multipliers | |
Protected Attributes inherited from chrono::ChObj | |
| double | ChTime |
| the time of simulation for the object | |
Member Function Documentation
◆ DensityConstraint_FluidMPM()
| void chrono::ChFluidContainer::DensityConstraint_FluidMPM | ( | ) |
printf("jpjp: %f d: %f\n", (mpm_jejp[body_b * 2 + 0] / mpm_jejp[body_b * 2 + 1]) * step_size, mass_over_density);
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_multicore/physics/Ch3DOFContainer.h
- /builds/uwsbel/chrono/src/chrono_multicore/physics/ChFluidContainer.cpp
Public Member Functions inherited from