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
182 changes: 129 additions & 53 deletions kratos.gid/apps/PfemFluid/xml/Elements.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<!--updated lagrangian-->

<ElementItem n = "TwoStepUpdatedLagrangianVPFluidElement2D"
pn = "Fluid Updated Lagrangian"
pn = "Standard PFEM"
ImplementedInFile = "none.cpp"
kratos_module = "PfemFluidDynamicsApplication"
MinimumKratosVersion = "9000"
Expand Down Expand Up @@ -44,7 +44,7 @@


<ElementItem n = "TwoStepUpdatedLagrangianVPFluidElement3D"
pn = "Fluid Updated Lagrangian"
pn = "Standard PFEM"
ImplementedInFile = "none.cpp"
kratos_module = "PfemFluidDynamicsApplication"
MinimumKratosVersion = "9000"
Expand Down Expand Up @@ -81,9 +81,8 @@
</outputs>
</ElementItem>


<ElementItem n = "TwoStepUpdatedLagrangianVPFluidDEMcouplingElement2D"
pn = "Fluid Updated Lagrangian for DEM coupling"
<ElementItem n = "TwoStepUpdatedLagrangianVPFluidCutFemElement2D"
pn = "Cut-PFEM"
ImplementedInFile = "none.cpp"
kratos_module = "PfemFluidDynamicsApplication"
MinimumKratosVersion = "9000"
Expand All @@ -98,7 +97,7 @@

<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Triangle" nodes="3" KratosName="TwoStepUpdatedLagrangianVPFluidDEMcouplingElement2D"/>
<item GeometryType="Triangle" nodes="3" KratosName="TwoStepUpdatedLagrangianVPFluidCutFemElement2D"/>
</TopologyFeatures>

<!-- here we add the block of features which we require from the constitutive law-->
Expand All @@ -121,8 +120,8 @@
</ElementItem>


<ElementItem n = "TwoStepUpdatedLagrangianVPFluidDEMcouplingElement3D"
pn = "Fluid Updated Lagrangian for DEM coupling"
<ElementItem n = "TwoStepUpdatedLagrangianVPFluidCutFemElement3D"
pn = "Cut-PFEM"
ImplementedInFile = "none.cpp"
kratos_module = "PfemFluidDynamicsApplication"
MinimumKratosVersion = "9000"
Expand All @@ -137,7 +136,7 @@

<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Tetrahedra" nodes="4" KratosName="TwoStepUpdatedLagrangianVPFluidDEMcouplingElement3D"/>
<item GeometryType="Tetrahedra" nodes="4" KratosName="TwoStepUpdatedLagrangianVPFluidCutFemElement3D"/>
</TopologyFeatures>

<!-- here we add the block of features which we require from the constitutive law-->
Expand All @@ -159,11 +158,88 @@
</outputs>
</ElementItem>

<!--solid elements in velocities-->
<!--fluid elements-->
<!--updated lagrangian-->
<ElementItem n = "TwoStepUpdatedLagrangianVPNodallyIntegratedFluidElement2D"
pn = "Nodal-integration PFEM"
ImplementedInFile = "none.cpp"
kratos_module = "PfemFluidDynamicsApplication"
MinimumKratosVersion = "9000"

<ElementItem n = "TwoStepUpdatedLagrangianVPSolidElement2D"
pn = "Solid Updated Lagrangian VP"
WorkingSpaceDimension = "2D"
LocalSpaceDimension = "2"
RequiresLocalAxes = "False"
LargeDeformation = "False,True"
help = "To be written by..."
ElementType = "Fluid"
Dofs = "VELOCITY,PRESSURE">

<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Triangle" nodes="3" KratosName="TwoStepUpdatedLagrangianVPNodallyIntegratedFluidElement2D"/>
</TopologyFeatures>

<!-- here we add the block of features which we require from the constitutive law-->
<ConstitutiveLaw_FilterFeatures>
<filter field="kratos_module" value="PfemFluidDynamicsApplication"/>
<filter field="type" value="Fluid"/>
</ConstitutiveLaw_FilterFeatures>

<!--define list of NodalConditions-->
<NodalConditions>
<NodalCondition n="VELOCITY"/>
<NodalCondition n="PRESSURE"/>
</NodalConditions>

<inputs>
</inputs>

<outputs>
</outputs>
</ElementItem>


