Feel++ 0.111.0-preview.14
Finite Element Embedded Library in C++
Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType > Class Template Reference

class for Solid Mechanics toolbox More...

+ Inheritance diagram for Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >:
+ Collaboration diagram for Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >:

Classes

struct  FieldTag
 

Public Types

typedef Lagrange< 0, Vectorial, Continuous > basis_constraint_vec_type
 
typedef Lagrange< nOrderPressure, Scalar, Continuous, PointSetFekete > basis_l_type
 
typedef Lagrange< nOrder+1, Tensor2, Discontinuous, PointSetFekete > basis_stress_tensor_type
 
typedef Lagrange< nOrder+1, Vectorial, Discontinuous, PointSetFekete > basis_stress_type
 
typedef Lagrange< nOrderGeo, Vectorial, Continuous > basis_tracemesh_disp_type
 
typedef BasisDisplacementType basis_u_type
 
typedef std::shared_ptr< bdf_displacement_type > bdf_displacement_ptrtype
 
typedef Bdf< space_displacement_type > bdf_displacement_type
 
typedef ConvexType convex_type
 
typedef std::shared_ptr< element_constraint_vec_type > element_constraint_vec_ptrtype
 
typedef space_constraint_vec_type::element_type element_constraint_vec_type
 
typedef std::shared_ptr< element_displacement_type > element_displacement_ptrtype
 
typedef std::shared_ptr< element_displacement_scalar_type > element_displacement_scalar_ptrtype
 
typedef space_displacement_scalar_type::element_type element_displacement_scalar_type
 
typedef space_displacement_type::element_type element_displacement_type
 
typedef std::shared_ptr< element_normal_stress_type > element_normal_stress_ptrtype
 
typedef space_normal_stress_type::element_type element_normal_stress_type
 
typedef std::shared_ptr< element_pressure_type > element_pressure_ptrtype
 
typedef space_pressure_type::element_type element_pressure_type
 
typedef std::shared_ptr< element_scalar_visu_ho_type > element_scalar_visu_ho_ptrtype
 
typedef space_scalar_visu_ho_type::element_type element_scalar_visu_ho_type
 
typedef std::shared_ptr< element_stress_scal_type > element_stress_scal_ptrtype
 
typedef space_stress_scal_type::element_type element_stress_scal_type
 
typedef std::shared_ptr< element_stress_tensor_type > element_stress_tensor_ptrtype
 
typedef space_stress_tensor_type::element_type element_stress_tensor_type
 
typedef std::shared_ptr< element_tracemesh_disp_type > element_tracemesh_disp_ptrtype
 
typedef space_tracemesh_disp_type::element_type element_tracemesh_disp_type
 
typedef std::shared_ptr< element_vectorial_type > element_vectorial_ptrtype
 
typedef space_displacement_type::element_type element_vectorial_type
 
typedef std::shared_ptr< element_vectorial_visu_ho_type > element_vectorial_visu_ho_ptrtype
 
typedef space_vectorial_visu_ho_type::element_type element_vectorial_visu_ho_type
 
typedef std::shared_ptr< export_ho_type > export_ho_ptrtype
 
typedef Exporter< mesh_visu_ho_type > export_ho_type
 
typedef std::shared_ptr< exporter_type > exporter_ptrtype
 
typedef Exporter< mesh_type, nOrderGeo > exporter_type
 
typedef std::shared_ptr< materialsproperties_type > materialsproperties_ptrtype
 
typedef MaterialsProperties< nRealDim > materialsproperties_type
 
typedef std::shared_ptr< mesh_type > mesh_ptrtype
 
typedef Mesh< convex_type > mesh_type
 
typedef Mesh< Simplex< nDim, 1, nDim > > mesh_visu_ho_type
 
typedef std::shared_ptr< newmark_displacement_type > newmark_displacement_ptrtype
 
typedef Newmark< space_displacement_type > newmark_displacement_type
 
typedef std::shared_ptr< op_interpolation1dTo2d_disp_type > op_interpolation1dTo2d_disp_ptrtype
 
typedef OperatorInterpolation< typename solid_1dreduced_type::space_displacement_type, space_displacement_type, range_face_type > op_interpolation1dTo2d_disp_type
 
typedef std::shared_ptr< op_interpolation_visu_ho_disp_type > op_interpolation_visu_ho_disp_ptrtype
 
typedef OperatorInterpolation< space_displacement_type, space_vectorial_visu_ho_type, range_visu_ho_type > op_interpolation_visu_ho_disp_type
 
typedef std::shared_ptr< op_interpolation_visu_ho_normalstress_type > op_interpolation_visu_ho_normalstress_ptrtype
 
typedef OperatorInterpolation< space_normal_stress_type, space_vectorial_visu_ho_type, range_visu_boundaryfaces_ho_type > op_interpolation_visu_ho_normalstress_type
 
typedef std::shared_ptr< op_interpolation_visu_ho_pressure_type > op_interpolation_visu_ho_pressure_ptrtype
 
typedef OperatorInterpolation< space_pressure_type, space_scalar_visu_ho_type, range_visu_ho_type > op_interpolation_visu_ho_pressure_type
 
typedef Range< mesh_type, MESH_FACES > range_face_type
 
typedef Range< mesh_visu_ho_type, ElementsType::MESH_FACES > range_visu_boundaryfaces_ho_type
 
typedef Range< mesh_visu_ho_type, ElementsType::MESH_ELEMENTS > range_visu_ho_type
 
typedef std::shared_ptr< savets_pressure_type > savets_pressure_ptrtype
 
typedef Bdf< space_pressure_type > savets_pressure_type
 
typedef std::shared_ptr< self_type > self_ptrtype
 
typedef SolidMechanics< ConvexType, BasisDisplacementType > self_type
 
using size_type = typename super_type::size_type
 
using solid_1dreduced_ptrtype = std::shared_ptr< solid_1dreduced_type >
 
using solid_1dreduced_type = SolidMechanics1dReduced< Simplex< 1, nOrderGeo, nRealDim >, basis_u_type >
 
typedef std::shared_ptr< space_constraint_vec_type > space_constraint_vec_ptrtype
 
typedef FunctionSpace< mesh_type, bases< basis_constraint_vec_type > > space_constraint_vec_type
 
typedef FunctionSpace< mesh_type, bases< Lagrange< nOrder, Scalar, Continuous, PointSetFekete > > > space_create_ho_type
 
