20 #include "custom_elements/base_solid_element.h"
90 ,mF0Computed(rOther.mF0Computed)
91 ,mDetF0(rOther.mDetF0)
109 void Initialize(
const ProcessInfo& rCurrentProcessInfo)
override;
121 void FinalizeSolutionStep(
const ProcessInfo& rCurrentProcessInfo)
override;
130 Element::Pointer Clone (
144 GeometryType::Pointer pGeom,
145 PropertiesType::Pointer pProperties
158 PropertiesType::Pointer pProperties
170 std::vector<bool>& rOutput,
182 std::vector<int>& rOutput,
194 std::vector<double>& rOutput,
230 std::vector<Vector>& rOutput,
242 std::vector<Matrix>& rOutput,
254 const std::vector<double>& rValues,
266 const std::vector<Matrix>& rValues,
282 std::string
Info()
const override
284 std::stringstream buffer;
285 buffer <<
"Updated Lagrangian Solid Element #" << Id() <<
"\nConstitutive law: " << BaseType::mConstitutiveLawVector[0]->Info();
292 rOStream <<
"Updated Lagrangian Solid Element #" << Id() <<
"\nConstitutive law: " << BaseType::mConstitutiveLawVector[0]->Info();
298 pGetGeometry()->PrintData(rOStream);
334 const bool rF0Computed,
335 const std::vector<double>& rDetF0,
336 const std::vector<Matrix>& rF0
339 mF0Computed = rF0Computed;
354 void UpdateHistoricalDatabase(
355 KinematicVariables& rThisKinematicVariables,
371 const bool CalculateStiffnessMatrixFlag,
372 const bool CalculateResidualVectorFlag
381 void CalculateKinematicVariables(
382 KinematicVariables& rThisKinematicVariables,
396 double CalculateDerivativesOnReferenceConfiguration(
449 double ReferenceConfigurationDeformationGradientDeterminant(
const IndexType PointNumber)
const;
456 Matrix ReferenceConfigurationDeformationGradient(
const IndexType PointNumber)
const;
475 void save(
Serializer& rSerializer)
const override;
This is base class used to define the solid elements.
Definition: base_solid_element.h:67
Definition: constitutive_law.h:47
StressMeasure
Definition: constitutive_law.h:69
std::size_t IndexType
Definition: flags.h:74
This defines the geometrical object, base definition of the element and condition entities.
Definition: geometrical_object.h:58
IntegrationMethod
Definition: geometry_data.h:76
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Updated Lagrangian element for 2D and 3D geometries.
Definition: updated_lagrangian.h:53
UpdatedLagrangian()
Definition: updated_lagrangian.h:323
std::string Info() const override
Turn back information as a string.
Definition: updated_lagrangian.h:282
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: updated_lagrangian.h:290
UpdatedLagrangian(UpdatedLagrangian const &rOther)
Definition: updated_lagrangian.h:88
ConstitutiveLaw ConstitutiveLawType
Reference type definition for constitutive laws.
Definition: updated_lagrangian.h:59
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(UpdatedLagrangian)
Counted pointer of UpdatedLagrangian.
std::size_t IndexType
The definition of the index type.
Definition: updated_lagrangian.h:71
bool mF0Computed
Definition: updated_lagrangian.h:315
std::vector< Matrix > mF0
Definition: updated_lagrangian.h:317
BaseSolidElement BaseType
The base element type.
Definition: updated_lagrangian.h:68
std::vector< double > mDetF0
Definition: updated_lagrangian.h:316
GeometryData::IntegrationMethod IntegrationMethod
Type definition for integration methods.
Definition: updated_lagrangian.h:65
ConstitutiveLawType::Pointer ConstitutiveLawPointerType
Pointer type for constitutive laws.
Definition: updated_lagrangian.h:62
void CloneUpdatedLagrangianDatabase(const bool rF0Computed, const std::vector< double > &rDetF0, const std::vector< Matrix > &rF0)
This method clones the element database.
Definition: updated_lagrangian.h:333
std::size_t SizeType
The definition of the sizetype.
Definition: updated_lagrangian.h:74
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: updated_lagrangian.h:296
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
std::size_t IndexType
The definition of the index type.
Definition: key_hash.h:35
Modeler::Pointer Create(const std::string &ModelerName, Model &rModel, const Parameters ModelParameters)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:30
void SetValuesOnIntegrationPoints(TObject &dummy, const Variable< TDataType > &rVariable, const std::vector< TDataType > &values, const ProcessInfo &rCurrentProcessInfo)
Definition: add_mesh_to_python.cpp:185
pybind11::list CalculateOnIntegrationPoints(TObject &dummy, const Variable< TDataType > &rVariable, const ProcessInfo &rProcessInfo)
Definition: add_mesh_to_python.cpp:142
void InitializeSolutionStep(ConstructionUtility &rThisUtil, std::string ThermalSubModelPartName, std::string MechanicalSubModelPartName, std::string HeatFluxSubModelPartName, std::string HydraulicPressureSubModelPartName, bool thermal_conditions, bool mechanical_conditions, int phase)
Definition: add_custom_utilities_to_python.cpp:45
void CalculateB(const GeometricalObject &rElement, const TMatrixType1 &rDN_DX, TMatrixType2 &rB)
This method computes the deformation tensor B (for small deformation solid elements)
Definition: structural_mechanics_element_utilities.h:105
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::size_t SizeType
The definition of the size type.
Definition: mortar_classes.h:43
ModelPart::NodesContainerType NodesArrayType
Definition: gid_gauss_point_container.h:42
def load(f)
Definition: ode_solve.py:307