Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions kratos.gid/apps/Structural/xml/ConstitutiveLaws.xml
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@
</CLaw>

<!--constitutive laws for shells and membranes-->
<CLaw n="LinearElasticPlaneStress_Hybrid_3D" KratosName="LinearElasticPlaneStress2DLaw" pn="Linear Elastic" Type="PlaneStress" Behaviour="Elastic" StrainSize="6" ImplementedInApplication="StructuralMechanicsApplication"
<CLaw n="LinearElasticPlaneStress_Hybrid_3D" KratosName="ReissnerMindlinShellElasticConstitutiveLaw" pn="Linear Elastic" Type="PlaneStress" Behaviour="Elastic" StrainSize="6" ImplementedInApplication="StructuralMechanicsApplication"
help="Linear elastic behaviour in 3D for shells" Dimension="3D" LargeDeformation="False" RequiresLocalAxes="False" HybridType="D-R" AllowsAnisotropy="False" >
<inputs>
<parameter n="DENSITY" pn="Density"/>
Expand Down Expand Up @@ -174,7 +174,7 @@
</CLaw>

<!--constitutive laws for beams-->
<CLaw n="BeamConstitutiveLaw2D" KratosName="BeamConstitutiveLaw" pn="Linear elastic beam" Type="Beam2D" Behaviour="Elastic"
<CLaw n="TimoshenkoBeamConstitutiveLaw2D" KratosName="TimoshenkoBeamElasticConstitutiveLaw" pn="Linear elastic beam" Type="Beam2D" Behaviour="Elastic"
StrainSize="1" ImplementedInApplication="StructuralMechanicsApplication" help="Linear elastic behaviour for beams"
Dimension="2D" LargeDeformation="False" RequiresLocalAxes="False" HybridType="False">
<inputs>
Expand All @@ -183,21 +183,24 @@
<parameter n="POISSON_RATIO" pn="Poisson Ratio" v="0.29"/>
<parameter n="CROSS_AREA" pn="Cross area" v="1.0" unit_magnitude="Area" units="m^2" />
<parameter n="I33" pn="Inertia 33" type="double" v="1.0" unit_magnitude="L^4" units="m^4" />
<parameter n="AREA_EFFECTIVE_Y" pn="Shear area" type="double" v="0.8" unit_magnitude="L^2" units="m^2" />
</inputs>
<outputs></outputs>
</CLaw>