<ElementItem n ="TwoStepUpdatedLagrangianVPNodallyIntegratedFluidElement3D"
pn ="Nodal-integration PFEM"
ImplementedInFile ="none.cpp"
kratos_module ="PfemFluidDynamicsApplication"
MinimumKratosVersion ="9000"

WorkingSpaceDimension ="3D"
LocalSpaceDimension ="3"
RequiresLocalAxes ="False"
LargeDeformation ="False,True"
help ="To be written by..."
ElementType ="Fluid"
Dofs ="VELOCITY,PRESSURE">

<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Tetrahedra" nodes="4" KratosName="TwoStepUpdatedLagrangianVPNodallyIntegratedFluidElement3D"/>
</TopologyFeatures>

<!-- here we add the block of features which we require from the constitutive law-->
<ConstitutiveLaw_FilterFeatures>
<filter field="kratos_module" value="PfemFluidDynamicsApplication"/>
<filter field="type" value="Fluid"/>
</ConstitutiveLaw_FilterFeatures>

<!--define list of NodalConditions-->
<NodalConditions>
<NodalCondition n="VELOCITY"/>
<NodalCondition n="PRESSURE"/>
</NodalConditions>

<inputs>
</inputs>

<outputs>
</outputs>
</ElementItem>


<ElementItem n = "TwoStepUpdatedLagrangianVPFluidDEMcouplingElement2D"
pn = "PFEM for CFD-DEM"
ImplementedInFile = "none.cpp"
kratos_module = "PfemFluidDynamicsApplication"
MinimumKratosVersion = "9000"
Expand All @@ -173,27 +249,24 @@
RequiresLocalAxes = "False"
LargeDeformation = "False,True"
help = "To be written by..."
ElementType = "Solid"
ElementType = "Fluid"
Dofs = "VELOCITY,PRESSURE">

<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Triangle" nodes="3" KratosName="TwoStepUpdatedLagrangianVPSolidElement2D"/>
<item GeometryType="Triangle" nodes="3" KratosName="TwoStepUpdatedLagrangianVPFluidDEMcouplingElement2D"/>
</TopologyFeatures>

<!-- here we add the block of features which we require from the constitutive law-->
<ConstitutiveLaw_FilterFeatures>
<filter field="kratos_module" value="PfemFluidDynamicsApplication"/>
<filter field="type" value="Solid"/>
<filter field="type" value="Fluid"/>
</ConstitutiveLaw_FilterFeatures>

<!--define list of NodalConditions-->
<NodalConditions>
<NodalCondition n="VELOCITY"/>
<NodalCondition n="PRESSURE"/>
<NodalCondition n="PFEM_RIGID_BODY_ROTATION_2D"/>
<NodalCondition n="RIGID_BODY_ANGULAR_VELOCITY_2D"/>
<NodalCondition n="RIGID_BODY_ANGULAR_ACCELERATION_2D"/>
</NodalConditions>

<inputs>
Expand All @@ -204,8 +277,8 @@
</ElementItem>


<ElementItem n = "TwoStepUpdatedLagrangianVPSolidElement3D"
pn = "Solid Updated Lagrangian VP"
<ElementItem n = "TwoStepUpdatedLagrangianVPFluidDEMcouplingElement3D"
pn = "PFEM for CFD-DEM"
ImplementedInFile = "none.cpp"
kratos_module = "PfemFluidDynamicsApplication"
MinimumKratosVersion = "9000"
Expand All @@ -215,27 +288,24 @@
RequiresLocalAxes = "False"
LargeDeformation = "False,True"
help = "To be written by..."
ElementType = "Solid"
ElementType = "Fluid"
Dofs = "VELOCITY,PRESSURE">

<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Tetrahedra" nodes="4" KratosName="TwoStepUpdatedLagrangianVPSolidElement3D"/>
<item GeometryType="Tetrahedra" nodes="4" KratosName="TwoStepUpdatedLagrangianVPFluidDEMcouplingElement3D"/>
</TopologyFeatures>

<!-- here we add the block of features which we require from the constitutive law-->
<ConstitutiveLaw_FilterFeatures>
<filter field="kratos_module" value="PfemFluidDynamicsApplication"/>
<filter field="type" value="Solid"/>
<filter field="type" value="Fluid"/>
</ConstitutiveLaw_FilterFeatures>

