Skip to content

Commit 014494c

Browse files
committed
Changes in PfemFluid
1 parent 92105ce commit 014494c

6 files changed

Lines changed: 10 additions & 553 deletions

File tree

kratos.gid/apps/PfemFluid/python/Erase--script.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,8 @@ def GetParallelSize():
4646

4747
# Import kratos core and applications
4848
import KratosMultiphysics
49-
import KratosMultiphysics.SolidMechanicsApplication as KratosSolid
5049
import KratosMultiphysics.ExternalSolversApplication as KratosSolvers
5150
import KratosMultiphysics.DelaunayMeshingApplication as KratosPfemg
52-
import KratosMultiphysics.ContactMechanicsApplication as KratosContact
53-
import KratosMultiphysics.PfemSolidMechanicsApplication as KratosPfemSolid
5451
import KratosMultiphysics.PfemFluidDynamicsApplication as KratosPfemFluid
5552

5653
######################################################################################
@@ -103,10 +100,6 @@ def GetParallelSize():
103100
# Add variables (always before importing the model part)
104101
solver.AddVariables()
105102

106-
# Add PfemSolidMechanicsApplication Variables
107-
import pfem_solid_variables
108-
pfem_solid_variables.AddVariables(main_model_part)
109-
110103
# Read model_part (note: the buffer_size is set here) (restart is read here)
111104
solver.ImportModelPart()
112105

kratos.gid/apps/PfemFluid/python/RunPFEM.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
import KratosMultiphysics.ExternalSolversApplication
33
import KratosMultiphysics.DelaunayMeshingApplication
44
import KratosMultiphysics.PfemFluidDynamicsApplication
5-
import KratosMultiphysics.SolidMechanicsApplication
65

76
from KratosMultiphysics.PfemFluidDynamicsApplication.pfem_fluid_dynamics_analysis import PfemFluidDynamicsAnalysis
87

kratos.gid/apps/PfemFluid/write/ProjectParameters.json

