Skip to content

Commit b0054d9

Browse files
Merge pull request #971 from KratosMultiphysics/fluid/div-stable-element-p2-p1
[Fluid] Div-stable element P2-P1
2 parents 642229e + 4fa799b commit b0054d9

3 files changed

Lines changed: 72 additions & 7 deletions

File tree

kratos.gid/apps/Fluid/write/write.tcl

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -206,17 +206,28 @@ proc ::Fluid::write::writeBoundaryConditions { } {
206206
spdAux::MergeGroups $skin_group_name $groups
207207

208208
# Write the conditions
209+
lassign [write::_getConditionDefaultName] kname nnodes
210+
set last_condition_iterator [write::writeGroupConditionByUniqueId $skin_group_name $kname $nnodes 0 $::Fluid::write::FluidConditionMap]
211+
212+
# Clean
213+
GiD_Groups delete $skin_group_name
214+
}
215+
216+
proc ::Fluid::write::_getConditionDefaultName { } {
217+
set is_quadratic [write::isquadratic]
209218
if {$::Model::SpatialDimension eq "3D"} {
210-
set kname SurfaceCondition3D3N
219+
211220
set nnodes 3
221+
if {$is_quadratic} {set nnodes 6}
222+
223+
set kname SurfaceCondition3D${nnodes}N
212224
} {
213-
set kname LineCondition2D2N
214225
set nnodes 2
226+
if {$is_quadratic} {set nnodes 3}
227+
set kname LineCondition2D${nnodes}N
215228
}
216-
set last_condition_iterator [write::writeGroupConditionByUniqueId $skin_group_name $kname $nnodes 0 $::Fluid::write::FluidConditionMap]
217-
218-
# Clean
219-
GiD_Groups delete $skin_group_name
229+
230+
return [list $kname $nnodes]
220231
}
221232

222233
proc ::Fluid::write::writeDrags { } {

kratos.gid/apps/Fluid/xml/Elements.xml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,4 +270,58 @@
270270
</outputs>
271271
</ElementItem>
272272

273+
<ElementItem n="P2P12D" pn="P2-P1" ImplementedInFile="incompressible_navier_stokes_p2_p1_continuous.cpp" ImplementedInApplication="FluidDynamicsApplication" FormulationElementType="p2p1"
274+
MinimumKratosVersion="9000" WorkingSpaceDimension="2D" LocalSpaceDimension="2" RequiresLocalAxes="False"
275+
LargeDeformation="False" ElementType="Fluid" help="This element implements a P2-P1 incompressible Navier-Stokes element">
276+
<!--here we could add a list of all of the possible geometries-->
277+
<TopologyFeatures>
278+
<item GeometryType="Triangle" nodes="6" KratosName="Element2D6N"/>
279+
</TopologyFeatures>
280+
<!-- here we add the block of features which we require from the constitutive law-->
281+
282+
<ConstitutiveLaw_FilterFeatures>
283+
<filter field="App" value="Fluid"/>
284+
<filter field="ElementCompressibility" value="Incompressible"/>
285+
</ConstitutiveLaw_FilterFeatures>
286+
287+
<!--define list of NodalConditions-->
288+
<NodalConditions>
289+
<NodalCondition n="VELOCITY"/>
290+
<NodalCondition n="PRESSURE"/>
291+
</NodalConditions>
292+
293+
<inputs>
294+
</inputs>
295+
296+
<outputs>
297+
</outputs>
298+
</ElementItem>
299+
300+
<ElementItem n="P2P13D" pn="P2-P1" ImplementedInFile="incompressible_navier_stokes_p2_p1_continuous.cpp" ImplementedInApplication="FluidDynamicsApplication" FormulationElementType="p2p1"
301+
MinimumKratosVersion="9000" WorkingSpaceDimension="3D" LocalSpaceDimension="3" RequiresLocalAxes="False"
302+
LargeDeformation="False" ElementType="Fluid" help="This element implements a P2-P1 incompressible Navier-Stokes element">
303+
<!--here we could add a list of all of the possible geometries-->
304+
<TopologyFeatures>
305+
<item GeometryType="Tetrahedra" nodes="10" KratosName="Element3D10N"/>
306+
</TopologyFeatures>
307+
<!-- here we add the block of features which we require from the constitutive law-->
308+
309+
<ConstitutiveLaw_FilterFeatures>
310+
<filter field="App" value="Fluid"/>
311+
<filter field="ElementCompressibility" value="Incompressible"/>
312+
</ConstitutiveLaw_FilterFeatures>
313+
314+
<!--define list of NodalConditions-->
315+
<NodalConditions>
316+
<NodalCondition n="VELOCITY"/>
317+
<NodalCondition n="PRESSURE"/>
318+
</NodalConditions>
319+
320+
<inputs>
321+
</inputs>
322+
323+
<outputs>
324+
</outputs>
325+
</ElementItem>
326+
273327
</ElementList>

kratos.gid/apps/Fluid/xml/Strategies.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
<scheme n="bdf2" pn="BDF2" help="2nd order Backward Differenctiation Formula (BDF2) scheme for CFD problems." >
5151
<parameter_list></parameter_list>
5252
<element_filters>
53-
<filter field="n" value="QSVMS2D,QSVMS3D,DVMS2D,DVMS3D,FIC2D,FIC3D,WeaklyCompressible2D,WeaklyCompressible3D"/>
53+
<filter field="n" value="QSVMS2D,QSVMS3D,DVMS2D,DVMS3D,FIC2D,FIC3D,WeaklyCompressible2D,WeaklyCompressible3D,P2P12D,P2P13D"/>
5454
</element_filters>
5555
</scheme>
5656
</schemes>

0 commit comments

Comments
 (0)