<!--define list of NodalConditions-->
<NodalConditions>
<NodalCondition n="VELOCITY"/>
<NodalCondition n="PRESSURE"/>
<NodalCondition n="PFEM_RIGID_BODY_ROTATION_3D"/>
<NodalCondition n="RIGID_BODY_ANGULAR_VELOCITY_3D"/>
<NodalCondition n="RIGID_BODY_ANGULAR_ACCELERATION_3D"/>
</NodalConditions>

<inputs>
Expand All @@ -245,9 +315,12 @@
</outputs>
</ElementItem>

<!--solid elements in velocities-->
<!--updated lagrangian-->


<ElementItem n = "UpdatedLagrangianVSolidElement2D"
pn = "Solid Updated Lagrangian V"
pn = "Velocity FEM"
ImplementedInFile = "none.cpp"
kratos_module = "PfemFluidDynamicsApplication"
MinimumKratosVersion = "9000"
Expand Down Expand Up @@ -287,9 +360,8 @@
</outputs>
</ElementItem>


<ElementItem n = "UpdatedLagrangianVSolidElement3D"
pn = "Solid Updated Lagrangian V"
pn = "Velocity FEM"
ImplementedInFile = "none.cpp"
kratos_module = "PfemFluidDynamicsApplication"
MinimumKratosVersion = "9000"
Expand Down Expand Up @@ -330,11 +402,8 @@
</ElementItem>


<!--fluid elements-->
<!--updated lagrangian-->

<ElementItem n = "TwoStepUpdatedLagrangianVPNodallyIntegratedFluidElement2D"
pn = "Fluid Updated Lagrangian (nodal integration)"
<ElementItem n = "TwoStepUpdatedLagrangianVPSolidElement2D"
pn = "Velocity-Pressure FEM"
ImplementedInFile = "none.cpp"
kratos_module = "PfemFluidDynamicsApplication"
MinimumKratosVersion = "9000"
Expand All @@ -344,24 +413,27 @@
RequiresLocalAxes = "False"
LargeDeformation = "False,True"
help = "To be written by..."
ElementType = "Fluid"
ElementType = "Solid"
Dofs = "VELOCITY,PRESSURE">

<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Triangle" nodes="3" KratosName="TwoStepUpdatedLagrangianVPNodallyIntegratedFluidElement2D"/>
<item GeometryType="Triangle" nodes="3" KratosName="TwoStepUpdatedLagrangianVPSolidElement2D"/>
</TopologyFeatures>

<!-- here we add the block of features which we require from the constitutive law-->
<ConstitutiveLaw_FilterFeatures>
<filter field="kratos_module" value="PfemFluidDynamicsApplication"/>
<filter field="type" value="Fluid"/>
<filter field="type" value="Solid"/>
</ConstitutiveLaw_FilterFeatures>

<!--define list of NodalConditions-->
<NodalConditions>
<NodalCondition n="VELOCITY"/>
<NodalCondition n="PRESSURE"/>
<NodalCondition n="PFEM_RIGID_BODY_ROTATION_2D"/>
<NodalCondition n="RIGID_BODY_ANGULAR_VELOCITY_2D"/>
<NodalCondition n="RIGID_BODY_ANGULAR_ACCELERATION_2D"/>
</NodalConditions>

<inputs>
Expand All @@ -372,35 +444,38 @@
</ElementItem>


<ElementItem n ="TwoStepUpdatedLagrangianVPNodallyIntegratedFluidElement3D"
pn ="Fluid Updated Lagrangian (nodal integration)"
ImplementedInFile ="none.cpp"
kratos_module ="PfemFluidDynamicsApplication"
MinimumKratosVersion ="9000"
<ElementItem n = "TwoStepUpdatedLagrangianVPSolidElement3D"
pn = "Velocity-Pressure FEM"
ImplementedInFile = "none.cpp"
kratos_module = "PfemFluidDynamicsApplication"
MinimumKratosVersion = "9000"

WorkingSpaceDimension ="3D"
LocalSpaceDimension ="3"
RequiresLocalAxes ="False"
LargeDeformation ="False,True"
help ="To be written by..."
ElementType ="Fluid"
Dofs ="VELOCITY,PRESSURE">
WorkingSpaceDimension = "3D"
LocalSpaceDimension = "3"
RequiresLocalAxes = "False"
LargeDeformation = "False,True"
help = "To be written by..."
ElementType = "Solid"
Dofs = "VELOCITY,PRESSURE">