Lines changed: 2 additions & 151 deletions
Original file line numberDiff line numberDiff line change
@@ -117,144 +117,10 @@
117117
}
118118
]
119119
}
120-
},{
121-
"python_module" : "parametric_walls_process",
122-
"kratos_module" : "KratosMultiphysics.ContactMechanicsApplication",
123-
"help" : "This process applies parametric walls and search contact",
124-
"process_name" : "ParametricWallsProcess",
125-
"Parameters" : {
126-
"model_part_name" : "Solid Domain",
127-
"search_control_type" : "step",
128-
"search_frequency" : 1.0,
129-
"parametric_walls" : [
130-
{
131-
"python_module": "parametric_wall",
132-
"model_part_name" : "model_part_name",
133-
"rigid_body_settings":{
134-
"rigid_body_element_type": "TranslatoryRigidElement3D1N",
135-
"fixed_body": true,
136-
"compute_body_parameters": false,
137-
"rigid_body_model_part_name": "model_part_name",
138-
"rigid_body_parameters":{
139-
"center_of_gravity": [0.0 ,0.0, 0.0],
140-
"mass":0.0,
141-
"main_inertias": [0.0, 0.0, 0.0],
142-
"main_axes": [ [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0] ]
143-
}
144-
},
145-
"bounding_box_settings":{
146-
"kratos_module": "KratosMultiphysics.ContactMechanicsApplication",
147-
"bounding_box_type": "SpatialBoundingBox",
148-
"bounding_box_parameters":{
149-
"parameters_list":[],
150-
"velocity" : [0.0, 0.0, 0.0]
151-
}
152-
},
153-
"contact_search_settings":{
154-
"kratos_module": "KratosMultiphysics.ContactMechanicsApplication",
155-
"contact_search_type": "ParametricWallContactSearch",
156-
"contact_parameters":{
157-
"contact_condition_type": "PointContactCondition2D1N",
158-
"friction_law_type": "FrictionLaw",
159-
"kratos_module": "KratosMultiphysics.ContactMechanicsApplication",
160-
"variables_of_properties":{
161-
"FRICTION_ACTIVE": false,
162-
"MU_STATIC": 0.3,
163-
"MU_DYNAMIC": 0.2,
164-
"PENALTY_PARAMETER": 1000,
165-
"TANGENTIAL_PENALTY_RATIO": 0.1,
166-
"TAU_STAB": 1
167-
}
168-
}
169-
}
170-
}
171-
172-
]
173-
}
174-
},{
175-
"help" : "This process creates the rigid bodies of the model",
176-
"kratos_module": "KratosMultiphysics.ContactMechanicsApplication",
177-
"python_module": "rigid_bodies_process",
178-
"process_name" : "RigidBodyProcess",
179-
"Parameters" : {
180-
"model_part_name" : "Main_Domain",
181-
"rigid_bodies" : [
182-
{
183-
"python_module" : "rigid_body",
184-
"model_part_name": "Rigid_Body_Volume",
185-
"rigid_body_settings":{
186-
"rigid_body_element_type": "RigidBodyElement2D1N",
187-
"fixed_body": false,
188-
"compute_body_parameters": true,
189-
"rigid_body_model_part_name": "Rigid_Body_Volume",
190-
"rigid_body_parameters":{
191-
"center_of_gravity": [0,0,0],
192-
"mass": 0,
193-
"main_inertias": [0, 0, 0],
194-
"main_axes": [ [1,0,0], [0,1,0], [0,0,1] ]
195-
}
196-
}
197-
},
198-
{
199-
"python_module" : "rigid_body",
200-
"model_part_name": "Rigid_Body_Surface",
201-
"rigid_body_settings":{
202-
"rigid_body_element_type": "RigidBodyElement2D1N",
203-
"fixed_body": false,
204-
"compute_body_parameters": false,
205-
"rigid_body_model_part_name": "Rigid_Body_Surface",
206-
"rigid_body_parameters":{
207-
"center_of_gravity": [2,0,0],
208-
"mass": 1,
209-
"main_inertias": [1, 1, 1],
210-
"main_axes": [ [1,0,0], [0,1,0], [0,0,1] ]
211-
}
212-
}
213-
}
214-
]
215-
}
216-
},{
217-
"python_module" : "contact_domain_process",
218-
"kratos_module" : "KratosMultiphysics.ContactMechanicsApplication",
219-
"help" : "This process applies contact domain search by remeshing outer boundaries",
220-
"process_name" : "ContactDomainProcess",
221-
"Parameters" : {
222-
"model_part_name" : "model_part_name",
223-
"meshing_control_type" : "step",
224-
"meshing_frequency" : 1.0,
225-
"meshing_before_output" : true,
226-
"meshing_domains" : [
227-
{
228-
"python_module": "contact_domain",
229-
"model_part_name": "sub_model_part_name",
230-
"alpha_shape": 1.4,
231-
"offset_factor": 0.0,
232-
"meshing_strategy":{
233-
"python_module": "contact_meshing_strategy",
234-
"meshing_frequency": 0,
235-
"remesh": true,
236-
"constrained": false,
237-
"contact_parameters":{
238-
"contact_condition_type": "ContactDomainLM2DCondition",
239-
"friction_law_type": "FrictionLaw",
240-
"kratos_module": "KratosMultiphysics.ContactMechanicsApplication",
241-
"variables_of_properties":{
242-
"FRICTION_ACTIVE": false,
243-
"MU_STATIC": 0.3,
244-
"MU_DYNAMIC": 0.2,
245-
"PENALTY_PARAMETER": 1000,
246-
"TANGENTIAL_PENALTY_RATIO": 0.1,
247-
"TAU_STAB": 1
248-
}
249-
}
250-
},
251-
}
252-
]
253-
}
254120
}],
255121
"constraints_process_list" : [{
256122
"python_module" : "assign_value_to_vector_components_process",
257-
"kratos_module" : "KratosMultiphysics.SolidMechanicsApplication",
123+
"kratos_module" : "KratosMultiphysics.PfemFluidDynamicsApplication",
258124
"help" : "This process imposes a constraint",
259125
"process_name" : "AssignValueToVectorComponentsProcess",
260126
"Parameters" : {
@@ -268,7 +134,7 @@
268134
}],
269135
"loads_process_list" : [{
270136
"python_module" : "assign_vector_to_conditions_process",
271-
"kratos_module" : "KratosMultiphysics.SolidMechanicsApplication",
137+
"kratos_module" : "KratosMultiphysics.PfemFluidDynamicsApplication",
272138
"help" : "This process assigns a load value on conditions",
273139
"process_name" : "AssignVectorToConditionsProcess",
274140
"Parameters" : {
@@ -280,21 +146,6 @@
280146
"direction" : [0.0,-1.0,0.0]
281147
}
282148
}],
283-
"output_process_list" : [{
284-
"python_module" : "restart_process",
285-
"kratos_module" : "KratosMultiphysics.SolidMechanicsApplication",
286-
"help" : "This process writes restart files",
287-
"process_name" : "RestartProcess",
288-
"Parameters" : {
289-
"model_part_name" : "Main Model",
290-
"save_restart" : true,
291-
"restart_file_name" : "cutting_test_rigid_2D_json",
292-
"restart_file_label" : "step",
293-
"output_control_type" : "time",
294-
"output_frequency" : 0,
295-
"json_output" : false
296-
}
297-
}],
298149
"output_configuration" : {
299150
"result_file_configuration" : {
300151
"gidpost_flags" : {

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

Lines changed: 0 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -274,8 +274,6 @@ proc PfemFluid::write::GetPFEM_ProblemProcessList { } {
274274
} else {
275275
lappend resultList [GetPFEM_RemeshDict]
276276
}
277-
set contactDict [GetPFEM_ContactDict]
278-
if {[dict size $contactDict]} {lappend resultList $contactDict}
279277
return $resultList
280278
}
281279

@@ -294,62 +292,6 @@ proc PfemFluid::write::GetPFEM_ProcessList { } {
294292
return $resultList
295293
}
296294

297-
proc PfemFluid::write::GetPFEM_ContactDict { } {
298-
set contact_dict [dict create]
299-
set root [customlib::GetBaseRoot]
300-
set xp1 "[spdAux::getRoute "PFEMFLUID_Bodies"]/blockdata"
301-
set contact_list [list ]
302-
foreach body_node [$root selectNodes $xp1] {
303-
set contact [get_domnode_attribute [$body_node selectNodes ".//value\[@n='ContactStrategy'\]"] v]
304-
if {$contact ne "No contact strategy" && $contact ne "" && $contact ni $contact_list} {lappend contact_list $contact}
305-
}
306-
#W $contact_list
307-
set contact_domains [list ]
308-
foreach contact $contact_list {
309-
lappend contact_domains [PfemFluid::write::GetPfem_ContactProcessDict $contact]
310-
}
311-
if {[llength $contact_list]} {
312-
dict set contact_dict "python_module" "contact_domain_process"
313-
dict set contact_dict "kratos_module" "KratosMultiphysics.ContactMechanicsApplication"
314-
dict set contact_dict "help" "This process applies contact domain search by remeshing outer boundaries"
315-
dict set contact_dict "process_name" "ContactDomainProcess"
316-
set params [dict create]
317-
dict set params "model_part_name" "model_part_name"
318-
dict set params "meshing_control_type" "step"
319-
dict set params "meshing_frequency" 1.0
320-
dict set params "meshing_before_output" true
321-
dict set params "meshing_domains" $contact_domains
322-
dict set contact_dict "Parameters" $params
323-
}
324-
return $contact_dict
325-
}
326-
327-
proc PfemFluid::write::GetPfem_ContactProcessDict {contact_name} {
328-
set cont_dict [dict create]
329-
dict set cont_dict "python_module" "contact_domain"
330-
dict set cont_dict "model_part_name" "sub_model_part_name"
331-
dict set cont_dict "alpha_shape" 1.4
332-
dict set cont_dict "offset_factor" 0.0
333-
set mesh_strat [dict create]
334-
dict set mesh_strat "python_module" "contact_meshing_strategy"
335-
dict set mesh_strat "meshing_frequency" 0
336-
dict set mesh_strat "remesh" true
337-
dict set mesh_strat "constrained" false
338-
set contact_parameters [dict create]
339-
340-
dict set contact_parameters "contact_condition_type" "ContactDomainLM2DCondition"
341-
dict set contact_parameters "friction_law_type" "FrictionLaw"
342-
dict set contact_parameters "kratos_module" "KratosMultiphysics.ContactMechanicsApplication"
343-
set properties_dict [dict create]
344-
foreach prop [list FRICTION_ACTIVE MU_STATIC MU_DYNAMIC PENALTY_PARAMETER TANGENTIAL_PENALTY_RATIO TAU_STAB] {
345-
dict set properties_dict $prop [PfemFluid::write::GetContactProperty ${contact_name} $prop]
346-
}
347-
dict set contact_parameters "variables_of_properties" $properties_dict
348-
dict set mesh_strat "contact_parameters" $contact_parameters
349-
dict set cont_dict "meshing_domains" $mesh_strat
350-
return $cont_dict
351-
}
352-
353295
proc PfemFluid::write::GetBodiesWithContactList {contact_name} {
354296
set bodies_list [list ]
355297
set xp1 "[spdAux::getRoute "PFEMFLUID_Bodies"]/blockdata"

0 commit comments

Comments
 (0)