<CLaw n="BeamConstitutiveLaw3D" KratosName="BeamConstitutiveLaw" pn="Linear elastic beam" Type="Beam3D" Behaviour="Elastic"
<CLaw n="BeamConstitutiveLaw3D" KratosName="TimoshenkoBeamElasticConstitutiveLaw3D" pn="Linear elastic beam" Type="Beam3D" Behaviour="Elastic"
StrainSize="1" ImplementedInApplication="StructuralMechanicsApplication" help="Linear elastic behaviour for beams"
Dimension="3D" LargeDeformation="False" RequiresLocalAxes="False" HybridType="False">
<inputs>
<parameter n="DENSITY" pn="Density" unit_magnitude="Density" units="kg/m^3" v="7850"/>
<parameter n="YOUNG_MODULUS" pn="Young Modulus" unit_magnitude="P" units="Pa" v="206.9e9" />
<parameter n="POISSON_RATIO" pn="Poisson Ratio" v="0.29"/>
<parameter n="CROSS_AREA" pn="Cross area" v="1.0" unit_magnitude="Area" units="m^2" />
<parameter n="TORSIONAL_INERTIA" pn="Torsional inertia" type="double" v="1.0" unit_magnitude="L^4" units="m^4" />
<parameter n="IT" pn="Torsional inertia" type="double" v="1.0" unit_magnitude="L^4" units="m^4" />
<parameter n="I22" pn="Inertia 22" type="double" v="1.0" unit_magnitude="L^4" units="m^4" />
<parameter n="I33" pn="Inertia 33" type="double" v="1.0" unit_magnitude="L^4" units="m^4" />
<parameter n="AREA_EFFECTIVE_Y" pn="Shear area" type="double" v="0.8" unit_magnitude="L^2" units="m^2" />
<parameter n="AREA_EFFECTIVE_Z" pn="Shear area" type="double" v="0.8" unit_magnitude="L^2" units="m^2" />
</inputs>
<outputs></outputs>
</CLaw>
Expand Down
61 changes: 50 additions & 11 deletions kratos.gid/apps/Structural/xml/Elements.xml
Original file line number Diff line number Diff line change
Expand Up @@ -438,11 +438,11 @@
<!--structural elements-->
<!--shell elements-->
<!--large displacements-->
<ElementItem n="ShellThinCorotationalElement" pn="Shell thin corotational" ov="surface" ImplementedInFile="shell_thin_element_3DxN.cpp" ImplementedInApplication="StructuralMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="3D" LocalSpaceDimension="2" RequiresLocalAxes="True" LargeDeformation="True" help="This element implements a corotational element for thin shells in a large displacements approach" ElementType="Shell" RotationDofs="True" AnalysisType="linear,non_linear">
<ElementItem n="ShellThickLinearElement" pn="Shell thick linear" ov="surface" ImplementedInFile="shell_thick_element_3DxN.cpp" ImplementedInApplication="StructuralMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="3D" LocalSpaceDimension="2" RequiresLocalAxes="True" LargeDeformation="False" help="This element implements a linear element for thick shells in a small displacements approach" ElementType="Shell" RotationDofs="True" AnalysisType="linear,non_linear">
<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Triangle" nodes="3" KratosName="ShellThinElementCorotational3D3N"/>
<item GeometryType="Quadrilateral" nodes="4" KratosName="ShellThinElementCorotational3D4N"/>
<item GeometryType="Triangle" nodes="3" KratosName="CSDSG3ThickShellLinearElement3D3N"/>
<item GeometryType="Quadrilateral" nodes="4" KratosName="MITCThickShellElement3D4N"/>
</TopologyFeatures>
<!-- here we add the block of features which we require from the constitutive law-->
<ConstitutiveLaw_FilterFeatures>
Expand Down Expand Up @@ -479,8 +479,46 @@
<ElementItem n="ShellThickCorotationalElement" pn="Shell thick corotational" ov="surface" ImplementedInFile="shell_thick_element_3DxN.cpp" ImplementedInApplication="StructuralMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="3D" LocalSpaceDimension="2" RequiresLocalAxes="True" LargeDeformation="True" help="This element implements a corotational element for thick shells in a large displacements approach" ElementType="Shell" RotationDofs="True" AnalysisType="linear,non_linear">
<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Triangle" nodes="3" KratosName="ShellThickElementCorotational3D3N"/>
<item GeometryType="Quadrilateral" nodes="4" KratosName="ShellThickElementCorotational3D4N"/>
<item GeometryType="Triangle" nodes="3" KratosName="CSDSG3ThickShellCorotationalElement3D3N"/>
<item GeometryType="Quadrilateral" nodes="4" KratosName="MITCThickShellCorotationalElement3D4N"/>
</TopologyFeatures>
<!-- here we add the block of features which we require from the constitutive law-->
<ConstitutiveLaw_FilterFeatures>
<filter field="Type" value="PlaneStress"/>
<filter field="Dimension" value="3D"/>
<filter field="StrainSize" value="6"/>
<filter field="HybridType" value="D-R"/>
</ConstitutiveLaw_FilterFeatures>
<!--define list of NodalConditions-->
<NodalConditions>
<NodalCondition n="DISPLACEMENT" />
<NodalCondition n="ROTATION" />
<NodalCondition n="CONTACT"/>
<NodalCondition n="CONTACT_SLAVE"/>
<NodalCondition n="VELOCITY" />
<NodalCondition n="ACCELERATION" />
<NodalCondition n="ANGULAR_VELOCITY"/>
<NodalCondition n="ANGULAR_ACCELERATION" />
</NodalConditions>
<inputs>
<parameter n="THICKNESS" pn="Thickness" v="1.0" unit_magnitude="L" units="m" />
</inputs>
<outputs>
<parameter n="SHELL_FORCE_GLOBAL" pn="Shell forces" v="false" />
<parameter n="SHELL_MOMENT_GLOBAL" pn="Shell moments" v="false" />
<parameter n="SHELL_STRESS_TOP_SURFACE_GLOBAL" pn="Stress - top surface" v="false" />
<parameter n="SHELL_STRESS_MIDDLE_SURFACE_GLOBAL" pn="Stress - mid surface" v="false" />
<parameter n="SHELL_STRESS_BOTTOM_SURFACE_GLOBAL" pn="Stress - bottom surface" v="false" />
<parameter n="VON_MISES_STRESS_TOP_SURFACE" pn="Von Mises stress - top surface" v="true" />
<parameter n="VON_MISES_STRESS_MIDDLE_SURFACE" pn="Von Mises stress - mid surface" v="true" />
<parameter n="VON_MISES_STRESS_BOTTOM_SURFACE" pn="Von Mises stress - bottom surface" v="true" />
</outputs>
</ElementItem>
<ElementItem n="ShellThinCorotationalElement" pn="Shell thin corotational" ov="surface" ImplementedInFile="shell_thin_element_3DxN.cpp" ImplementedInApplication="StructuralMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="3D" LocalSpaceDimension="2" RequiresLocalAxes="True" LargeDeformation="True" help="This element implements a corotational element for thin shells in a large displacements approach" ElementType="Shell" RotationDofs="True" AnalysisType="linear,non_linear">
<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Triangle" nodes="3" KratosName="ShellThinElementCorotational3D3N"/>
<item GeometryType="Quadrilateral" nodes="4" KratosName="ShellThinElementCorotational3D4N"/>
</TopologyFeatures>
<!-- here we add the block of features which we require from the constitutive law-->
<ConstitutiveLaw_FilterFeatures>
Expand Down Expand Up @@ -514,6 +552,7 @@
<parameter n="VON_MISES_STRESS_BOTTOM_SURFACE" pn="Von Mises stress - bottom surface" v="true" />
</outputs>
</ElementItem>