<!--here we could add a list of all of the possible geometries-->
<TopologyFeatures>
<item GeometryType="Tetrahedra" nodes="4" KratosName="TwoStepUpdatedLagrangianVPNodallyIntegratedFluidElement3D"/>
<item GeometryType="Tetrahedra" nodes="4" KratosName="TwoStepUpdatedLagrangianVPSolidElement3D"/>
</TopologyFeatures>

<!-- here we add the block of features which we require from the constitutive law-->
<ConstitutiveLaw_FilterFeatures>
<filter field="kratos_module" value="PfemFluidDynamicsApplication"/>
<filter field="type" value="Fluid"/>
<filter field="type" value="Solid"/>
</ConstitutiveLaw_FilterFeatures>

<!--define list of NodalConditions-->
<NodalConditions>
<NodalCondition n="VELOCITY"/>
<NodalCondition n="PRESSURE"/>
<NodalCondition n="PFEM_RIGID_BODY_ROTATION_3D"/>
<NodalCondition n="RIGID_BODY_ANGULAR_VELOCITY_3D"/>
<NodalCondition n="RIGID_BODY_ANGULAR_ACCELERATION_3D"/>
</NodalConditions>

<inputs>
Expand All @@ -411,11 +486,12 @@
</ElementItem>



<!--solid elements in velocities-->
<!--updated lagrangian-->

<ElementItem n = "TwoStepUpdatedLagrangianVPNodallyIntegratedSolidElement2D"
pn = "Solid Updated Lagrangian (nodal integration)"
pn = "Nodal-Integration Velocity FEM"
ImplementedInFile = "none.cpp"
kratos_module = "PfemFluidDynamicsApplication"
MinimumKratosVersion = "9000"
Expand Down Expand Up @@ -457,7 +533,7 @@


<ElementItem n = "TwoStepUpdatedLagrangianVPNodallyIntegratedSolidElement3D"
pn = "Solid Updated Lagrangian (nodal integration)"
pn = "Nodal-Integration Velocity FEM"
ImplementedInFile = "none.cpp"
kratos_module = "PfemFluidDynamicsApplication"
MinimumKratosVersion = "9000"
Expand Down
3 changes: 3 additions & 0 deletions kratos.gid/apps/PfemFluid/xml/Strategies.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
<parameter n="maximum_pressure_iterations" pn="Maximum of iterations" type="integer" v="10" help=""/>
<parameter n="velocity_tolerance" pn="Velocity tolerance" type="double" v="1e-4" help=""/>
<parameter n="pressure_tolerance" pn="Pressure tolerance " type="double" v="1e-4" help=""/>
<parameter n="penalty_coefficient" pn="Penalty coefficent (cut-PFEM)" type="double" v="0" help="This coefficient is only used in Cut-PFEM analysis"/>
<parameter n="echo_level" pn="Echo level" type="int" v="0" help=""/>
</parameter_list>

Expand Down Expand Up @@ -66,6 +67,7 @@
<parameter n="maximum_pressure_iterations" pn="Maximum of iterations" type="integer" v="10" help=""/>
<parameter n="velocity_tolerance" pn="Velocity tolerance" type="double" v="1e-4" help=""/>
<parameter n="pressure_tolerance" pn="Pressure tolerance " type="double" v="1e-4" help=""/>
<parameter n="penalty_coefficient" pn="Penalty coefficent (cut-PFEM)" type="double" v="0" help="This coefficient is only used in Cut-PFEM analysis"/>
<parameter n="echo_level" pn="Echo level" type="int" v="0" help=""/>
</parameter_list>

Expand Down Expand Up @@ -118,6 +120,7 @@
<parameter n="maximum_pressure_iterations" pn="Maximum of iterations" type="integer" v="10" help=""/>
<parameter n="velocity_tolerance" pn="Velocity tolerance" type="double" v="1e-4" help=""/>
<parameter n="pressure_tolerance" pn="Pressure tolerance " type="double" v="1e-4" help=""/>
<parameter n="penalty_coefficient" pn="Penalty coefficent (cut-PFEM)" type="double" v="0" help="This coefficient is only used in Cut-PFEM analysis"/>
<parameter n="echo_level" pn="Echo level" type="int" v="0" help=""/>
</parameter_list>

Expand Down