typedef std::shared_ptr< space_displacement_type > space_displacement_ptrtype
 
typedef space_displacement_type::component_functionspace_type space_displacement_scalar_type
 
typedef FunctionSpace< mesh_type, bases< basis_u_type > > space_displacement_type
 
typedef std::shared_ptr< space_normal_stress_type > space_normal_stress_ptrtype
 
typedef FunctionSpace< mesh_type, bases< basis_stress_type > > space_normal_stress_type
 
typedef std::shared_ptr< space_pressure_type > space_pressure_ptrtype
 
typedef FunctionSpace< mesh_type, bases< basis_l_type > > space_pressure_type
 
typedef std::shared_ptr< space_scalar_visu_ho_type > space_scalar_visu_ho_ptrtype
 
typedef space_vectorial_visu_ho_type::component_functionspace_type space_scalar_visu_ho_type
 
typedef space_stress_tensor_type::component_functionspace_type space_stress_scal_type
 
typedef std::shared_ptr< space_stress_tensor_type > space_stress_tensor_ptrtype
 
typedef FunctionSpace< mesh_type, bases< basis_stress_tensor_type > > space_stress_tensor_type
 
typedef std::shared_ptr< space_tracemesh_disp_type > space_tracemesh_disp_ptrtype
 
typedef FunctionSpace< trace_mesh_type, bases< basis_tracemesh_disp_type > > space_tracemesh_disp_type
 
typedef std::shared_ptr< space_vectorial_visu_ho_type > space_vectorial_visu_ho_ptrtype
 
typedef FunctionSpace< mesh_visu_ho_type, bases< Lagrange< 1, Vectorial, Continuous, PointSetFekete > > > space_vectorial_visu_ho_type
 
typedef ModelNumerical super_type
 
typedef std::shared_ptr< trace_mesh_type > trace_mesh_ptrtype
 
using trace_mesh_type = trace_mesh_t< mesh_type >
 
- Public Types inherited from Feel::FeelModels::ModelNumerical
typedef super_type::backend_ptrtype backend_ptrtype
 
typedef super_type::backend_type backend_type
 
typedef vf::BlocksBase< size_type > block_pattern_type
 
using index_type = typename super_type::index_type
 
typedef backend_type::indexsplit_ptrtype indexsplit_ptrtype
 
typedef backend_type::indexsplit_type indexsplit_type
 
using size_type = typename super_type::size_type
 
typedef backend_type::sparse_matrix_ptrtype sparse_matrix_ptrtype
 
typedef ModelAlgebraic super_type
 
typedef double value_type
 
typedef backend_type::vector_ptrtype vector_ptrtype
 
- Public Types inherited from Feel::FeelModels::ModelBase
using worldcomm_ptr_t = std::shared_ptr< WorldComm >
 
using worldcomm_t = WorldComm
 
using worldscomm_ptr_t = std::vector< std::shared_ptr< WorldComm > >
 
- Public Types inherited from Feel::JournalWatcher
using function_update_information_type = std::function< void(nl::json &)>
 
using notify_type = nl::json
 
- Public Types inherited from Feel::FeelModels::ModelAlgebraic
typedef std::shared_ptr< backend_type > backend_ptrtype
 
typedef Backend< value_type, size_type > backend_type
 
typedef vf::BlocksBase< size_type > block_pattern_type
 
using block_vector_ptrtype = std::shared_ptr< block_vector_type >
 
using block_vector_type = BlocksBaseVector< double >
 
typedef backend_type::graph_ptrtype graph_ptrtype
 
typedef backend_type::graph_type graph_type
 
using index_type = uint32_type
 
typedef backend_type::indexsplit_ptrtype indexsplit_ptrtype
 
typedef backend_type::indexsplit_type indexsplit_type
 
typedef std::shared_ptr< model_algebraic_factory_type > model_algebraic_factory_ptrtype
 
typedef ModelAlgebraicFactory model_algebraic_factory_type
 
using size_type = index_type
 
typedef backend_type::sparse_matrix_ptrtype sparse_matrix_ptrtype
 
typedef ModelBase super_type
 
typedef double value_type
 
typedef backend_type::vector_ptrtype vector_ptrtype
 
- Public Types inherited from Feel::FeelModels::ModelMeshes< ModelAlgebraic::index_type >
using index_type = ModelAlgebraic::index_type
 
using mesh_adaptation_type = typename modelmesh_type::MeshAdaptation
 
using mesh_base_ptrtype = typename modelmesh_type::mesh_base_ptrtype
 
using mesh_base_type = typename modelmesh_type::mesh_base_type
 
using modelmesh_type = ModelMesh< ModelAlgebraic::index_type >
 
- Public Types inherited from Feel::FeelModels::ModelPhysics< ConvexType::nDim >
using material_property_description_type = MaterialPropertyDescription
 
using material_property_shape_dim_type = typename material_property_description_type::shape_dim_type
 
using model_physic_ptrtype = std::shared_ptr< model_physic_type >
 
using model_physic_type = ModelPhysic< nDim >
 
using physic_id_type = std::pair< std::string, std::string >
 

Public Member Functions

block_pattern_type blockPattern () const override
 
BlocksBaseGraphCSR buildBlockMatrixGraph () const override
 
double computeExtremumValue (std::string const &field, std::set< std::string > const &markers, std::string const &type) const
 
double computeVolumeVariation (Range< mesh_type, MESH_ELEMENTS > const &rangeElt) const
 
std::string couplingFSIcondition () const
 
void couplingFSIcondition (std::string s)
 
void createsSolid1dReduced ()
 
template<typename ModelFieldsType , typename SymbolsExpr >
void executePostProcessMeasures (double time, ModelFieldsType const &mfields, SymbolsExpr const &symbolsExpr)
 
void exportResults ()
 
void exportResults (double time)
 
template<typename ModelFieldsType , typename SymbolsExpr , typename ExportsExprType >
void exportResults (double time, ModelFieldsType const &mfields, SymbolsExpr const &symbolsExpr, ExportsExprType const &exportsExpr)
 
template<typename SymbolsExpr >
void exportResults (double time, SymbolsExpr const &symbolsExpr)
 
template<typename SymbExprType >
auto exprPostProcessExports (SymbExprType const &se, std::string const &prefix="") const
 
template<typename SymbExprType >
auto exprPostProcessExportsToolbox (SymbExprType const &se, std::string const &prefix) const
 
element_displacement_type & fieldAcceleration ()
 
