示例#1
0
import KratosMultiphysics.kratos_utilities as kratos_utilities
import os, csv
import numpy as np
KM.Logger.GetDefaultOutput().SetSeverity(KM.Logger.Severity.WARNING)

np.random.seed(2021)

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

model = KM.Model()

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

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

# Testing by
# 1) using the "json_output_process" & "json_check_process" within the structural analysis
示例#2
0
        if communicator.isRequestingValueOf("x_squared_sum"):
            value = 0.0
            for node in current_design.Nodes:
                value += node.X**2
            communicator.reportValue("x_squared_sum", value)

        if communicator.isRequestingGradientOf("x_squared_sum"):
            gradient = {}
            for node in current_design.Nodes:
                gradient[node.Id] = [2 * node.X, 0.0, 0.0]
            communicator.reportGradient("x_squared_sum", gradient)


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

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

# Testing by
# 1) some values from csv output