KratosDemStructuresCouplingApplication 10.4.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. KratosMultiphysics/.libs/KratosDemStructuresCouplingApplication.so +0 -0
  2. KratosMultiphysics/.libs/libKratosDemStructuresCouplingCore.dylib +0 -0
  3. KratosMultiphysics/DemStructuresCouplingApplication/__init__.py +7 -0
  4. KratosMultiphysics/DemStructuresCouplingApplication/control_module_fem_dem_utility.py +109 -0
  5. KratosMultiphysics/DemStructuresCouplingApplication/control_module_process.py +29 -0
  6. KratosMultiphysics/DemStructuresCouplingApplication/dem_fem_coupling_algorithm.py +251 -0
  7. KratosMultiphysics/DemStructuresCouplingApplication/dem_fem_launcher.py +10 -0
  8. KratosMultiphysics/DemStructuresCouplingApplication/dem_main_script_ready_for_coupling_with_fem.py +29 -0
  9. KratosMultiphysics/DemStructuresCouplingApplication/dem_poromechanics_coupling_analysis_stage.py +424 -0
  10. KratosMultiphysics/DemStructuresCouplingApplication/dem_structures_coupling_gid_output.py +201 -0
  11. KratosMultiphysics/DemStructuresCouplingApplication/multiaxial_control_module_fem_dem_generalized_2d_utility.py +141 -0
  12. KratosMultiphysics/DemStructuresCouplingApplication/sand_production_post_process_tool.py +135 -0
  13. KratosMultiphysics/DemStructuresCouplingApplication/sp_dem_fem_coupling_algorithm.py +303 -0
  14. KratosMultiphysics/DemStructuresCouplingApplication/sp_dem_fem_launcher.py +10 -0
  15. KratosMultiphysics/DemStructuresCouplingApplication/sp_statistics.py +143 -0
  16. KratosMultiphysics/DemStructuresCouplingApplication/sp_statistics_2.py +139 -0
  17. KratosMultiphysics/DemStructuresCouplingApplication/stress_failure_check_utility.py +36 -0
  18. kratosdemstructurescouplingapplication-10.4.4.dist-info/METADATA +17 -0
  19. kratosdemstructurescouplingapplication-10.4.4.dist-info/RECORD +27 -0
  20. kratosdemstructurescouplingapplication-10.4.4.dist-info/WHEEL +6 -0
  21. kratosdemstructurescouplingapplication.dylibs/libKratosCore.dylib +4 -0
  22. kratosdemstructurescouplingapplication.dylibs/libKratosDEMCore.dylib +0 -0
  23. kratosdemstructurescouplingapplication.dylibs/libKratosPoromechanicsCore.dylib +0 -0
  24. kratosdemstructurescouplingapplication.dylibs/libKratosStructuralMechanicsCore.dylib +0 -0
  25. kratosdemstructurescouplingapplication.dylibs/libgcc_s.1.1.dylib +0 -0
  26. kratosdemstructurescouplingapplication.dylibs/libgomp.1.dylib +0 -0
  27. kratosdemstructurescouplingapplication.dylibs/libstdc++.6.dylib +0 -0