element_displacement_type const & fieldAcceleration () const
 
element_displacement_ptrtype const & fieldAccelerationPtr () const
 
element_displacement_type & fieldDisplacement ()
 
element_displacement_type const & fieldDisplacement () const
 
element_displacement_ptrtype & fieldDisplacementPtr ()
 
element_displacement_ptrtype const & fieldDisplacementPtr () const
 
element_normal_stress_ptrtype & fieldNormalStressFromStructPtr ()
 
element_normal_stress_ptrtype const & fieldNormalStressFromStructPtr () const
 
element_pressure_type & fieldPressure ()
 
element_pressure_type const & fieldPressure () const
 
element_pressure_ptrtype & fieldPressurePtr ()
 
element_pressure_ptrtype const & fieldPressurePtr () const
 
element_stress_tensor_type const & fieldStressTensor () const
 
element_stress_tensor_ptrtype const & fieldStressTensorPtr () const
 
element_displacement_type & fieldVelocity ()
 
element_displacement_type const & fieldVelocity () const
 
element_displacement_ptrtype & fieldVelocityPtr ()
 
element_displacement_ptrtype const & fieldVelocityPtr () const
 
std::string fileNameMeshPath () const
 
template<typename DispFieldType , typename SymbolsExprType = symbols_expression_empty_t>
auto firstPiolaKirchhoffTensorExpr (DispFieldType const &u, SymbolsExprType const &se=symbols_expression_empty_t{}) const
 
space_displacement_ptrtype const & functionSpace () const
 
space_displacement_ptrtype const & functionSpaceDisplacement () const
 
space_pressure_ptrtype const & functionSpacePressure () const
 
bool hasDisplacementPressureFormulation () const
 
bool hasSolidEquation1dReduced () const
 
bool hasSolidEquationStandard () const
 
void init (bool buildAlgebraicFactory=true)
 
void initPostProcess () override
 
void initTimeStep ()
 
bool is1dReducedModel () const
 
bool isStandardModel () const
 
sparse_matrix_ptrtype const & massMatrixLumped () const
 
materialsproperties_ptrtype & materialsProperties ()
 
materialsproperties_ptrtype const & materialsProperties () const
 
mesh_ptrtype mesh () const
 
template<typename ModelFieldsType >
auto modelContext (ModelFieldsType const &mfields, std::string const &prefix="") const
 
auto modelContext (std::string const &prefix="") const
 
auto modelContext (vector_ptrtype sol, size_type rowStartInVector=0, std::string const &prefix="") const
 
template<typename DisplacementFieldType , typename VelocityFieldType , typename PressureFieldType >
auto modelFields (DisplacementFieldType const &field_s, VelocityFieldType const &field_v, PressureFieldType const &field_p, std::string const &prefix="") const
 
auto modelFields (std::string const &prefix="") const
 
auto modelFields (vector_ptrtype sol, size_type startBlockSpaceIndex=0, std::string const &prefix="") const
 
int nBlockMatrixGraph () const
 
void precomputeTransfertDisp1dTo2d (std::string __rangename)
 
void precomputeTransfertStress2dTo1d (std::string __rangename)
 
void predictorDispl ()
 
Range< mesh_type, MESH_ELEMENTS > const & rangeMeshElements () const
 
void restartExporters ()
 
void restartExporters (double time)
 
void setMaterialsProperties (materialsproperties_ptrtype mp)
 
void setMesh (mesh_ptrtype const &mesh)
 
void setParameterValues (std::map< std::string, double > const &paramValues)
 
void setSolver (std::string const &type)
 
void setUseMassMatrixLumped (bool b)
 
std::shared_ptr< self_type > shared_from_this ()
 
solid_1dreduced_ptrtype solid1dReduced () const
 
 SolidMechanics (self_type const &)=default
 
 SolidMechanics (std::string const &prefix, std::string const &keyword="solid", worldcomm_ptr_t const &worldComm=Environment::worldCommPtr(), std::string const &subPrefix="", ModelBaseRepository const &modelRep=ModelBaseRepository())
 
void solve (bool upVelAcc=true)
 
void startTimeStep ()
 
template<typename ModelFieldsType >
auto symbolsExpr (ModelFieldsType const &mfields) const
 
auto symbolsExpr (std::string const &prefix="") const
 
template<typename ModelFieldsType >
auto symbolsExprToolbox (ModelFieldsType const &mfields) const
 
tabulate_informations_ptr_t tabulateInformations (nl::json const &jsonInfo, TabulateInformationProperties const &tabInfoProp) const override
 
std::shared_ptr< TSBase > timeStepBase () const
 
bdf_displacement_ptrtype timeStepBdfDisplacement () const
 
bdf_displacement_ptrtype timeStepBdfVelocity () const
 
newmark_displacement_ptrtype & timeStepNewmark ()
 
newmark_displacement_ptrtype const & timeStepNewmark () const
 
std::string const & timeStepping () const
 
savets_pressure_ptrtype const & timeStepSavetsPressure () const
 
double timeStepThetaValue () const
 
void TransfertDisp1dTo2d (std::string __rangename)
 
void TransfertStress2dTo1d (std::string __rangename)
 
auto trialSelectorModelFields (size_type startBlockSpaceIndex=0) const
 
template<typename ModelFieldsType , typename TrialSelectorModelFieldsType >
auto trialSymbolsExpr (ModelFieldsType const &mfields, TrialSelectorModelFieldsType const &tsmf) const
 
void updateInformationObject (nl::json &p) const override
 
void updateJacobian (DataUpdateJacobian &data) const override
 
template<typename ModelContextType >
void updateJacobian (DataUpdateJacobian &data, ModelContextType const &mctx) const
 
void updateJacobianDofElimination (DataUpdateJacobian &data) const override
 
void updateLinearPDE (DataUpdateLinear &data) const override
 
template<typename ModelContextType >
void updateLinearPDE (DataUpdateLinear &data, ModelContextType const &mctx) const
 
void updateLinearPDEDofElimination (DataUpdateLinear &data) const override
 
template<typename ModelContextType >
void updateLinearPDEDofElimination (DataUpdateLinear &data, ModelContextType const &mctx) const
 
void updateMassMatrixLumped ()
 
void updateNewtonInitialGuess (DataNewtonInitialGuess &data) const override
 
template<typename ModelContextType >
void updateNewtonInitialGuess (DataNewtonInitialGuess &data, ModelContextType const &mctx) const
 
