KratosSystemIdentificationApplication 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/KratosSystemIdentificationApplication.so +0 -0
  2. KratosMultiphysics/.libs/libKratosSystemIdentificationCore.dylib +0 -0
  3. KratosMultiphysics/SystemIdentificationApplication/__init__.py +13 -0
  4. KratosMultiphysics/SystemIdentificationApplication/controls/data_values_control.py +210 -0
  5. KratosMultiphysics/SystemIdentificationApplication/controls/material_properties_control.py +212 -0
  6. KratosMultiphysics/SystemIdentificationApplication/convergence_criteria/sensor_error.py +93 -0
  7. KratosMultiphysics/SystemIdentificationApplication/processes/sensor_output_process.py +83 -0
  8. KratosMultiphysics/SystemIdentificationApplication/python_registry_lists.py +9 -0
  9. KratosMultiphysics/SystemIdentificationApplication/responses/damage_detection_response.py +190 -0
  10. KratosMultiphysics/SystemIdentificationApplication/responses/pressure_detection_response.py +20 -0
  11. KratosMultiphysics/SystemIdentificationApplication/responses/temperature_detection_response.py +20 -0
  12. KratosMultiphysics/SystemIdentificationApplication/sensor_generator_analysis.py +130 -0
  13. KratosMultiphysics/SystemIdentificationApplication/sensor_io/sensor_model_part_controller.py +58 -0
  14. KratosMultiphysics/SystemIdentificationApplication/sensor_sensitivity_solvers/response_sensitivity_analysis.py +41 -0
  15. KratosMultiphysics/SystemIdentificationApplication/sensor_sensitivity_solvers/response_sensitivity_interface.py +34 -0
  16. KratosMultiphysics/SystemIdentificationApplication/sensor_sensitivity_solvers/sensor_sensitivity_adjoint_static_solver.py +50 -0
  17. KratosMultiphysics/SystemIdentificationApplication/sensor_sensitivity_solvers/system_identification_static_analysis.py +52 -0
  18. KratosMultiphysics/SystemIdentificationApplication/utilities/data_utils.py +67 -0
  19. KratosMultiphysics/SystemIdentificationApplication/utilities/sensor_utils.py +196 -0
  20. KratosMultiphysics/SystemIdentificationApplication/utilities/tensor_adaptor_utils.py +63 -0
  21. kratossystemidentificationapplication-10.4.4.dist-info/METADATA +11 -0
  22. kratossystemidentificationapplication-10.4.4.dist-info/RECORD +27 -0
  23. kratossystemidentificationapplication-10.4.4.dist-info/WHEEL +6 -0
  24. kratossystemidentificationapplication.dylibs/libKratosCore.dylib +4 -0
  25. kratossystemidentificationapplication.dylibs/libgcc_s.1.1.dylib +0 -0
  26. kratossystemidentificationapplication.dylibs/libgomp.1.dylib +0 -0
  27. kratossystemidentificationapplication.dylibs/libstdc++.6.dylib +0 -0
