Skip to content

Commit 120accc

Browse files
Merge pull request #1009 from KratosMultiphysics/structural/add-u-eps-element
[Structural] Adding u-eps element
2 parents db40cfe + 95d8715 commit 120accc

2 files changed

Lines changed: 62 additions & 1 deletion

File tree

kratos.gid/apps/Structural/write/writeProjectParameters.tcl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,8 +240,9 @@ proc ::Structural::write::getParametersDict { {stage ""} } {
240240
# Analysis stage field
241241
dict set project_parameters_dict analysis_stage "KratosMultiphysics.StructuralMechanicsApplication.structural_mechanics_analysis"
242242

243-
# If using any element with the attribute RotationDofs set to true
243+
# If using any element with specific DOFs attribute set to true
244244
dict set project_parameters_dict solver_settings rotation_dofs [UsingSpecificDofElements RotationDofs $stage]
245+
dict set project_parameters_dict solver_settings strain_dofs [UsingSpecificDofElements StrainDofs $stage]
245246
dict set project_parameters_dict solver_settings volumetric_strain_dofs [UsingSpecificDofElements VolumetricStrainDofs $stage]
246247

247248
# Merging the old solver_settings with the common one for this app

kratos.gid/apps/Structural/xml/Elements.xml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,66 @@
236236
</outputs>
237237
</ElementItem>
238238

239+
<ElementItem n="SmallDisplacementMixedStrainElement2D" pn="Solid small displacements mixed u - ε" ov="surface" ImplementedInFile="small_displacement_mixed_strain_element.cpp" ImplementedInApplication="StructuralMechanicsApplication" AnalysisType="linear,non_linear" SolutionType="Static, Quasi-static" MinimumKratosVersion="9000" WorkingSpaceDimension="2D" LocalSpaceDimension="2" RequiresLocalAxes="False" LargeDeformation="False" ElementType="Solid" StrainDofs="True" help="This element implements a small displacement solid element with the strain as mixed DOF.">
240+
<!--here we could add a list of all of the possible geometries-->
241+
<TopologyFeatures>
242+
<item GeometryType="Triangle" nodes="3" KratosName="SmallDisplacementMixedStrainElement2D3N"/>
243+
<item GeometryType="Quadrilateral" nodes="4" KratosName="SmallDisplacementMixedStrainElement2D4N"/>
244+
</TopologyFeatures>
245+
<!-- here we add the block of features which we require from the constitutive law-->
246+
<ConstitutiveLaw_FilterFeatures>
247+
<filter field="Dimension" value="2D"/>
248+
<filter field="StrainSize" value="3"/>
249+
<filter field="HybridType" value="False"/>
250+
<filter field="LargeDeformation" value="False"/>
251+
</ConstitutiveLaw_FilterFeatures>
252+
<!--define list of NodalConditions-->
253+
<!--<parameter n="Interval" pn="Time function" v="Full" values="Full,Initial" analysis_type="Dynamic"/>-->
254+
<NodalConditions>
255+
<NodalCondition n="DISPLACEMENT"/>
256+
<NodalCondition n="VELOCITY"/>
257+
<NodalCondition n="ACCELERATION"/>
258+
<NodalCondition n="CONTACT"/>
259+
<NodalCondition n="CONTACT_SLAVE"/>
260+
</NodalConditions>
261+
<!--<parameter n="THICKNESS" pn="Thickness" v="1.0" unit_magnitude="L" units="m" />-->
262+
<inputs></inputs>
263+
<outputs>
264+
<parameter n="STRAIN" pn="Volumetric strain" v="true" />
265+
<parameter n="CAUCHY_STRESS_VECTOR" pn="Cauchy stress tensor" v="true" />
266+
</outputs>
267+
</ElementItem>
268+
269+
<ElementItem n="SmallDisplacementMixedStrainElement3D" pn="Solid small displacements mixed u - ε" ov="volume" ImplementedInFile="small_displacement_mixed_strain_element.cpp" ImplementedInApplication="StructuralMechanicsApplication" AnalysisType="linear,non_linear" SolutionType="Static, Quasi-static" MinimumKratosVersion="9000" WorkingSpaceDimension="3D" LocalSpaceDimension="3" RequiresLocalAxes="False" LargeDeformation="False" ElementType="Solid" StrainDofs="True" help="This element implements a small displacement solid element with the strain as mixed DOF.">
270+
<!--here we could add a list of all of the possible geometries-->
271+
<TopologyFeatures>
272+
<item GeometryType="Tetrahedra" nodes="4" KratosName="SmallDisplacementMixedStrainElement3D4N"/>
273+
<item GeometryType="Hexahedra" nodes="8" KratosName="SmallDisplacementMixedStrainElement3D8N"/>
274+
</TopologyFeatures>
275+
<!-- here we add the block of features which we require from the constitutive law-->
276+
<ConstitutiveLaw_FilterFeatures>
277+
<filter field="Dimension" value="3D"/>
278+
<filter field="StrainSize" value="6"/>
279+
<filter field="HybridType" value="False"/>
280+
<filter field="LargeDeformation" value="False"/>
281+
</ConstitutiveLaw_FilterFeatures>
282+
<!--define list of NodalConditions-->
283+
<!--<parameter n="Interval" pn="Time function" v="Full" values="Full,Initial" analysis_type="Dynamic"/>-->
284+
<NodalConditions>
285+
<NodalCondition n="DISPLACEMENT"/>
286+
<NodalCondition n="VELOCITY"/>
287+
<NodalCondition n="ACCELERATION"/>
288+
<NodalCondition n="CONTACT"/>
289+
<NodalCondition n="CONTACT_SLAVE"/>
290+
</NodalConditions>
291+
<!--<parameter n="THICKNESS" pn="Thickness" v="1.0" unit_magnitude="L" units="m" />-->
292+
<inputs></inputs>
293+
<outputs>
294+
<parameter n="STRAIN" pn="Volumetric strain" v="true" />
295+
<parameter n="CAUCHY_STRESS_VECTOR" pn="Cauchy stress tensor" v="true" />
296+
</outputs>
297+
</ElementItem>
298+
239299
<!--large displacements-->
240300
<!--total lagrangian-->
241301
<ElementItem n="TotalLagrangianElement2D" pn="Solid total lagrangian" ov="surface" ImplementedInFile="total_lagrangian.cpp" ImplementedInApplication="StructuralMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="2D" LocalSpaceDimension="2" RequiresLocalAxes="False" LargeDeformation="True" ElementType="Solid" help="This element it implements a Total Lagrangian approach to large deformation kinematics" AnalysisType="non_linear">

0 commit comments

Comments
 (0)