void updateNormalStressFromStruct ()
 
void updateParameterValues ()
 
void updatePreStress ()
 
void updateResidual (DataUpdateResidual &data) const override
 
template<typename ModelContextType >
void updateResidual (DataUpdateResidual &data, ModelContextType const &mctx) const
 
void updateResidualDofElimination (DataUpdateResidual &data) const override
 
void updateTimeStep ()
 
void updateVelocity ()
 
bool useFSISemiImplicitScheme () const
 
void useFSISemiImplicitScheme (bool b)
 
bool useMassMatrixLumped () const
 
vector_ptrtype const & vecDiagMassMatrixLumped () const
 
- Public Member Functions inherited from Feel::FeelModels::ModelNumerical
virtual bool checkResults () const
 
template<typename SymbolsExprType >
bool checkResults (SymbolsExprType const &se) const
 
template<typename SpaceType >
auto createBdf (std::shared_ptr< SpaceType > space, std::string const &name, int bdfOrder, int nConsecutiveSave, std::string const &myFileFormat) const
 
double currentTime () const
 
bool doRestart () const
 
template<typename ExporterType , typename ModelFieldsType , typename SymbolsExprType = symbols_expression_empty_t, typename TupleExprOnRangeType = hana::tuple<>>
void executePostProcessExports (std::shared_ptr< ExporterType > exporter, double time, ModelFieldsType const &mFields, SymbolsExprType const &symbolsExpr=symbols_expression_empty_t{}, TupleExprOnRangeType const &tupleExprOnRange=hana::make_tuple())
 
template<typename ExporterType , typename ModelFieldsType , typename SymbolsExpr , typename TupleExprOnRangeType >
void executePostProcessExports (std::shared_ptr< ExporterType > exporter, std::string const &tag, double time, ModelFieldsType const &mFields, SymbolsExpr const &symbolsExpr, TupleExprOnRangeType const &tupleExprOnRange)
 
template<typename ExporterType , typename ModelFieldsType , typename SymbolsExprType = symbols_expression_empty_t, typename TupleExprOnRangeType = hana::tuple<>>
void executePostProcessExports (std::shared_ptr< ExporterType > exporter, std::string const &tag, double time, ModelFieldsType const &mFields, SymbolsExprType const &symbolsExpr=symbols_expression_empty_t{}, TupleExprOnRangeType const &tupleExprOnRange=hana::make_tuple())
 
template<typename MeshType , typename RangeType , typename SymbolsExpr , typename ModelFieldsType , typename ModelQuantitiesType >
void executePostProcessMeasures (double time, std::shared_ptr< MeshType > mesh, RangeType const &rangeMeshElements, SymbolsExpr const &symbolsExpr, ModelFieldsType const &mFields, ModelQuantitiesType const &mQuantities)
 
template<typename ModelFieldsType >
void executePostProcessSave (std::set< std::string > const &fieldsNamesToSave, std::string const &format, uint32_type index, ModelFieldsType const &fields)
 
template<typename ModelFieldsType >
void executePostProcessSave (uint32_type index, ModelFieldsType const &fields)
 
std::string exporterPath () const
 
GeomapStrategyType geomap () const
 
bool hasPostProcessExportsExpr (std::string const &exportTag="") const
 
bool hasPostProcessExportsField (std::string const &exportTag, std::string const &fieldName) const
 
bool hasPostProcessExportsField (std::string const &fieldName) const
 
bool isStationary () const
 
 ModelNumerical (ModelNumerical const &app)=default
 
 ModelNumerical (std::string const &_theprefix, std::string const &keyword, worldcomm_ptr_t const &_worldComm=Environment::worldCommPtr(), std::string const &subPrefix="", ModelBaseRepository const &modelRep=ModelBaseRepository(), ModelBaseCommandLineOptions const &modelCmdLineOpt=ModelBaseCommandLineOptions())
 
 ModelNumerical (std::string const &_theprefix, worldcomm_ptr_t const &_worldComm=Environment::worldCommPtr(), std::string const &subPrefix="", ModelBaseRepository const &modelRep=ModelBaseRepository(), ModelBaseCommandLineOptions const &modelCmdLineOpt=ModelBaseCommandLineOptions())
 
std::set< std::string > const & postProcessExportsAllFieldsAvailable (std::string const &exportTag="") const
 
std::set< std::string > const & postProcessExportsFields (std::string const &exportTag="") const
 
std::set< std::string > postProcessExportsFields (std::string const &tag, std::set< std::string > const &ifields, std::string const &prefix="") const
 
std::string const & postProcessExportsPidName (std::string const &exportTag="") const
 
ModelMeasuresStorage & postProcessMeasures ()
 
ModelMeasuresStorage const & postProcessMeasures () const
 
std::set< std::string > postProcessMeasuresQuantitiesNames (std::set< std::string > const &inames) const
 
std::set< std::string > const & postProcessSaveFields () const
 
std::set< std::string > postProcessSaveFields (std::set< std::string > const &ifields, std::string const &prefix="") const
 
fs::path const & postProcessSaveRepository () const
 
bool restartAtLastSave () const
 
std::string restartPath () const
 
void setExporterPath (std::string const &s)
 
void setRestart (bool b)
 
void setRestartAtLastSave (bool b)
 
void setRestartPath (std::string const &s)
 
void setStationary (bool b)
 
void setTimeFinal (double v)
 
void setTimeInitial (double v)
 
void setTimeOrder (int o)
 
void setTimeStep (double v)
 
double time () const
 
double timeFinal () const
 
double timeInitial () const
 
int timeOrder () const
 
double timeStep () const
 
int tsSaveFreq () const
 
bool tsSaveInFile () const
 
virtual void updateParameterValues_postProcess (std::map< std::string, double > &mp, std::string const &prefix_symbol) const
 
template<typename ExporterType , typename ModelFieldsType , typename SymbolsExprType , typename TupleExprOnRangeType >
bool updatePostProcessExports (std::shared_ptr< ExporterType > exporter, std::set< std::string > const &fields, double time, ModelFieldsType const &mFields, SymbolsExprType const &symbolsExpr, TupleExprOnRangeType const &tupleExprOnRange)
 
template<typename ExporterType , typename ModelFieldsType , typename SymbolsExpr , typename TupleExprOnRangeType >
bool updatePostProcessExports (std::shared_ptr< ExporterType > exporter, std::set< std::string > const &fieldsNamesToExport, double time, ModelFieldsType const &mFields, SymbolsExpr const &symbolsExpr, TupleExprOnRangeType const &tupleExprOnRange)
 