<!--membrane elements-->
<ElementItem n="PrestressedMembraneElement" pn="Membrane prestressed" ov="surface" ImplementedInFile="prestress_membrane_element.cpp" ImplementedInApplication="StructuralMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="3D" LocalSpaceDimension="2" RequiresLocalAxes="False" LargeDeformation="False" help="This element it implements a membrane structural model" RotationDofs="False" ElementType="Membrane" AnalysisType="non_linear">
<!--here we could add a list of all of the possible geometries-->
Expand Down Expand Up @@ -550,7 +589,7 @@
<!--beam elements-->
<ElementItem n="LinearBeamElement2D" pn="Beam small displacements" ov="line" ImplementedInFile="small_displacement_beam_element_3D2N.cpp" ImplementedInApplication="StructuralMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="2D" LocalSpaceDimension="1" RequiresLocalAxes="False" LargeDeformation="False" help="This element implements a small displacement timoshenko beam structural model" RotationDofs="True" ElementType="Beam" AnalysisType="linear,non_linear">
<TopologyFeatures>
<item GeometryType="Line" nodes="2" KratosName="CrLinearBeamElement2D2N"/>
<item GeometryType="Line" nodes="2" KratosName="LinearTimoshenkoBeamElement2D2N"/>
</TopologyFeatures>
<ConstitutiveLaw_FilterFeatures>
<filter field="Type" value="Beam2D"/>
Expand Down Expand Up @@ -596,7 +635,7 @@
</ElementItem>
<ElementItem n="LinearBeamElement3D" pn="Beam small displacements" ov="line" ImplementedInFile="small_displacement_beam_element_3D2N.cpp" ImplementedInApplication="StructuralMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="3D" LocalSpaceDimension="1" RequiresLocalAxes="True" LocalAxesAutomaticFunction="Structural::xml::AddLocalAxesToBeamElement" LargeDeformation="False" help="This element implements a small displacement timoshenko beam structural model" RotationDofs="True" ElementType="Beam" AnalysisType="linear,non_linear">
<TopologyFeatures>
<item GeometryType="Line" nodes="2" KratosName="CrLinearBeamElement3D2N"/>
<item GeometryType="Line" nodes="2" KratosName="LinearTimoshenkoBeamElement3D2N"/>
</TopologyFeatures>
<ConstitutiveLaw_FilterFeatures>
<filter field="Type" value="Beam3D"/>
Expand Down Expand Up @@ -644,7 +683,7 @@
<ElementItem n="TrussLinearElement2D" pn="Truss small displacements" ov="line" ImplementedInFile="truss_element_3D2N.cpp" ImplementedInApplication="StructuralMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="2D" LocalSpaceDimension="1" RequiresLocalAxes="False" LargeDeformation="False" help="This element implements a small displacements truss" RotationDofs="False" ElementType="Truss" AnalysisType="linear,non_linear">
<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Line" nodes="2" KratosName="TrussLinearElement3D2N"/>
<item GeometryType="Line" nodes="2" KratosName="LinearTrussElement2D2N"/>
</TopologyFeatures>
<!-- here we add the block of features which we require from the constitutive law-->
<ConstitutiveLaw_FilterFeatures>
Expand All @@ -668,7 +707,7 @@
<ElementItem n="TrussElement2D" pn="Truss large displacements" ov="line" ImplementedInFile="truss_element_3D2N.cpp" ImplementedInApplication="StructuralMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="2D" LocalSpaceDimension="1" RequiresLocalAxes="False" LargeDeformation="True" help="This element implements a large displacements truss" RotationDofs="False" ElementType="Truss" AnalysisType="non_linear">
<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Line" nodes="2" KratosName="TrussElement3D2N"/>
<item GeometryType="Line" nodes="2" KratosName="TotalLagrangianTrussElement2D2N"/>
</TopologyFeatures>
<!-- here we add the block of features which we require from the constitutive law-->
<ConstitutiveLaw_FilterFeatures>
Expand All @@ -692,7 +731,7 @@
<ElementItem n="TrussLinearElement3D" pn="Truss small displacements" ov="line" ImplementedInFile="truss_element_3D2N.cpp" ImplementedInApplication="StructuralMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="3D" LocalSpaceDimension="1" RequiresLocalAxes="False" LargeDeformation="False" help="This element implements a small displacements truss" RotationDofs="False" ElementType="Truss" AnalysisType="linear,non_linear">
<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Line" nodes="2" KratosName="TrussLinearElement3D2N"/>
<item GeometryType="Line" nodes="2" KratosName="LinearTrussElement3D2N"/>
</TopologyFeatures>
<!-- here we add the block of features which we require from the constitutive law-->
<ConstitutiveLaw_FilterFeatures>
Expand All @@ -716,7 +755,7 @@
<ElementItem n="TrussElement3D" pn="Truss large displacements" ov="line" ImplementedInFile="truss_element_3D2N.cpp" ImplementedInApplication="StructuralMechanicsApplication" MinimumKratosVersion="9000" WorkingSpaceDimension="3D" LocalSpaceDimension="1" RequiresLocalAxes="False" LargeDeformation="True" help="This element implements a large displacements truss" RotationDofs="False" ElementType="Truss" AnalysisType="non_linear">
<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Line" nodes="2" KratosName="TrussElement3D2N"/>
<item GeometryType="Line" nodes="2" KratosName="TotalLagrangianTrussElement3D2N"/>
</TopologyFeatures>
<!-- here we add the block of features which we require from the constitutive law-->
<ConstitutiveLaw_FilterFeatures>
Expand Down