@@ -0,0 +1,143 @@
1
+ import matplotlib.pyplot as plt
2
+ import numpy as np
3
+ import h5py
4
+
5
+ # Read HDF5 file
6
+ file_name = 'sp_data.hdf5'
7
+ f = h5py.File(file_name, 'r')
8
+
9
+ # File Attributes
10
+ test_id = f.attrs['test_id']
11
+ internal_radius = f.attrs['internal_radius']
12
+ external_radius = f.attrs['external_radius']
13
+ interface_radius = f.attrs['interface_radius']
14
+ thickness = f.attrs['thickness']
15
+ volume = f.attrs['volume']
16
+ real_probe_height = f.attrs['real_probe_height']
17
+ target_porosity = f.attrs['target_porosity']
18
+ porosity = f.attrs['porosity']
19
+ density = f.attrs['density']
20
+
21
+ # General factors
22
+ height_factor = real_probe_height / thickness
23
+ porosity_factor = (1.0-target_porosity)/(1.0-porosity)
24
+ gram_factor = 1000.0
25
+
26
+ # Total initial mass
27
+ initial_radii = np.array(f['0'].get('radius'))
28
+ initial_radii_3 = np.power(initial_radii,3)
29
+ initial_masses = 4.0/3.0 * np.pi * density * gram_factor * height_factor * porosity_factor * initial_radii_3
30
+ initial_mass = np.sum(initial_masses)
31
+ # print(initial_mass)
32
+
33
+ # SP
34
+ all_times=[]
35
+ all_pressures=[]
36
+ all_sps=[]
37
+
38
+ # Time and external applied pressure
39
+ failure_step = 175 # TODO
40
+ max_step = 2*failure_step
41
+ max_step = failure_step
42
+ times = np.zeros(max_step+1)
43
+ for i in range(max_step):
44
+ times[i+1] = f[str(i)].attrs['time']
45
+ p_rate = 5e10 # TODO
46
+ psi_factor = 0.000145038
47
+ pressures = [p_rate*t*psi_factor for t in times] # Pressure in psi
48
+ t_f=times[failure_step]
49
+ # print(t_f)
50
+ # Estimated time of initial sanding. TODO
51
+ # t_is=times[90]
52
+ # t_is=times[130]
53
+ # print(t_is)
54
+
55
+ # Maximum number of intact bonds to consider spheres as SP
56
+ max_num_bonds = 6.0 # TODO: this should be an int
57
+
58
+ for numbonds in np.arange(0.0,max_num_bonds,1.0):
59
+ sps = np.zeros(max_step+1)
60
+ for i in range(max_step):
61
+
62
+ # Read datasets
63
+ all_radii = np.array(f[str(i)].get('radius'))
64
+ continuum_bonds = np.array(f[str(i)].get('current_continuum_bonds'))
65
+ xs = np.array(f[str(i)].get('x'))
66
+ ys = np.array(f[str(i)].get('y'))
67
+
68
+ # Separate internal and external spheres (weak region and strong region)
69
+ xs_2 = np.power(xs,2)
70
+ ys_2 = np.power(ys,2)
71
+ distance_2 = xs_2 + ys_2
72
+ # weak_radius = 0.5*(internal_radius+interface_radius)
73
+ # if times[i+1] < t_is:
74
+ # weak_radius = internal_radius
75
+ # else:
76
+ # weak_radius = internal_radius + (interface_radius-internal_radius)/(t_f-t_is)*(times[i+1]-t_is)
77
+ # TODO: count all the spheres in the domain
78
+ weak_radius = interface_radius
79
+ internal_radii = np.where(distance_2<weak_radius**2,all_radii,0.0) # spheres between inner wall (hole) and a certain radius (weak region)
80
+ external_radii = np.where(distance_2>=weak_radius**2,all_radii,0.0) # spheres between a certain radius and the interface wall (dem-fem wall) (strong region)
81
+
82
+ # Eliminate spheres that are free (SP), taking special care of those falling near the hole (internal spheres)
83
+ cont_internal_radii = np.where(continuum_bonds>numbonds,internal_radii,0.0) # We eliminate spheres with small number of bonds in the weak part of the probe
84
+ cont_external_radii = np.where(continuum_bonds>0.0,external_radii,0.0)
85
+
86
+ total_radii_3 = np.power(cont_internal_radii+cont_external_radii,3)
87
+
88
+ # Compute SP
89
+ masses = 4.0/3.0 * np.pi * density * gram_factor * height_factor * porosity_factor * total_radii_3
90
+ current_mass = np.sum(masses)
91
+ current_sp = initial_mass - current_mass
92
+ sps[i+1] = current_sp
93
+
94
+ all_times.append(times)
95
+ all_pressures.append(pressures)
96
+ all_sps.append(sps)
97
+
98
+ # Experiment data
99
+ with open('ctw16_experiment.txt') as exp_f:
100
+ exp_times=[]
101
+ exp_pressures=[]
102
+ exp_sps=[]
103
+ for line in exp_f:
104
+ fields = line.strip().split()
105
+ if fields:
106
+ exp_times.append(float(fields[0]))
107
+ exp_pressures.append(float(fields[1]))
108
+ exp_sps.append(float(fields[2]))
109
+ all_times.append(exp_times)
110
+ all_pressures.append(exp_pressures)
111
+ all_sps.append(exp_sps)
112
+
113
+ # Graphs
114
+ graph_name='sp_bonds_t.pdf'
115
+ graph_name='sp_bonds.pdf'
116
+
117
+ graph_labels=['SP up to 0 intact bonds',
118
+ 'SP up to 1 intact bonds',
119
+ 'SP up to 2 intact bonds',
120
+ 'SP up to 3 intact bonds',
121
+ 'SP up to 4 intact bonds',
122
+ 'SP up to 5 intact bonds',
123
+ 'ctw16 experiment',
124
+ ]
125
+
126
+ f = plt.figure()
127
+
128
+ for name, pressures, productions in zip(graph_labels, all_pressures, all_sps):
129
+ plt.plot(pressures, productions,label=name)
130
+ #p_is = p_rate*t_is*psi_factor
131
+ #plt.axvline(x=p_is, c='k', ls='--', label='estimated numerical initial sanding')
132
+
133
+ # for name, times, productions in zip(graph_labels, all_times, all_sps):
134
+ # plt.plot(times, productions,label=name)
135
+ # plt.axvline(x=t_is, c='k', ls='--', label='estimated numerical initial sanding')
136
+ # plt.axvline(x=t_f, c='k', ls=':', label='numerical collapse')
137
+
138
+ plt.legend(loc=2, prop={'size': 6})
139
+ plt.xlabel('p (psi)')
140
+ # plt.xlabel('Time (s)')
141
+ plt.ylabel('Sand Production (g)')
142
+ plt.title('SP depending on number of intact bonds')
143
+ f.savefig(graph_name, bbox_inches='tight')
@@ -0,0 +1,139 @@
1
+ import matplotlib.pyplot as plt
2
+ import numpy as np
3
+ import h5py
4
+
5
+ # Read HDF5 file
6
+ file_name = 'sp_data.hdf5'
7
+ f = h5py.File(file_name, 'r')
8
+
9
+ # File Attributes
10
+ test_id = f.attrs['test_id']
11
+ internal_radius = f.attrs['internal_radius']
12
+ external_radius = f.attrs['external_radius']
13
+ interface_radius = f.attrs['interface_radius']
14
+ thickness = f.attrs['thickness']
15
+ volume = f.attrs['volume']
16
+ real_probe_height = f.attrs['real_probe_height']
17
+ target_porosity = f.attrs['target_porosity']
18
+ porosity = f.attrs['porosity']
19
+ density = f.attrs['density']
20
+
21
+ # Time and external applied pressure
22
+ failure_step = 300 # TODO
23
+ max_step = failure_step
24
+ times = np.zeros(max_step)
25
+ for i in range(max_step):
26
+ times[i] = f[str(i)].attrs['time']
27
+
28
+ delta_probe_radius = (interface_radius-internal_radius)/5.0
29
+ # internal_radius_2 = internal_radius**2
30
+ probe_radius_1 = (internal_radius+delta_probe_radius*1)**2
31
+ probe_radius_2 = (internal_radius+delta_probe_radius*2)**2
32
+ probe_radius_3 = (internal_radius+delta_probe_radius*3)**2
33
+ probe_radius_4 = (internal_radius+delta_probe_radius*4)**2
34
+ interface_radius_2 = interface_radius**2
35
+ avg_num_intact_bonds_0 = np.zeros(max_step)
36
+ avg_num_intact_bonds_1 = np.zeros(max_step)
37
+ avg_num_intact_bonds_2 = np.zeros(max_step)
38
+ avg_num_intact_bonds_3 = np.zeros(max_step)
39
+ avg_num_intact_bonds_4 = np.zeros(max_step)
40
+
41
+ avg_num_broken_bonds_0 = np.zeros(max_step)
42
+ avg_num_broken_bonds_1 = np.zeros(max_step)
43
+ avg_num_broken_bonds_2 = np.zeros(max_step)
44
+ avg_num_broken_bonds_3 = np.zeros(max_step)
45
+ avg_num_broken_bonds_4 = np.zeros(max_step)
46
+
47
+ for i in range(max_step):
48
+
49
+ # Read datasets
50
+ continuum_bonds = np.array(f[str(i)].get('current_continuum_bonds'))
51
+ initial_continuum_bonds = np.array(f[str(i)].get('initial_continuum_bonds'))
52
+ xs = np.array(f[str(i)].get('x'))
53
+ ys = np.array(f[str(i)].get('y'))
54
+
55
+ xs_2 = np.power(xs,2)
56
+ ys_2 = np.power(ys,2)
57
+ distance_2 = xs_2 + ys_2
58
+
59
+ num_intact_bonds_0 = np.where(distance_2<probe_radius_1,continuum_bonds,-100.0)
60
+ index_to_delete = np.where(num_intact_bonds_0<0.0)[0]
61
+ num_intact_bonds_0 = np.delete(num_intact_bonds_0,index_to_delete)
62
+ num_init_bonds_0 = np.where(distance_2<probe_radius_1,initial_continuum_bonds,-100.0)
63
+ index_to_delete = np.where(num_init_bonds_0<0.0)[0]
64
+ num_init_bonds_0 = np.delete(num_init_bonds_0,index_to_delete)
65
+ num_broken_bonds_0 = num_init_bonds_0 - num_intact_bonds_0
66
+ avg_num_intact_bonds_0[i] = np.sum(num_intact_bonds_0)/len(num_intact_bonds_0)
67
+ avg_num_broken_bonds_0[i] = np.sum(num_broken_bonds_0)/len(num_broken_bonds_0)
68
+
69
+ num_intact_bonds_1 = np.where(distance_2>=probe_radius_1,continuum_bonds,-100)
70
+ num_intact_bonds_1 = np.where(distance_2<probe_radius_2,num_intact_bonds_1,-100)
71
+ index_to_delete = np.where(num_intact_bonds_1<0.0)[0]
72
+ num_intact_bonds_1 = np.delete(num_intact_bonds_1,index_to_delete)
73
+ num_init_bonds_1 = np.where(distance_2>=probe_radius_1,initial_continuum_bonds,-100)
74
+ num_init_bonds_1 = np.where(distance_2<probe_radius_2,num_init_bonds_1,-100)
75
+ index_to_delete = np.where(num_init_bonds_1<0.0)[0]
76
+ num_init_bonds_1 = np.delete(num_init_bonds_1,index_to_delete)
77
+ num_broken_bonds_1 = num_init_bonds_1 - num_intact_bonds_1
78
+ avg_num_intact_bonds_1[i] = np.sum(num_intact_bonds_1)/len(num_intact_bonds_1)
79
+ avg_num_broken_bonds_1[i] = np.sum(num_broken_bonds_1)/len(num_broken_bonds_1)
80
+
81
+ num_intact_bonds_2 = np.where(distance_2>=probe_radius_2,continuum_bonds,-100)
82
+ num_intact_bonds_2 = np.where(distance_2<probe_radius_3,num_intact_bonds_2,-100)
83
+ index_to_delete = np.where(num_intact_bonds_2<0.0)[0]
84
+ num_intact_bonds_2 = np.delete(num_intact_bonds_2,index_to_delete)
85
+ num_init_bonds_2 = np.where(distance_2>=probe_radius_2,initial_continuum_bonds,-100)
86
+ num_init_bonds_2 = np.where(distance_2<probe_radius_3,num_init_bonds_2,-100)
87
+ index_to_delete = np.where(num_init_bonds_2<0.0)[0]
88
+ num_init_bonds_2 = np.delete(num_init_bonds_2,index_to_delete)
89
+ num_broken_bonds_2 = num_init_bonds_2 - num_intact_bonds_2
90
+ avg_num_intact_bonds_2[i] = np.sum(num_intact_bonds_2)/len(num_intact_bonds_2)
91
+ avg_num_broken_bonds_2[i] = np.sum(num_broken_bonds_2)/len(num_broken_bonds_2)
92
+
93
+ num_intact_bonds_3 = np.where(distance_2>=probe_radius_3,continuum_bonds,-100)
94
+ num_intact_bonds_3 = np.where(distance_2<probe_radius_4,num_intact_bonds_3,-100)
95
+ index_to_delete = np.where(num_intact_bonds_3<0.0)[0]
96
+ num_intact_bonds_3 = np.delete(num_intact_bonds_3,index_to_delete)
97
+ num_init_bonds_3 = np.where(distance_2>=probe_radius_3,initial_continuum_bonds,-100)
98
+ num_init_bonds_3 = np.where(distance_2<probe_radius_4,num_init_bonds_3,-100)
99
+ index_to_delete = np.where(num_init_bonds_3<0.0)[0]
100
+ num_init_bonds_3 = np.delete(num_init_bonds_3,index_to_delete)
101
+ num_broken_bonds_3 = num_init_bonds_3 - num_intact_bonds_3
102
+ avg_num_intact_bonds_3[i] = np.sum(num_intact_bonds_3)/len(num_intact_bonds_3)
103
+ avg_num_broken_bonds_3[i] = np.sum(num_broken_bonds_3)/len(num_broken_bonds_3)
104
+
105
+ num_intact_bonds_4 = np.where(distance_2>probe_radius_4,continuum_bonds,-100.0)
106
+ index_to_delete = np.where(num_intact_bonds_4<0.0)[0]
107
+ num_intact_bonds_4 = np.delete(num_intact_bonds_4,index_to_delete)
108
+ num_init_bonds_4 = np.where(distance_2>probe_radius_4,initial_continuum_bonds,-100.0)
109
+ index_to_delete = np.where(num_init_bonds_4<0.0)[0]
110
+ num_init_bonds_4 = np.delete(num_init_bonds_4,index_to_delete)
111
+ num_broken_bonds_4 = num_init_bonds_4 - num_intact_bonds_4
112
+ avg_num_intact_bonds_4[i] = np.sum(num_intact_bonds_4)/len(num_intact_bonds_4)
113
+ avg_num_broken_bonds_4[i] = np.sum(num_broken_bonds_4)/len(num_broken_bonds_4)
114
+
115
+
116
+ # Graphs
117
+ fig1, axs1 = plt.subplots(3, 2, figsize=(7, 7))
118
+
119
+ graph_name='average_number_intact_bonds_probe_radius.pdf'
120
+
121
+ axs1[0,0].plot(times,avg_num_intact_bonds_0)
122
+ axs1[1,0].plot(times,avg_num_intact_bonds_1)
123
+ axs1[2,0].plot(times,avg_num_intact_bonds_2)
124
+ axs1[0,1].plot(times,avg_num_intact_bonds_3)
125
+ axs1[1,1].plot(times,avg_num_intact_bonds_4)
126
+
127
+ fig1.savefig(graph_name)
128
+
129
+ fig2, axs2 = plt.subplots(3, 2, figsize=(7, 7))
130
+
131
+ graph_name='average_number_broken_bonds_probe_radius.pdf'
132
+
133
+ axs2[0,0].plot(times,avg_num_broken_bonds_0)
134
+ axs2[1,0].plot(times,avg_num_broken_bonds_1)
135
+ axs2[2,0].plot(times,avg_num_broken_bonds_2)
136
+ axs2[0,1].plot(times,avg_num_broken_bonds_3)
137
+ axs2[1,1].plot(times,avg_num_broken_bonds_4)
138
+
139
+ fig2.savefig(graph_name)
@@ -0,0 +1,36 @@
1
+ import KratosMultiphysics
2
+ import KratosMultiphysics.DemStructuresCouplingApplication as DemFem
3
+
4
+ class StressFailureCheckUtility():
5
+ def __init__(self, model_part, test_number):
6
+
7
+ if not test_number:
8
+ return
9
+
10
+ self.model_part = model_part
11
+
12
+ if test_number == 1: # CTW16
13
+ minimum_radius = 0.00381
14
+ maximum_radius = 0.01381 #0.00501
15
+ elif test_number == 2: # CTW10
16
+ minimum_radius = 0.0127
17
+ maximum_radius = 0.0139
18
+ else: # Blind test
19
+ minimum_radius = 0.0381
20
+ maximum_radius = 0.0393
21
+
22
+ self.settings = KratosMultiphysics.Parameters( """
23
+ {
24
+ "cylinder_center": [0.0,0.0,0.0]
25
+ } """ )
26
+
27
+ self.settings.AddEmptyValue("min_radius")
28
+ self.settings["min_radius"].SetDouble(minimum_radius)
29
+ self.settings.AddEmptyValue("max_radius")
30
+ self.settings["max_radius"].SetDouble(maximum_radius)
31
+
32
+ self.utility = DemFem.StressFailureCheckUtilities(self.model_part, self.settings)
33
+
34
+ def ExecuteFinalizeSolutionStep(self):
35
+
36
+ self.utility.ExecuteFinalizeSolutionStep()
@@ -0,0 +1,17 @@
1
+ Metadata-Version: 2.5
2
+ Name: KratosDemStructuresCouplingApplication
3
+ Version: 10.4.4
4
+ Summary: KRATOS Multiphysics ("Kratos") is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
5
+ Author-email: Kratos Team <kratos@listas.cimne.upc.edu>
6
+ License: BSD-4-Clause
7
+ Classifier: Programming Language :: C++
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Topic :: Scientific/Engineering
10
+ Requires-Python: >=3.8
11
+ Requires-Dist: kratosdemapplication==10.4.4
12
+ Requires-Dist: kratosmultiphysics==10.4.4
13
+ Requires-Dist: kratosporomechanicsapplication==10.4.4
14
+ Requires-Dist: kratosstructuralmechanicsapplication==10.4.4
15
+ Description-Content-Type: text/markdown
16
+
17
+ ## DEM-Structures Coupling Application
@@ -0,0 +1,27 @@
1
+ KratosMultiphysics/DemStructuresCouplingApplication/dem_fem_coupling_algorithm.py,sha256=7IDDCeDRlbtail89L0IZH3NBhxuR6sBdRUCA3Ir06d0,13360
2
+ KratosMultiphysics/DemStructuresCouplingApplication/sand_production_post_process_tool.py,sha256=Bap4FcD41gCo2UTDcDPmVDUMjQprs1aZVnzdOEM_Fjw,7151
3
+ KratosMultiphysics/DemStructuresCouplingApplication/dem_structures_coupling_gid_output.py,sha256=6EFyVd8cWJQmthpKRpjsomqYMTQskW4WJbB3Zp6Z4Fw,8749
4
+ KratosMultiphysics/DemStructuresCouplingApplication/__init__.py,sha256=yBBXD5CRVs_ZpazcqKkGfZagku3aqOJo07uBLLMKa8k,308
5
+ KratosMultiphysics/DemStructuresCouplingApplication/sp_statistics.py,sha256=hzFLbpvmFjEVXLYY0rg0iubBVlQdoUJLvwsY3_xF4UU,5052
6
+ KratosMultiphysics/DemStructuresCouplingApplication/dem_poromechanics_coupling_analysis_stage.py,sha256=E4_8t9dIWRKnHzxUHaWxWo21Hxpb6Fm9dduPp1ftrQI,24071
7
+ KratosMultiphysics/DemStructuresCouplingApplication/stress_failure_check_utility.py,sha256=O648a86VVioFDlGW6p025bEofGSc6lRQ3lPXPw-JkOw,1140
8
+ KratosMultiphysics/DemStructuresCouplingApplication/multiaxial_control_module_fem_dem_generalized_2d_utility.py,sha256=6aXqVXZACNWu8vfCqzZ-ielD4E2OxLWTYfAw3ARUczg,6652
9
+ KratosMultiphysics/DemStructuresCouplingApplication/sp_dem_fem_launcher.py,sha256=qVjl6yo3D6u9h9RFd4EFnnXc59Kyya__39ExQrvJFSc,389
10
+ KratosMultiphysics/DemStructuresCouplingApplication/dem_main_script_ready_for_coupling_with_fem.py,sha256=u_YJ0dmcWYze8YB42GX1Zi2ZJRcC-B8M2KwFF4OljhU,1114
11
+ KratosMultiphysics/DemStructuresCouplingApplication/sp_dem_fem_coupling_algorithm.py,sha256=wVO6mSRUJEHLiHwfPQgoEOpYCriF3SW__H9XVXT1IG4,15991
12
+ KratosMultiphysics/DemStructuresCouplingApplication/sp_statistics_2.py,sha256=ggqH79yBPaHqgKREbwwp44BcgtycG7pG_FTR77ZdQ4A,6398
13
+ KratosMultiphysics/DemStructuresCouplingApplication/control_module_fem_dem_utility.py,sha256=4kFvdo_E230dsQ2eQCTOIuPms-_fblyRlodzLGFxL5c,4825
14
+ KratosMultiphysics/DemStructuresCouplingApplication/dem_fem_launcher.py,sha256=RWW69NOz6fMY-eZGFUVeXA4hZc7anPqT7xh5LJqP6oA,382
15
+ KratosMultiphysics/DemStructuresCouplingApplication/control_module_process.py,sha256=obzmvT_ssEvG5h8Y6u_ilprOKxhjssLpVk-Y735zYdc,1358
16
+ KratosMultiphysics/.libs/libKratosDemStructuresCouplingCore.dylib,sha256=raV8uRCZ13tbyq_4jzVlOf8g29Wd0vAb6XSvGTXsPys,2494592
17
+ KratosMultiphysics/.libs/KratosDemStructuresCouplingApplication.so,sha256=RJo8KysypkVpUwUthpFajwFmXBwOTok-EwskrRRaIMg,2226880
18
+ kratosdemstructurescouplingapplication-10.4.4.dist-info/RECORD,,
19
+ kratosdemstructurescouplingapplication-10.4.4.dist-info/WHEEL,sha256=QX0UaoWXQIAv8vp5R3do793urekDoJdJRoGCk8nXIBY,115
20
+ kratosdemstructurescouplingapplication-10.4.4.dist-info/METADATA,sha256=qFboNEJQJ7wBjnUwXeVJwS7yog4yP61rg-XVBVhcYWE,882
21
+ kratosdemstructurescouplingapplication.dylibs/libstdc++.6.dylib,sha256=Evj6w_OS_5KZkCtzPWv2krwVowjlzK5MLjAxRd0k8Gc,3403264
22
+ kratosdemstructurescouplingapplication.dylibs/libKratosStructuralMechanicsCore.dylib,sha256=Qb8OCjNNRNzZkunYM8VNCKhDvseac40mhJm7ogg68yY,21304288
23
+ kratosdemstructurescouplingapplication.dylibs/libKratosDEMCore.dylib,sha256=GS5_Y5GGPYEINWpXLXPln-6lplVdp6_RNtUxcpJfJW0,9988256
24
+ kratosdemstructurescouplingapplication.dylibs/libKratosCore.dylib,sha256=4ezGluhB6_qb9DnuWJCmX2VtpS9wWe16aOe9HLXVMSo,63629792
25
+ kratosdemstructurescouplingapplication.dylibs/libKratosPoromechanicsCore.dylib,sha256=LQQiPBK9v22upHeTQgul2dXFTX1gygPU7R584JD6zr0,15479760
26
+ kratosdemstructurescouplingapplication.dylibs/libgcc_s.1.1.dylib,sha256=LEUPpUC5mgEGvZcGWJjec9KZLBW-qoyUL1QxmuVKXDw,219232
27
+ kratosdemstructurescouplingapplication.dylibs/libgomp.1.dylib,sha256=uQnW1i3Whh3qhRZgpBI1xCtHg5C5iHGCybc19JwuAGs,438880
@@ -0,0 +1,6 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.4
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+ Generator: delocate 0.13.0
6
+
@@ -0,0 +1,4 @@
1
+ [diffend] Oversized file quarantined before diffing.
2
+ name: kratosdemstructurescouplingapplication.dylibs/libKratosCore.dylib
3
+ size: 63629792 bytes
4
+ sha256: e1ecc696e841ebfa9bf439ee5890a65f656da52f7059ed7a68e7bd1cb5d5312a