template<typename MeshType , typename RangeType , typename SymbolsExpr , typename ModelFieldsType , typename ModelQuantitiesType >
void updatePostProcessMeasures (std::shared_ptr< MeshType > mesh, RangeType const &rangeMeshElements, SymbolsExpr const &symbolsExpr, ModelFieldsType const &mFields, ModelQuantitiesType const &mQuantities)
 
template<typename MeshType , typename RangeType , typename SymbolsExpr , typename ModelFieldsType >
void updatePostProcessMeasuresNorm (std::shared_ptr< MeshType > mesh, RangeType const &rangeMeshElements, SymbolsExpr const &symbolsExpr, ModelFieldsType const &mFields)
 
template<typename MeasurePointEvalType , typename SymbolsExprType , typename ModelFieldsType >
void updatePostProcessMeasuresPoint (std::shared_ptr< MeasurePointEvalType > measurePointsEvaluation, SymbolsExprType const &se, ModelFieldsType const &mFields)
 
template<typename ModelQuantitiesType , typename SymbolsExprType = symbols_expression_empty_t>
void updatePostProcessMeasuresQuantities (ModelQuantitiesType const &mQuantities, SymbolsExprType const &symbolsExpr=symbols_expression_empty_t{})
 
template<typename MeshType , typename RangeType , typename SymbolsExpr , typename ModelFieldsType >
void updatePostProcessMeasuresStatistics (std::shared_ptr< MeshType > mesh, RangeType const &rangeMeshElements, SymbolsExpr const &symbolsExpr, ModelFieldsType const &mFields)
 
void updateTime (double t)
 
- Public Member Functions inherited from Feel::FeelModels::ModelBase
void addParameterInModelProperties (std::string const &symbolName, double value)
 
void addTimerTool (std::string const &s, std::string const &fileName) const
 
po::variables_map const & clovm () const
 return variables map from command line options
 
virtual void createWorldsComm ()
 
bool hasModelProperties () const
 
void initModelProperties ()
 
bool isUpdatedForUse () const
 
std::string const & keyword () const
 keyword
 
worldscomm_ptr_t & localNonCompositeWorldsComm ()
 
worldscomm_ptr_t const & localNonCompositeWorldsComm () const
 
void log (std::string const &_className, std::string const &_functionName, std::string const &_msg) const
 
bool manageParameterValues () const
 
bool manageParameterValuesOfModelProperties () const
 
 ModelBase (ModelBase &&app)=default
 
 ModelBase (ModelBase const &app)=default
 
 ModelBase (std::string const &prefix, std::string const &keyword, worldcomm_ptr_t const &worldComm=Environment::worldCommPtr(), std::string const &subPrefix="", ModelBaseRepository const &modelRep=ModelBaseRepository(), ModelBaseCommandLineOptions const &modelCmdLineOpt=ModelBaseCommandLineOptions())
 
 ModelBase (std::string const &prefix, worldcomm_ptr_t const &worldComm=Environment::worldCommPtr(), std::string const &subPrefix="", ModelBaseRepository const &modelRep=ModelBaseRepository(), ModelBaseCommandLineOptions const &modelCmdLineOpt=ModelBaseCommandLineOptions())
 
ModelProperties & modelProperties ()
 
ModelProperties const & modelProperties () const
 
std::shared_ptr< ModelProperties > modelPropertiesPtr () const
 
std::string const & prefix () const
 
void printAndSaveInfo () const
 
void printInfo () const
 
ModelBaseRepository const & repository () const
 
std::string const & rootRepository () const
 
void saveInfo () const
 
std::string scalabilityFilename () const
 
std::string scalabilityPath () const
 
bool scalabilityReinitSaveFile () const
 
bool scalabilitySave () const
 
void setIsUpdatedForUse (bool b)
 
void setLocalNonCompositeWorldsComm (worldscomm_ptr_t &_worldsComm)
 
void setManageParameterValues (bool b)
 
void setManageParameterValuesOfModelProperties (bool b)
 
void setModelProperties (nl::json const &j)
 Set the Model Properties object from a json struct the json may come from python. More...
 
void setModelProperties (std::shared_ptr< ModelProperties > modelProps)
 
void setModelProperties (std::string const &filename)
 Set the Model Properties object from a filename. More...
 
void setScalabilityFilename (std::string const &s)
 
void setScalabilityPath (std::string const &s)
 
void setScalabilitySave (bool b)
 
void setWorldsComm (worldscomm_ptr_t &_worldsComm)
 
std::string const & subPrefix () const
 
auto symbolsExprParameter () const
 
tabulate_informations_ptr_t tabulateInformations () const
 
virtual tabulate_informations_ptr_t tabulateInformations (nl::json const &jsonInfo, TabulateInformationProperties const &tabInfoProp) const
 
TimerToolBase & timerTool (std::string const &s) const
 
void updateInformationObject (nl::json &p) const override
 
ModelBaseUpload const & upload () const
 
void upload (std::string const &dataPath) const
 
bool verbose () const
 
bool verboseAllProc () const
 
worldcomm_t & worldComm ()
 
worldcomm_t const & worldComm () const
 
worldcomm_ptr_t & worldCommPtr ()
 
worldcomm_ptr_t const & worldCommPtr () const
 
worldscomm_ptr_t & worldsComm ()
 
worldscomm_ptr_t const & worldsComm () const
 
- Public Member Functions inherited from Feel::JournalWatcher
 JournalWatcher (std::string const &category="", std::string const &name="", bool connect=JournalManager::journalAutoMode())
 Constructors. More...
 
 JournalWatcher (std::string const &category, bool useDefaultName, bool connect=JournalManager::journalAutoMode())
 
 JournalWatcher (function_update_information_type const &func, std::string const &category="", std::string const &name="", bool useDefaultNameIfEmpty=true, bool connect=JournalManager::journalAutoMode())
 
 JournalWatcher (JournalWatcher const &jw)
 Copy constructor.
 
virtual ~JournalWatcher ()
 Default destructor. The (inherited) object is always disconnected from the journal during the destruction.
 
bool journalIsConnected () const
 GettersCheck if the object is connected to the journal. More...
 
std::string const & journalWatcherInstanceName () const
 Return the full instance name for this watched object. The name is composed with the base name and a suffix index corresponding to the nth call. More...
 