@@ -0,0 +1,67 @@
1
+ import typing
2
+
3
+ import KratosMultiphysics as Kratos
4
+ import KratosMultiphysics.SystemIdentificationApplication as KratosSI
5
+
6
+ SupportedVariableUnionType = typing.Union[
7
+ Kratos.BoolVariable,
8
+ Kratos.IntegerVariable,
9
+ Kratos.DoubleVariable,
10
+ Kratos.StringVariable,
11
+ Kratos.Array1DVariable3,
12
+ Kratos.Array1DVariable4,
13
+ Kratos.Array1DVariable6,
14
+ Kratos.Array1DVariable9,
15
+ Kratos.VectorVariable
16
+ ]
17
+
18
+ SupportedValueUnionType = typing.Union[
19
+ bool,
20
+ int,
21
+ float,
22
+ str,
23
+ Kratos.Array3,
24
+ Kratos.Array4,
25
+ Kratos.Array6,
26
+ Kratos.Array9,
27
+ Kratos.Vector
28
+ ]
29
+
30
+
31
+ def GetNameToCSVString(name: str, kratos_value: SupportedValueUnionType) -> str:
32
+ if type(kratos_value) in [bool, int, float, str]:
33
+ return name
34
+ elif type(kratos_value) in [Kratos.Array3, Kratos.Array4, Kratos.Array6, Kratos.Array9, Kratos.Vector]:
35
+ return ",".join([f"{name}_{i}" for i in range(kratos_value.Size())])
36
+ else:
37
+ raise RuntimeError(f"Unsupported kratos_value type = {type(kratos_value)} with name = {name} and kratos_value = {kratos_value}.")
38
+
39
+ def GetKratosValueToPythonValueConverter(kratos_value: SupportedValueUnionType) -> 'typing.Callable[[SupportedValueUnionType], typing.Union[bool, int, float, str, list[float]]]':
40
+ if type(kratos_value) in [bool, int, float, str]:
41
+ return lambda x: x
42
+ elif type(kratos_value) in [Kratos.Array3, Kratos.Array4, Kratos.Array6, Kratos.Array9, Kratos.Vector]:
43
+ return lambda x: [v for v in x]
44
+ else:
45
+ raise RuntimeError(f"Unsupported kratos_value type = {type(kratos_value)} with kratos_value = {kratos_value}.")
46
+
47
+ def GetKratosValueToCSVStringConverter(kratos_value: SupportedValueUnionType) -> 'typing.Callable[[SupportedValueUnionType], str]':
48
+ if type(kratos_value) in [bool, int, float, str]:
49
+ return lambda x: str(x)
50
+ elif type(kratos_value) in [Kratos.Array3, Kratos.Array4, Kratos.Array6, Kratos.Array9, Kratos.Vector]:
51
+ return lambda x: ",".join([str(v) for v in x])
52
+ else:
53
+ raise RuntimeError(f"Unsupported kratos_value type = {type(kratos_value)} with kratos_value = {kratos_value}.")
54
+
55
+ def GetParameterToKratosValuesConverter(params: Kratos.Parameters) -> 'typing.Callable[[Kratos.Parameters], SupportedValueUnionType]':
56
+ if params.IsVector():
57
+ return lambda x: x.GetVector()
58
+ elif params.IsBool():
59
+ return lambda x: x.GetBool()
60
+ elif params.IsInt():
61
+ return lambda x: x.GetInt()
62
+ elif params.IsDouble():
63
+ return lambda x: x.GetDouble()
64
+ elif params.IsString():
65
+ return lambda x: x.GetString()
66
+ else:
67
+ raise RuntimeError(f"Unsupported parameters type = {params}.")
@@ -0,0 +1,196 @@
1
+ import typing
2
+ from pathlib import Path
3
+ import math, numpy
4
+
5
+ import KratosMultiphysics as Kratos
6
+ import KratosMultiphysics.OptimizationApplication as KratosOA
7
+ import KratosMultiphysics.SystemIdentificationApplication as KratosSI
8
+ from KratosMultiphysics.SystemIdentificationApplication.utilities.data_utils import SupportedValueUnionType
9
+ from KratosMultiphysics.SystemIdentificationApplication.utilities.data_utils import SupportedVariableUnionType
10
+ from KratosMultiphysics.SystemIdentificationApplication.utilities.data_utils import GetParameterToKratosValuesConverter
11
+ from KratosMultiphysics.SystemIdentificationApplication.utilities.data_utils import GetKratosValueToCSVStringConverter
12
+ from KratosMultiphysics.SystemIdentificationApplication.utilities.data_utils import GetNameToCSVString
13
+ from KratosMultiphysics.OptimizationApplication.utilities.component_data_view import ComponentDataView
14
+
15
+ def CreateSensors(sensor_model_part: Kratos.ModelPart, domain_model_part: Kratos.ModelPart, list_of_parameters: 'list[Kratos.Parameters]') -> 'list[KratosSI.Sensors.Sensor]':
16
+ """Create list of sensors from given parameters.
17
+
18
+ This creates a list of sensors from given list of parameters. Each parameter
19
+ corresponds to one settings set for one sensor.
20
+
21
+ Args:
22
+ sensor_model_part (Kratos.ModelPart): Model part to which the sensors will be stored.
23
+ domain_model_part (Kratos.ModelPart): Model part on which the sensors will be located.
24
+ list_of_parameters (list[Kratos.Parameters]): List of parameters.
25
+
26
+ Returns:
27
+ list[KratosSI.Sensors.Sensor]: List of sensors generated.
28
+ """
29
+ if sensor_model_part.NumberOfNodes() != 0:
30
+ raise RuntimeError(f"The sensor model part \"{sensor_model_part.FullName()}\" is not empty.")
31
+
32
+ dict_of_sensor_types: 'dict[str, typing.Type[KratosSI.Sensors.Sensor]]' = {}
33
+ for sensor_type_name in dir(KratosSI.Sensors):
34
+ sensor_type = getattr(KratosSI.Sensors, sensor_type_name)
35
+ try:
36
+ if issubclass(sensor_type, KratosSI.Sensors.Sensor) and hasattr(sensor_type, "Create"):
37
+ dict_of_sensor_types[Kratos.StringUtilities.ConvertCamelCaseToSnakeCase(sensor_type_name)] = sensor_type
38
+ except:
39
+ pass
40
+
41
+ list_of_sensors: 'list[KratosSI.Sensors.Sensor]' = []
42
+ for parameters in list_of_parameters:
43
+ if not parameters.Has("type"):
44
+ raise RuntimeError(f"The sensor parameters does not contain \"type\".")
45
+ sensor_type_name = parameters["type"].GetString()
46
+
47
+ if not sensor_type_name in dict_of_sensor_types.keys():
48
+ raise RuntimeError(f"Unsupported sensor type = \"{sensor_type_name}\" requested. Followings are supported:\n\t" + "\n\t".join(dict_of_sensor_types.keys()))
49
+
50
+ sensor: KratosSI.Sensors.Sensor = dict_of_sensor_types[sensor_type_name].Create(domain_model_part, sensor_model_part, len(list_of_sensors) + 1, parameters)
51
+ list_of_sensors.append(sensor)
52
+
53
+ return list_of_sensors
54
+
55
+ def PrintSensorListToCSV(output_file_name: Path, list_of_sensors: 'list[KratosSI.Sensors.Sensor]', list_of_sensor_properties: 'list[str]') -> None:
56
+ """Writes data in the list_of_sensors to CSV file.
57
+
58
+ This method writes data from all the list_of_sensors to the CSV file. The columns of the
59
+ CSV is determined by list_of_sensor_properties.
60
+
61
+ Args:
62
+ output_file_name (Path): CSV file name (including the .csv extension).
63
+ list_of_sensors (list[Sensor]): List of sensors.
64
+ list_of_sensor_properties (list[str]): List of columns to write.
65
+ """
66
+ number_of_sensor_views = len(list_of_sensors)
67
+
68
+ # do nothing if number of clusters is zero
69
+ if number_of_sensor_views == 0:
70
+ return
71
+
72
+ # create output path
73
+ output_file_name.parent.mkdir(exist_ok=True, parents=True)
74
+
75
+ with open(str(output_file_name), "w") as file_output:
76
+ # print the headers
77
+ first_sensor = list_of_sensors[0]
78
+
79
+ # write the csv id
80
+ file_output.write("index")
81
+
82
+ # store converters to CSV in dicts
83
+ params_value_dict: 'dict[str, typing.Callable[[Kratos.Parameters], str]]' = {}
84
+ params_str_dict: 'dict[str, typing.Callable[[SupportedValueUnionType], str]]' = {}
85
+ data_value_dict: 'dict[SupportedVariableUnionType, typing.Callable[[SupportedValueUnionType], str]]' = {}
86
+
87
+ dummy_params = first_sensor.GetSensorParameters()
88
+ list_of_params_keys: 'list[str]' = []
89
+ list_of_data_keys: 'list[SupportedVariableUnionType]' = []
90
+ param_property_headers = ""
91
+ value_property_headers = ""
92
+ for sensor_property in list_of_sensor_properties:
93
+ if dummy_params.Has(sensor_property):
94
+ list_of_params_keys.append(sensor_property)
95
+ value_func = GetParameterToKratosValuesConverter(dummy_params[sensor_property])
96
+ value = value_func(dummy_params[sensor_property])
97
+ params_value_dict[sensor_property] = value_func
98
+ params_str_dict[sensor_property] = GetKratosValueToCSVStringConverter(value)
99
+ param_property_headers += f",{GetNameToCSVString(sensor_property, value)}"
100
+ else:
101
+ var = Kratos.KratosGlobals.GetVariable(sensor_property)
102
+ if first_sensor.Has(var):
103
+ list_of_data_keys.append(var)
104
+ value = first_sensor.GetValue(var)
105
+ data_value_dict[var] = GetKratosValueToCSVStringConverter(value)
106
+ value_property_headers += f",{GetNameToCSVString(sensor_property, value)}"
107
+ else:
108
+ raise RuntimeError(f"Sensor property = \"{sensor_property}\" not found in either sensor parameters nor in data value container. [ Sensor = {first_sensor} ].")
109
+
110
+ file_output.write(f"{param_property_headers}{value_property_headers}\n")
111
+
112
+ for i, sensor in enumerate(list_of_sensors):
113
+ # write the id
114
+ file_output.write(f"{i+1}")
115
+
116
+ # first write the values from sensor params
117
+ sensor_params = sensor.GetSensorParameters()
118
+ for sensor_property in list_of_params_keys:
119
+ file_output.write(f",{params_str_dict[sensor_property](params_value_dict[sensor_property](sensor_params[sensor_property]))}")
120
+
121
+ # now write the data values from sensor
122
+ for var in list_of_data_keys:
123
+ file_output.write(f",{data_value_dict[var](sensor.GetValue(var))}")
124
+
125
+ file_output.write("\n")
126
+
127
+ def AddSensorVariableData(sensor: KratosSI.Sensors.Sensor, variable_data: Kratos.Parameters) -> None:
128
+ """Adds sensor variable data.
129
+
130
+ Args:
131
+ sensor (KratosSI.Sensors.Sensor): Sensor to add data.
132
+ variable_data (Kratos.Parameters): Parameters containing variable data.
133
+ """
134
+ for var_name, var_value in variable_data.items():
135
+ var = Kratos.KratosGlobals.GetVariable(var_name)
136
+ value_func = GetParameterToKratosValuesConverter(var_value)
137
+ sensor.GetNode().SetValue(var, value_func(var_value))
138
+
139
+ def SetSensors(sensor_group_data: ComponentDataView, list_of_sensors: 'list[KratosSI.Sensors.Sensor]') -> None:
140
+ for sensor in list_of_sensors:
141
+ sensor_group_data.GetUnBufferedData().SetValue(f"list_of_sensors/{sensor.GetName()}/sensor", sensor)
142
+
143
+ def GetSensors(sensor_group_data: ComponentDataView) -> 'list[KratosSI.Sensors.Sensor]':
144
+ list_of_sensors: 'list[KratosSI.Sensors.Sensor]' = []
145
+ for _, sensor_data in sensor_group_data.GetUnBufferedData().GetValue("list_of_sensors").GetSubItems().items():
146
+ list_of_sensors.append(sensor_data.GetValue("sensor"))
147
+ return list_of_sensors
148
+
149
+ def GetMaskStatusControllers(sensor_group_data: ComponentDataView, sensor_mask_name: str) -> 'list[typing.Any]':
150
+ if sensor_group_data.GetUnBufferedData().HasValue(f"mask_status_controllers/{sensor_mask_name}"):
151
+ return sensor_group_data.GetUnBufferedData().GetValue(f"mask_status_controllers/{sensor_mask_name}")
152
+ else:
153
+ return []
154
+
155
+ def AddMaskStatusController(sensor_group_data: ComponentDataView, sensor_mask_name: str, mask_status_controller: typing.Any) -> None:
156
+ if not hasattr(mask_status_controller, "Update"):
157
+ raise RuntimeError(f"The mask status controller {mask_status_controller} does not have an Update method.")
158
+
159
+ if not sensor_group_data.GetUnBufferedData().HasValue(f"mask_status_controllers/{sensor_mask_name}"):
160
+ sensor_group_data.GetUnBufferedData()[f"mask_status_controllers/{sensor_mask_name}"] = []
161
+
162
+ sensor_group_data.GetUnBufferedData()[f"mask_status_controllers/{sensor_mask_name}"].append(mask_status_controller)
163
+
164
+ def SetSensorNormalizationFactor(list_of_sensors: 'list[KratosSI.Sensors.Sensor]', sensor_normalization_settings: Kratos.Parameters) -> None:
165
+ sensor_normalization_type = sensor_normalization_settings["type"].GetString()
166
+
167
+ measured_values = numpy.array([sensor.GetNode().GetValue(KratosSI.SENSOR_MEASURED_VALUE) for sensor in list_of_sensors], dtype=numpy.float64)
168
+
169
+ def local_maximum_measured_value(x: numpy.ndarray, parameters: Kratos.Parameters) -> numpy.ndarray:
170
+ if not parameters.Has("epsilon"):
171
+ raise RuntimeError(f"""The sensor normalization settings for type \"local_maximum_measured_value\"
172
+ must have an \"epsilon\" value.""")
173
+ if parameters["epsilon"].GetDouble() < 0.0:
174
+ raise RuntimeError(f"""The sensor normalization settings for type \"local_maximum_measured_value\"
175
+ must have a non-negative \"epsilon\" value.""")
176
+ epsilon = parameters["epsilon"].GetDouble()
177
+ max_measured_value = numpy.max(numpy.abs(x))
178
+ return numpy.maximum(numpy.abs(x), epsilon * max_measured_value)
179
+
180
+ normalization_dict = {
181
+ "" : lambda x, _: numpy.ones(x.shape, dtype=numpy.float64),
182
+ "none" : lambda x, _: numpy.ones(x.shape, dtype=numpy.float64),
183
+ "maximum_measured_value" : lambda x, _: numpy.max(numpy.abs(x)) * numpy.ones(x.shape, dtype=numpy.float64),
184
+ "average_measured_value" : lambda x, _: numpy.average(numpy.abs(x)) * numpy.ones(x.shape, dtype=numpy.float64),
185
+ "local_measured_value" : lambda x, _: numpy.abs(x),
186
+ "local_maximum_measured_value": local_maximum_measured_value
187
+ }
188
+
189
+ if sensor_normalization_type not in normalization_dict:
190
+ raise RuntimeError(f"Unsupported sensor normalization type \"{sensor_normalization_type}\". Supported types are:\n\t" + "\n\t".join(normalization_dict.keys()))
191
+
192
+ normalization_factors = normalization_dict[sensor_normalization_type](measured_values, sensor_normalization_settings)
193
+ for i, sensor in enumerate(list_of_sensors):
194
+ if math.isclose(normalization_factors[i], 0.0, abs_tol=1e-16):
195
+ raise RuntimeError(f"The normalization factor for sensor \"{sensor.GetName()}\" is approximately zero ({normalization_factors[i]}). Cannot normalize.")
196
+ sensor.GetNode().SetValue(KratosSI.SENSOR_NORMALIZATION_FACTOR, normalization_factors[i])
@@ -0,0 +1,63 @@
1
+ import typing
2
+ from enum import Enum
3
+ import KratosMultiphysics as Kratos
4
+ import KratosMultiphysics.OptimizationApplication as KratosOA
5
+
6
+ class PropertiesDataLocation(Enum):
7
+ ElementProperties = 100
8
+ ConditionProperties = 200
9
+
10
+ class TensorAdaptorDataLocation(Kratos.Globals.DataLocation):
11
+ ElementProperties = PropertiesDataLocation.ElementProperties,
12
+ ConditionProperties = PropertiesDataLocation.ConditionProperties
13
+
14
+ def GetTensorAdaptor(model_part: Kratos.ModelPart, data_location: TensorAdaptorDataLocation, variable: typing.Any) -> Kratos.TensorAdaptors.DoubleTensorAdaptor:
15
+ if data_location == TensorAdaptorDataLocation.NodeHistorical:
16
+ ta = Kratos.TensorAdaptors.HistoricalVariableTensorAdaptor(model_part.Nodes, variable)
17
+ elif data_location == TensorAdaptorDataLocation.NodeNonHistorical:
18
+ ta = Kratos.TensorAdaptors.VariableTensorAdaptor(model_part.Nodes, variable)
19
+ elif data_location == TensorAdaptorDataLocation.Condition:
20
+ ta = Kratos.TensorAdaptors.VariableTensorAdaptor(model_part.Conditions, variable)
21
+ elif data_location == TensorAdaptorDataLocation.Element:
22
+ ta = Kratos.TensorAdaptors.VariableTensorAdaptor(model_part.Elements, variable)
23
+ elif data_location == TensorAdaptorDataLocation.ConditionProperties:
24
+ ta = KratosOA.TensorAdaptors.PropertiesVariableTensorAdaptor(model_part.Conditions, variable)
25
+ elif data_location == TensorAdaptorDataLocation.ElementProperties:
26
+ ta = KratosOA.TensorAdaptors.PropertiesVariableTensorAdaptor(model_part.Elements, variable)
27
+ else:
28
+ raise RuntimeError(f"Unsupported {data_location}.")
29
+
30
+ ta.CollectData()
31
+ return ta
32
+
33
+ class TensorAdaptorBoundingManager:
34
+ def __init__(self, bounds: 'list[float]') -> None:
35
+ """
36
+ This class is used to bound values of an tensor adaptor to specified interval.
37
+ If a value in an tensor adaptor is above the max value of bounds, then it will have a value larger than 1.0
38
+ if a value in an tensor adaptor is below the min value of bounds, then it will have a value smaller than 0.0
39
+ Values in an tensor adaptor will be linearly interpolated and mapped from interval [min(bounds), max(bounds)]
40
+ to [0, 1].
41
+
42
+ Args:
43
+ bounds (list[float]): Bounds of the given tensor adaptor values.
44
+
45
+ Raises:
46
+ RuntimeError: If bounds does not contain two values.
47
+ """
48
+ if len(bounds) != 2:
49
+ raise RuntimeError(f"The bounds should be of size 2. [bounds = {bounds}]")
50
+ self.bounds = sorted(bounds)
51
+
52
+ def GetBoundGap(self) -> float:
53
+ return self.bounds[1] - self.bounds[0]
54
+
55
+ def GetBoundedTensorAdaptor(self, unbounded_tensor_adaptor: Kratos.TensorAdaptors.DoubleTensorAdaptor) -> Kratos.TensorAdaptors.DoubleTensorAdaptor:
56
+ result = unbounded_tensor_adaptor.Clone()
57
+ result.data[:] = (result.data[:] - self.bounds[0]) / self.GetBoundGap()
58
+ return result
59
+
60
+ def GetUnboundedTensorAdaptor(self, bounded_tensor_adaptor: Kratos.TensorAdaptors.DoubleTensorAdaptor) -> Kratos.TensorAdaptors.DoubleTensorAdaptor:
61
+ result = bounded_tensor_adaptor.Clone()
62
+ result.data[:] = (result.data[:] * self.GetBoundGap() + self.bounds[0])
63
+ return result
@@ -0,0 +1,11 @@
1
+ Metadata-Version: 2.5
2
+ Name: KratosSystemIdentificationApplication
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: kratosmultiphysics==10.4.4
@@ -0,0 +1,27 @@
1
+ KratosMultiphysics/SystemIdentificationApplication/python_registry_lists.py,sha256=JdbRUeLb0ChurxYgeZzWSFyEK5_aYre1I_doPu-908E,199
2
+ KratosMultiphysics/SystemIdentificationApplication/__init__.py,sha256=YQN6PirfZXlOipE9lNXVFs0op-fUVRHbPse2zEQWeR4,745
3
+ KratosMultiphysics/SystemIdentificationApplication/sensor_generator_analysis.py,sha256=m6W836uU7f0xAgR4wXj5DRBG5wdhdKdol90Y5O03KUs,6648
4
+ KratosMultiphysics/SystemIdentificationApplication/sensor_sensitivity_solvers/response_sensitivity_interface.py,sha256=DeE_gvQb6xgClUhB7G5_JNqbbdTOlsZFbYR9pcCJfOA,1237
5
+ KratosMultiphysics/SystemIdentificationApplication/sensor_sensitivity_solvers/response_sensitivity_analysis.py,sha256=YURa3anPD97X34AyNnEfE93HS-CND3Cvf7keulARe3A,2041
6
+ KratosMultiphysics/SystemIdentificationApplication/sensor_sensitivity_solvers/system_identification_static_analysis.py,sha256=6Wu335UM6fs5xW5P_at4JcoVg9uu2QiGd35DZHwUGM8,2697
7
+ KratosMultiphysics/SystemIdentificationApplication/sensor_sensitivity_solvers/sensor_sensitivity_adjoint_static_solver.py,sha256=gEYSOEaYxQ_skGJ9j-y_2Fzn94-BCx0WtgM9HR6w5bM,2843
8
+ KratosMultiphysics/SystemIdentificationApplication/processes/sensor_output_process.py,sha256=2eoijTmEUIyG4OSzm5DyR2oiuSpJLldcVEjXO5n1o5A,4202
9
+ KratosMultiphysics/SystemIdentificationApplication/responses/temperature_detection_response.py,sha256=fHRWaGsQbWb_-XeLg7naEbf3W6K0AuufCxPNxLl3i3U,1384
10
+ KratosMultiphysics/SystemIdentificationApplication/responses/damage_detection_response.py,sha256=yg_01Ib_hK9wThRFQX7L_jc3R-sb9GxvgBXKM6mV4kY,11240
11
+ KratosMultiphysics/SystemIdentificationApplication/responses/pressure_detection_response.py,sha256=d2lCFGs6o-s-6x4Gag4lfRZgc7qoOTQQPe-PUI9jBP0,1366
12
+ KratosMultiphysics/SystemIdentificationApplication/controls/material_properties_control.py,sha256=UWl5eI3yPTsD0paxgjNPSB6EfOY2brY6kzHB6WbXGSo,13765
13
+ KratosMultiphysics/SystemIdentificationApplication/controls/data_values_control.py,sha256=6JQJcsES2Dp-Wp4AVYM_NqMwGN8UdDlu3v70cbTPpSs,12905
14
+ KratosMultiphysics/SystemIdentificationApplication/utilities/tensor_adaptor_utils.py,sha256=wJ1qkTj-kDHCxb-dReMvCaDYSTWZF9APvz0g8hSl_cg,3270
15
+ KratosMultiphysics/SystemIdentificationApplication/utilities/data_utils.py,sha256=5ZNRz-wUGjZ5OGaAxVBKb1bdLPOa9omUbLBwSXha7tg,3312
16
+ KratosMultiphysics/SystemIdentificationApplication/utilities/sensor_utils.py,sha256=y_idR9FNPfeL6YKzwA0JqU68N_GOaFi9DO4VpBNFxUc,11085
17
+ KratosMultiphysics/SystemIdentificationApplication/convergence_criteria/sensor_error.py,sha256=biIaJNGHrpti8ZYk1itI9BwZyAbYXpO59aZfQ4p6-d4,4854
18
+ KratosMultiphysics/SystemIdentificationApplication/sensor_io/sensor_model_part_controller.py,sha256=vE33Xbq2zOKY1efn52JM3lSBXFsWxx-rNfSTB8QCfEI,3213
19
+ KratosMultiphysics/.libs/KratosSystemIdentificationApplication.so,sha256=zK2G6oUhMu_hB4bBJdaYAaVt2GbAh-RNOFMEls_M7Ms,1227584
20
+ KratosMultiphysics/.libs/libKratosSystemIdentificationCore.dylib,sha256=t8t-6kBSoz7FHJK0nE-SdNGhmveKcADOMmzCQ49bSjI,2651536
21
+ kratossystemidentificationapplication.dylibs/libstdc++.6.dylib,sha256=msZqYToEz3DYpyb3gdNdl4HfDSVAn_HG_87McBJUV0A,3403264
22
+ kratossystemidentificationapplication.dylibs/libKratosCore.dylib,sha256=BqtBk3bY9895iHDNKyyOWhQedbevJjAmi8gJuekJu2Y,63629792
23
+ kratossystemidentificationapplication.dylibs/libgcc_s.1.1.dylib,sha256=igEme-s72bdU4f5YCEh8V5w5Dx9Mzs2l5IXlm8EM-_c,219232
24
+ kratossystemidentificationapplication.dylibs/libgomp.1.dylib,sha256=HOZIqBxyjYyy-zPnzJsGXiXbsA0wrzhKEz5RuKvx4tM,438880
25
+ kratossystemidentificationapplication-10.4.4.dist-info/RECORD,,
26
+ kratossystemidentificationapplication-10.4.4.dist-info/WHEEL,sha256=QX0UaoWXQIAv8vp5R3do793urekDoJdJRoGCk8nXIBY,115
27
+ kratossystemidentificationapplication-10.4.4.dist-info/METADATA,sha256=8DpNB7SIduTjMqKcJgEQt_zv1Cpp5ynSh2CEcouduro,644
@@ -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: kratossystemidentificationapplication.dylibs/libKratosCore.dylib
3
+ size: 63629792 bytes
4
+ sha256: 06ab419376d8f7cf798870cd2b2c8e5a141e75b7af2630268bc809b9e909bb66