Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
"min": 0.0,
"max": 1000.0,
"default": 9.8},
"mass": {
"type": "float",
"min": 0.0001,
"max": 1000.0,
"default": 1.0},
"velocity": {
"type": "float",
"min": 0.0,
"max": 1000.0,
"default": 10.0}}
# Create an encoder, decoder and collater for the cannonsim app
encoder = uq.encoders.GenericEncoder(
template_fname='tests/cannonsim/test_input/cannonsim.template',
delimiter='#',
target_filename='in.cannon')
decoder = uq.decoders.SimpleCSV(
target_filename='output.csv', output_columns=[
'Dist', 'lastvx', 'lastvy'], header=0)
collater = uq.collate.AggregateSamples(average=False)
# Add the cannonsim app
my_campaign.add_app(name="cannonsim",
params=params,
encoder=encoder,
decoder=decoder,
collater=collater)
# Set the active app to be cannonsim (this is redundant when only one app
"min": 0.0,
"max": 1000.0,
"default": 9.8},
"mass": {
"type": "float",
"min": 0.0001,
"max": 1000.0,
"default": 1.0},
"velocity": {
"type": "float",
"min": 0.0,
"max": 1000.0,
"default": 10.0}}
# Create two encoders
encoder1 = uq.encoders.GenericEncoder(
template_fname='tests/cannonsim/test_input/cannonsim.template',
delimiter='#',
target_filename='in.cannon')
encoder2 = uq.encoders.GenericEncoder(
template_fname='tests/cannonsim/test_input/cannonsim.template',
delimiter='#',
target_filename='in.cannon.2')
# Combine both encoders into a single encoder
multiencoder = uq.encoders.MultiEncoder(encoder1, encoder2)
# Create decoder and collater for the cannonsim app
decoder = uq.decoders.SimpleCSV(
target_filename='output.csv', output_columns=[
'Dist', 'lastvx', 'lastvy'], header=0)
collater = uq.collate.AggregateSamples(average=False)
}
fixtures = {
"bias1": {
"type": "file", "path": "tests/gauss/bias1.txt",
"common": False, "exists_local": True,
"target": "",
"group": ""
},
"bias2": {
"type": "file", "path": "tests/gauss/bias2.txt",
"common": False, "exists_local": True,
"target": "",
"group": ""
}
}
encoder = uq.encoders.GenericEncoder(template_fname='tests/gauss/gauss.template',
target_filename='gauss_in.json')
fixtures_encoder = uq.encoders.ApplyFixtures(fixtures=fixtures)
encoder_with_fixtures = uq.encoders.MultiEncoder(encoder, fixtures_encoder)
decoder = GaussDecoder(target_filename=params['out_file']['default'])
collater = uq.collate.AggregateSamples(average=False)
actions = uq.actions.ExecuteLocal("tests/gauss/gauss_json.py gauss_in.json")
stats = uq.analysis.EnsembleBoot(groupby=["mu"], qoi_cols=["Value"])
vary = {
"mu": cp.Uniform(1.0, 100.0),
}
sampler = uq.sampling.RandomSampler(vary=vary)
campaign(tmpdir, 'gauss', 'gauss', params, encoder, decoder, sampler,
collater, actions, stats, vary, 2, 2)
encoder = GaussEncoder(target_filename='gauss_in.json')
campaign(tmpdir, 'gauss', 'gauss', params, encoder, decoder, sampler,
"type": "float",
"min": 0.0,
"max": 0.1,
"default": 0.025},
"t_env": {
"type": "float",
"min": 0.0,
"max": 40.0,
"default": 15.0},
"out_file": {
"type": "string",
"default": "output.csv"}}
output_filename = params["out_file"]["default"]
output_columns = ["te", "ti"]
encoder = uq.encoders.GenericEncoder(
template_fname='tests/cooling/cooling.template',
delimiter='$',
target_filename='cooling_in.json')
decoder = uq.decoders.SimpleCSV(target_filename=output_filename,
output_columns=output_columns,
header=0)
collater = uq.collate.AggregateSamples(average=False)
vary = {
"kappa": cp.Uniform(0.025, 0.075),
"t_env": cp.Uniform(15, 25)
}
cooling_sampler = uq.sampling.PCESampler(vary=vary, polynomial_order=3)
cooling_action = uq.actions.ExecuteLocal("tests/cooling/cooling_model.py cooling_in.json")
cooling_stats = uq.analysis.PCEAnalysis(sampler=cooling_sampler, qoi_cols=output_columns)
import easyvvuq as uq
import chaospy as cp
# Set up a fresh campaign called "coffee_pce"
my_campaign = uq.Campaign(name='coffee_pce')
# Define parameter space
params = {
"temp_init": {"type": "float", "min": 0.0, "max": 100.0, "default": 95.0},
"kappa": {"type": "float", "min": 0.0, "max": 0.1, "default": 0.025},
"t_env": {"type": "float", "min": 0.0, "max": 40.0, "default": 15.0},
"out_file": {"type": "string", "default": "output.csv"}
}
# Create an encoder and decoder for PCE test app
encoder = uq.encoders.GenericEncoder(
template_fname='cooling.template',
delimiter='$',
target_filename='cooling_in.json')
decoder = uq.decoders.SimpleCSV(target_filename="output.csv",
output_columns=["te", "ti"],
header=0)
# Add the app (automatically set as current app)
my_campaign.add_app(name="cooling",
params=params,
encoder=encoder,
decoder=decoder
)
# Create a collation element for this campaign
"num_steps": {
"type": "integer",
"min": 0,
"max": 100000,
"default": 10
},
"out_file": {
"type": "string",
"default": "output.csv"
}
}
# 3. Wrap Application
# - Define a new application (we'll call it 'gauss'), and the encoding/decoding elements it needs
# - Also requires a collation element - his will be responsible for aggregating the results
encoder = uq.encoders.GenericEncoder(template_fname=template,
target_filename=input_filename)
decoder = uq.decoders.SimpleCSV(
target_filename=out_file,
output_columns=['Step', 'Value'],
header=0)
collater = uq.collate.AggregateSamples(average=True)
my_campaign.add_app(name="gauss",
params=params,
encoder=encoder,
decoder=decoder,
collater=collater
)