nl::json::json_pointer journalSection () const
 Return the section into the journal as json_pointer.
 
nl::json const & informationObject () const
 Return the information into property tree.
 
void journalConnect ()
 Setters. More...
 
void journalDisconnect ()
 Disconnect the derived object from the simulation info manager. The disconnection is safe.
 
void setInformationObject (nl::json const &informationObject)
 set information object
 
void putInformationObject (nl::json const &informationObject)
 put information object
 
void addInformationObject (nl::json const &informationObject)
 add information object
 
void journalFinalize ()
 finalize journal publication
 
- Public Member Functions inherited from Feel::FeelModels::ModelAlgebraic
backend_ptrtype algebraicBackend (std::string const &name="") const
 
block_vector_ptrtype algebraicBlockVectorSolution (std::string const &name="") const
 
model_algebraic_factory_ptrtype algebraicFactory (std::string const &name="") const
 
backend_ptrtype backend () const
 
virtual block_pattern_type blockPattern () const
 return an empty blockPattern if not overhead
 
virtual BlocksBaseGraphCSR buildBlockMatrixGraph () const
 
virtual graph_ptrtype buildMatrixGraph () const
 
void clearDofEliminationIds ()
 
void clearStartSubBlockSpaceIndex ()
 
size_type colStartInMatrix () const
 
std::map< std::string, dof_elimination_ids_value_type > const & dofEliminationIds () const
 
dof_elimination_ids_value_type const & dofEliminationIds (std::string const &spaceName) const
 
std::set< size_type > & dofEliminationIdsAll (std::string const &spaceName, ElementsType e)
 
bool errorIfSolverNotConverged () const
 
bool hasDofEliminationIds (std::string const &spaceName) const
 
bool hasStartSubBlockSpaceIndex (std::string const &name) const
 
void initAlgebraicBackend (std::string const &name="")
 
block_vector_ptrtype initAlgebraicBlockVectorSolution (int nBlock, std::string const &name="")
 
 ModelAlgebraic (ModelAlgebraic const &app)=default
 
 ModelAlgebraic (std::string _theprefix, std::string const &keyword, worldcomm_ptr_t const &_worldComm=Environment::worldCommPtr(), std::string const &subPrefix="", ModelBaseRepository const &modelRep=ModelBaseRepository(), ModelBaseCommandLineOptions const &modelCmdLineOpt=ModelBaseCommandLineOptions())
 
 ModelAlgebraic (std::string _theprefix, worldcomm_ptr_t const &_worldComm=Environment::worldCommPtr(), std::string const &subPrefix="", ModelBaseRepository const &modelRep=ModelBaseRepository(), ModelBaseCommandLineOptions const &modelCmdLineOpt=ModelBaseCommandLineOptions())
 
bool needToRebuildCstPart () const
 
virtual void postSolveLinear (vector_ptrtype rhs, vector_ptrtype sol) const
 
virtual void postSolveNewton (vector_ptrtype rhs, vector_ptrtype sol) const
 
virtual void postSolvePicard (vector_ptrtype rhs, vector_ptrtype sol) const
 
virtual void preSolveLinear (vector_ptrtype rhs, vector_ptrtype sol) const
 
virtual void preSolveNewton (vector_ptrtype rhs, vector_ptrtype sol) const
 
virtual void preSolvePicard (vector_ptrtype rhs, vector_ptrtype sol) const
 
bool printGraph () const
 
std::string printGraphFileName () const
 
bool rebuildCstPartInLinearSystem () const
 
bool rebuildCstPartInResidual () const
 
bool rebuildLinearPartInJacobian () const
 
void removeAllAlgebraicDataAndTools ()
 
size_type rowStartInMatrix () const
 index start of (sub-)block
 
size_type rowStartInVector () const
 
void setAlgebraicBackend (backend_ptrtype backend)
 
void setAlgebraicBackend (std::string const &name, backend_ptrtype backend)
 
void setAlgebraicFactory (model_algebraic_factory_ptrtype algFact)
 
void setAlgebraicFactory (std::string const &name, model_algebraic_factory_ptrtype algFact)
 
void setErrorIfSolverNotConverged (bool b)
 
void setNeedToRebuildCstPart (bool b)
 
void setPrintGraph (bool b)
 
void setPrintGraphFileName (std::string s)
 
void setRebuildCstPartInLinearSystem (bool b)
 
void setRebuildCstPartInResidual (bool b)
 
void setRebuildLinearPartInJacobian (bool b)
 
void setStartBlockSpaceIndex (size_type s)
 
void setStartBlockSpaceIndexMatrixCol (size_type s)
 
void setStartBlockSpaceIndexMatrixRow (size_type s)
 
void setStartBlockSpaceIndexVector (size_type s)
 
void setStartSubBlockSpaceIndex (std::string const &name, size_type s)
 
void setUseCstMatrix (bool b)
 
void setUseCstVector (bool b)
 
void setUseLinearJacobianInResidual (bool b)
 
size_type startBlockSpaceIndexMatrixCol () const
 
size_type startBlockSpaceIndexMatrixRow () const
 
size_type startBlockSpaceIndexVector () const
 
size_type startSubBlockSpaceIndex (std::string const &name) const
 
template<typename DataType >
void updateDofEliminationIds (std::string const &spaceName, DataType &data) const
 update data useful for mpi synchronization of NewtonInitialGuess, impose value in residual or jacobian
 
void updateDofEliminationIds (std::string const &spaceName, dof_elimination_ids_value_type const &dofIds, DataNewtonInitialGuess &data) const
 
void updateDofEliminationIds (std::string const &spaceName, dof_elimination_ids_value_type const &dofIds, DataUpdateJacobian &data) const
 
void updateDofEliminationIds (std::string const &spaceName, dof_elimination_ids_value_type const &dofIds, DataUpdateResidual &data) const
 
template<typename SpaceType , typename RangeType >
void updateDofEliminationIds (std::string const &spaceName, std::shared_ptr< SpaceType > thespace, RangeType const &therange, ComponentType c1=ComponentType::NO_COMPONENT)
 
virtual void updateInHousePreconditioner (DataUpdateJacobian &data) const
 
virtual void updateInHousePreconditioner (DataUpdateLinear &data) const
 
virtual void updateJacobian (DataUpdateJacobian &data) const
 
virtual void updateJacobianDofElimination (DataUpdateJacobian &data) const
 
virtual void updateLinearPDE (DataUpdateLinear &data) const
 
