Exemple #1
0
                    grad[0] = 2 * (constrained_node.X0 - target_x)
                    grad[1] = 2 * (constrained_node.Y0 - target_y)
                    grad[2] = 2 * (constrained_node.Z0 - target_z)
                    gradient[node.Id] = [grad[0], grad[1], grad[2]]
                else:
                    gradient[node.Id] = [0.0, 0.0, 0.0]

            communicator.reportGradient("distance_1861", gradient)


# =======================================================================================================
# Perform optimization
# =======================================================================================================

# Create optimizer and perform optimization
optimizer = optimizer_factory.CreateOptimizer(
    parameters["optimization_settings"], model, CustomAnalyzer())
optimizer.Optimize()

# =======================================================================================================
# Test results and clean directory
# =======================================================================================================
output_directory = parameters["optimization_settings"]["output"][
    "output_directory"].GetString()
optimization_log_filename = parameters["optimization_settings"]["output"][
    "optimization_log_filename"].GetString() + ".csv"
optimization_model_part_name = parameters["optimization_settings"][
    "model_settings"]["model_part_name"].GetString()

# Testing
original_directory = os.getcwd()
os.chdir(output_directory)
Exemple #2
0
import KratosMultiphysics as KM

# Additional imports
from KratosMultiphysics.ShapeOptimizationApplication import optimizer_factory
from KratosMultiphysics.KratosUnittest import TestCase
import KratosMultiphysics.kratos_utilities as kratos_utilities
import csv, os

# Read parameters
with open("parameters.json", 'r') as parameter_file:
    parameters = KM.Parameters(parameter_file.read())

model = KM.Model()

# Create optimizer and perform optimization
optimizer = optimizer_factory.CreateOptimizer(
    parameters["optimization_settings"], model)
optimizer.Optimize()

# =======================================================================================================
# Test results and clean directory
# =======================================================================================================
output_directory = parameters["optimization_settings"]["output"][
    "output_directory"].GetString()
optimization_log_filename = parameters["optimization_settings"]["output"][
    "optimization_log_filename"].GetString() + ".csv"
optimization_model_part_name = parameters["optimization_settings"][
    "model_settings"]["model_part_name"].GetString()

# Testing
original_directory = os.getcwd()
os.chdir(output_directory)