virtual void updateLinearPDEDofElimination (DataUpdateLinear &data) const
 
virtual void updateNewtonInitialGuess (DataNewtonInitialGuess &data) const
 
virtual void updateNewtonIteration (int step, vector_ptrtype residual, vector_ptrtype sol, typename backend_type::solvernonlinear_type::UpdateIterationData const &data) const
 
virtual void updatePicardIteration (int step, vector_ptrtype sol) const
 
virtual void updateResidual (DataUpdateResidual &data) const
 
virtual void updateResidualDofElimination (DataUpdateResidual &data) const
 
bool useCstMatrix () const
 
bool useCstVector () const
 
bool useLinearJacobianInResidual () const
 
bool verboseSolverTimer () const
 
bool verboseSolverTimerAllProc () const
 
- Public Member Functions inherited from Feel::FeelModels::ModelMeshes< ModelAlgebraic::index_type >
void applyRemesh (std::string const &meshName, std::shared_ptr< MeshType > const &newMesh)
 
bool hasMeshMotion (std::string const &meshName) const
 
bool hasModelMesh (std::string const &meshName) const
 
void initMeasurePointsEvaluationTool (std::string const &meshName)
 
auto measurePointsEvaluationTool (std::string const &meshName)
 
auto mesh (std::string const &meshName) const
 
auto meshMotionTool (std::string const &meshName) const
 
auto modelFields (std::string const &prefix_field, std::string const &prefix_symbol="") const
 
ModelMesh< ModelAlgebraic::index_type > & modelMesh ()
 
ModelMesh< ModelAlgebraic::index_type > const & modelMesh () const
 
ModelMesh< ModelAlgebraic::index_type > & modelMesh (std::string const &meshName)
 
ModelMesh< ModelAlgebraic::index_type > const & modelMesh (std::string const &meshName) const
 
 ModelMeshes (ModelMeshes &&)=default
 
 ModelMeshes (ModelMeshes const &)=default
 
std::string repository_meshes () const
 
void saveMetadata () const
 
void setMesh (std::string const &meshName, mesh_base_ptrtype m)
 
void setModelMeshAsShared (ModelMesh< ModelAlgebraic::index_type > const &m)
 
void setModelMeshAsShared (std::string const &meshName, ModelMesh< ModelAlgebraic::index_type > const &m)
 shared data (mesh,space,...) between several ModelMesh
 
void setParameterValues (std::map< std::string, double > const &paramValues)
 
void setup (nl::json const &jarg)
 
void setup (nl::json const &jarg, std::set< std::string > const &keywordsToSetup)
 
void setupRestart (std::string const &meshName)
 
auto symbolsExpr (std::string const &prefix_symbol="meshes") const
 
tabulate_informations_ptr_t tabulateInformations (nl::json const &jsonInfo, TabulateInformationProperties const &tabInfoProp) const override
 
void updateForUse (std::string const &meshName)
 
void updateInformationObject (nl::json &p) const override
 
void updateInformationObject (nl::json &p, std::string const &prefix_symbol) const
 
void updateMeshAdaptation (std::string const &meshName, std::shared_ptr< typename mesh_adaptation_type::Event > event, SymbolsExprType const &se)
 
void updateMeshMotion (std::string const &meshName, SymbolsExprType const &se)
 
void updateTime (double time)
 
- Public Member Functions inherited from Feel::FeelModels::ModelPhysics< ConvexType::nDim >
void addPhysics (std::map< physic_id_type, std::shared_ptr< ModelPhysic< Dim > > > const &thePhysics)
 add physics if not already registered
 
bool hasPhysic (physic_id_type const &pId) const
 return true if physic id is already registered
 
void initPhysics (std::shared_ptr< ModelPhysics< nDim > > mphysics, ModelModels const &models)
 
void initPhysics (std::shared_ptr< ModelPhysics< nDim > > mphysics, std::function< void(PhysicsTree &)> lambdaInit)
 
 ModelPhysics (ModelPhysics &&)=default
 
 ModelPhysics (ModelPhysics const &)=default
 
 ModelPhysics (std::string const &modeling)
 
 ModelPhysics (std::string const &modeling, ModelBase &&mbase)
 
 ModelPhysics (std::string const &modeling, ModelBase const &mbase)
 
std::shared_ptr< ModelPhysic< Dim > > physic (physic_id_type const &pId) const
 return physic registered from physic id
 
std::string const & physicModeling () const
 return the physic modeling
 
std::map< physic_id_type, std::shared_ptr< ModelPhysic< nDim > > > const & physics () const
 return all physics registered
 
std::map< physic_id_type, std::shared_ptr< ModelPhysic< Dim > > > physics (std::string const &type) const
 return all physics registered related to a type of physic
 
std::set< physic_id_type > physicsAvailable () const
 return name of all physics registered
 
std::set< physic_id_type > physicsAvailable (std::string const &type) const
 return name of all physics registered related to a type of physic
 
std::set< physic_id_type > physicsAvailableFromCurrentType () const
 return name of all physics registered related to the current type
 
std::map< physic_id_type, std::shared_ptr< ModelPhysic< nDim > > > physicsFromCurrentType () const
 return all physics registered related to the current type
 
std::string const & physicType () const
 return the type of physic at top level
 
auto symbolsExprPhysics (std::map< physic_id_type, std::shared_ptr< ModelPhysic< nDim > > > const &mphysics) const
 
auto symbolsExprPhysicsFromCurrentType () const
 
tabulate_informations_ptr_t tabulateInformations (nl::json const &jsonInfo, TabulateInformationProperties const &tabInfoProp) const override
 
void updateInformationObjectFromCurrentType (nl::json &p) const
 

Static Public Member Functions

static self_ptrtype New (std::string const &prefix, std::string const &keyword="solid", worldcomm_ptr_t const &worldComm=Environment::worldCommPtr(), std::string const &subPrefix="", ModelBaseRepository const &modelRep=ModelBaseRepository())
 

Static Public Attributes

static const uint16_type nDim = convex_type::nDim
 
static const uint16_type nOrder = BasisDisplacementType::nOrder
 
static const uint16_type nOrderDisplacement = nOrder
 
static const uint16_type nOrderGeo = convex_type::nOrder
 
static const uint16_type nOrderPressure = (nOrder>1)? nOrder-1:1
 
static const uint16_type nRealDim = convex_type::nRealDim
 
- Static Public Attributes inherited from Feel::FeelModels::ModelPhysics< ConvexType::nDim >
static const uint16_type nDim
 

Additional Inherited Members

- Protected Types inherited from Feel::FeelModels::ModelNumerical
using super_model_base_type = ModelBase
 
using super_model_meshes_type = ModelMeshes< typename ModelAlgebraic::index_type >
 
- Protected Member Functions inherited from Feel::FeelModels::ModelNumerical
void addPostProcessExportsAllFieldsAvailable (std::set< std::string > const &ifields)
 
void addPostProcessExportsAllFieldsAvailable (std::string const &exportTag, std::set< std::string > const &ifields)
 
void addPostProcessMeasuresQuantitiesAllNamesAvailable (std::set< std::string > const &inames)
 
virtual void initPostProcess ()
 
template<typename MeshType , typename SymbolsExprType >
void initPostProcessMeshes (SymbolsExprType const &se)
 
template<typename MeshType >
auto modelFieldsMeshes (std::string const &prefix_field="", std::string const &prefix_symbol="") const
 
void setPostProcessExportsAllFieldsAvailable (std::set< std::string > const &ifields)
 
void setPostProcessExportsAllFieldsAvailable (std::string const &exportTag, std::set< std::string > const &ifields)
 
void setPostProcessExportsPidName (std::string const &exportTag, std::string const &pidName)
 
void setPostProcessExportsPidName (std::string const &pidName)
 
void setPostProcessMeasuresQuantitiesAllNamesAvailable (std::set< std::string > const &inames)
 
void setPostProcessSaveAllFieldsAvailable (std::set< std::string > const &ifields)
 
template<typename MeshType , bool AddFields = true>
auto symbolsExprMeshes () const
 
template<typename ElementType , typename RangeType , typename SymbolsExpr >
void updateInitialConditions (std::string const &fieldName, RangeType const &defaultRange, SymbolsExpr const &symbolsExpr, std::vector< std::shared_ptr< ElementType > > &dataToUpdate, std::map< int, double > const &priorTimes={{0, 0}})
 
- Protected Member Functions inherited from Feel::JournalWatcher
void applyUpdateInformationObject ()
 Protected Methods.
 
- Protected Member Functions inherited from Feel::FeelModels::ModelPhysics< ConvexType::nDim >
std::vector< std::shared_ptr< ModelPhysic< Dim > > > initPhysics (std::string const &type, ModelModels const &models, std::set< std::string > const &modelNameRequired, bool isRequired=true)
 
virtual void updatePhysics (PhysicsTreeNode &physicsTree, ModelModels const &models)
 
- Protected Attributes inherited from Feel::FeelModels::ModelPhysics< ConvexType::nDim >
std::string M_physicModeling
 
std::map< physic_id_type, std::shared_ptr< ModelPhysic< nDim > > > M_physics
 

Detailed Description

template<typename ConvexType, typename BasisDisplacementType>
class Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >

class for Solid Mechanics toolbox

Template Parameters
ConvexTypeconvex for the mesh
BasisDisplacementTypebasis type for displacement
using solid_t = SolidMechanics< Simplex<nDim,1>, Lagrange<OrderT, Vectorial,Continuous,PointSetFekete>>;
auto solid = std::make_shared<solid_t>("solid");
solid->init();
solid->printAndSaveInfo();
solid->solve();
solid->exportResults();

Member Function Documentation

◆ blockPattern()

template<typename ConvexType , typename BasisDisplacementType >
block_pattern_type Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >::blockPattern ( ) const
overridevirtual

Reimplemented from Feel::FeelModels::ModelAlgebraic.

◆ buildBlockMatrixGraph()

template<typename ConvexType , typename BasisDisplacementType >
BlocksBaseGraphCSR Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >::buildBlockMatrixGraph ( ) const
overridevirtual

Reimplemented from Feel::FeelModels::ModelAlgebraic.

◆ initPostProcess()

template<typename ConvexType , typename BasisDisplacementType >
void Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >::initPostProcess ( )
overridevirtual

Reimplemented from Feel::FeelModels::ModelNumerical.

◆ tabulateInformations()

template<typename ConvexType , typename BasisDisplacementType >
tabulate_informations_ptr_t Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >::tabulateInformations ( nl::json const &  jsonInfo,
TabulateInformationProperties const &  tabInfoProp 
) const
overridevirtual

Reimplemented from Feel::FeelModels::ModelBase.

◆ updateInformationObject()

template<typename ConvexType , typename BasisDisplacementType >
void Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >::updateInformationObject ( nl::json &  p) const
overridevirtual

Reimplemented from Feel::FeelModels::ModelBase.

◆ updateJacobian()

template<typename ConvexType , typename BasisDisplacementType >
void Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >::updateJacobian ( DataUpdateJacobian &  data) const
overridevirtual

Reimplemented from Feel::FeelModels::ModelAlgebraic.

◆ updateJacobianDofElimination()

template<typename ConvexType , typename BasisDisplacementType >
void Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >::updateJacobianDofElimination ( DataUpdateJacobian &  data) const
overridevirtual

Reimplemented from Feel::FeelModels::ModelAlgebraic.

◆ updateLinearPDE()

template<typename ConvexType , typename BasisDisplacementType >
void Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >::updateLinearPDE ( DataUpdateLinear &  data) const
overridevirtual

Reimplemented from Feel::FeelModels::ModelAlgebraic.

◆ updateLinearPDEDofElimination()

template<typename ConvexType , typename BasisDisplacementType >
void Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >::updateLinearPDEDofElimination ( DataUpdateLinear &  data) const
overridevirtual

Reimplemented from Feel::FeelModels::ModelAlgebraic.

◆ updateNewtonInitialGuess()

template<typename ConvexType , typename BasisDisplacementType >
void Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >::updateNewtonInitialGuess ( DataNewtonInitialGuess &  data) const
overridevirtual

Reimplemented from Feel::FeelModels::ModelAlgebraic.

◆ updateResidual()

template<typename ConvexType , typename BasisDisplacementType >
void Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >::updateResidual ( DataUpdateResidual &  data) const
overridevirtual

Reimplemented from Feel::FeelModels::ModelAlgebraic.

◆ updateResidualDofElimination()

template<typename ConvexType , typename BasisDisplacementType >
void Feel::FeelModels::SolidMechanics< ConvexType, BasisDisplacementType >::updateResidualDofElimination ( DataUpdateResidual &  data) const
overridevirtual

Reimplemented from Feel::FeelModels::ModelAlgebraic.