public void CanCountNumberOfBooksInLibrary() { // Arrange - create a library and add 2 books Library <Book> testLibrary = new Library <Book>(); Book testBookOne = new Book() { Title = "The Great Book", Author = new Author() { FirstName = "Jane", LastName = "Smith" }, Genre = Genre.Romance }; Book testBookTwo = new Book() { Title = "Second Greatest Book", Author = new Author() { FirstName = "Jane", LastName = "Smith" }, Genre = Genre.Romance }; testLibrary.Add(testBookOne); testLibrary.Add(testBookTwo); // Act - count the number of books in the library int count = testLibrary.Count(); // Assert - does library contain 2 books? Assert.Equal(count, testLibrary.Count()); }
static void Main(string[] args) { Book firstBook = new Book("C#", "Svetlin Nakov"); Book secondBook = new Book("Java", "Svetlin Nakov"); Book thirdBook = new Book(".NET", "Svetlin Nakov"); Book fourthBook = new Book("Ice and fire", "George Martin"); Library telerikLib = new Library("Telerik Library"); telerikLib.Add(firstBook); telerikLib.Add(secondBook); telerikLib.Add(thirdBook); telerikLib.Add(fourthBook); Console.WriteLine("Display library :"); telerikLib.DisplayAll(); int startIndx = 0; int indxFound; while (telerikLib.IndexOf("Svetlin Nakov", startIndx, SearchOption.Author) != -1) { indxFound = telerikLib.IndexOf("Svetlin Nakov", startIndx, SearchOption.Author); telerikLib.DeleteAt(indxFound); } Console.WriteLine("\nAfter deleting :"); telerikLib.DisplayAll(); }
public void CanRemoveABookFromTheLibrary() { // Arrange - create a library and add 2 books Library <Book> testLibrary = new Library <Book>(); Book testBookOne = new Book() { Title = "The Great Book", Author = new Author() { FirstName = "Jane", LastName = "Smith" }, Genre = Genre.Romance }; Book testBookTwo = new Book() { Title = "Second Greatest Book", Author = new Author() { FirstName = "Jane", LastName = "Smith" }, Genre = Genre.Romance }; testLibrary.Add(testBookOne); testLibrary.Add(testBookTwo); // Act - Remove a book from the library Book removedBook = testLibrary.Remove(testBookOne); // Assert - does library contain new Book obj? Assert.Equal(testBookOne, removedBook); }
public void RemoveABookFromLibrary() { //Arrange Library <Book> testLibrary = new Library <Book>(); Author firstAuthor = new Author("Kazuo", "Ishiguro"); Book firstBook = new Book("The Remains of the Day", firstAuthor); Author secondAuthor = new Author("Gunter", "Grass"); Book secondBook = new Book("The Tin Drum", secondAuthor); Author thirdAuthor = new Author("Virginia", "Woolf"); Book thirdBook = new Book("To the Lighthouse", thirdAuthor); testLibrary.Add(firstBook); testLibrary.Add(secondBook); testLibrary.Add(thirdBook); //Act Book result = testLibrary.Remove(secondBook.Title); //Assert Assert.Equal(2, testLibrary.Count()); Assert.Equal(secondBook, result); }
public void Library_can_store() { Library <string> storeLibrary = new Library <string>(); storeLibrary.Add("book"); storeLibrary.Add("GoT"); Assert.Equal(new[] { "book", "GoT" }, storeLibrary); }
public void TestLibraryCount() { Library <Book> library = new Library <Book>(); Book book1 = new Book(); Book book2 = new Book(); library.Add(book1); library.Add(book2); Assert.Equal(2, library.Count()); }
public void TestIfYouCanAddABookToLibrary() { myLibrary.Add(new Book("Catmunism", new Author("Meow", "Zedong"), Genre.Historical)); Book lastBook = null; foreach (Book book in myLibrary) { lastBook = book; } Assert.Equal("Catmunism", lastBook.Title); }
private void AddSongsToLibrary(Library lib) { var song = new Song(@"Songs\empty10sec.mp3"); song.Rating = 3; lib.Add(song); song = new Song(@"Songs\empty10sec2.mp3"); song.Rating = 1; lib.Add(song); }
public void Can_add_to_library() { Library <string> library2 = new Library <string>(); library2.Add("Hi"); library2.Add("how"); library2.Add("are"); library2.Add("you"); Assert.Equal(new[] { "Hi", "how", "are", "you" }, library2); }
public void CannotRemoveABookThatDoesntExist() { Library <Book> Library = new Library <Book>(); Library.Add(new Book("Mission Impossible", "Peter", "Barsocchini", (Genre)1)); Library.Add(new Book("Short Victorious War", "David", "Webb", (Genre)5)); Library.Add(new Book("Lord Of Chaos", "Robert", "Jordan", (Genre)4)); Exception e = Assert.Throws <System.Exception>(() => Library.Remove(4)); string expected = "That book does not exist"; Assert.Equal(expected, e.Message); }
public void Add_to_List() { // Arrange Library <int> myList = new Library <int>(); myList.Add(4); myList.Add(1); myList.Add(6); // Act myList.Add(2); // Assert Assert.Equal(4, myList.Count); }
public void Library_can_remove() { // Arange Library <string> removeLibrary = new Library <string>(); removeLibrary.Add("book"); removeLibrary.Add("GoT"); // Act bool result = removeLibrary.RemoveBook(0); // Assert Assert.True(result); Assert.Equal(new[] { "GoT" }, removeLibrary); }
public void AccurateCoutOfBooksInLibrary() { Library <Book> Library = new Library <Book>(); Library.Add(new Book("Mission Impossible", "Peter", "Barsocchini", (Genre)1)); Library.Add(new Book("Short Victorious War", "David", "Webb", (Genre)5)); Library.Add(new Book("Lord Of Chaos", "Robert", "Jordan", (Genre)4)); int expected = 3; int outputFromMethod = Library.Count(); Assert.Equal(expected, outputFromMethod); }
public void Can_Add_Beyond_Capacity() { //arrange int capacity = 1; Library <int> testCollection = new Library <int>(capacity); testCollection.Add(21); //act testCollection.Add(87); //assert Assert.Equal(2, testCollection.Count); Assert.Equal(87, testCollection[1]); }
public void CountBooks() { Library <Book> library = new Library <Book>(); Assert.Equal(0, library.Count()); Book book = new Book(new Author { Name = "Test" }, "Test", Genre.Science); Book otherBook = new Book(new Author { Name = "Not The Book" }, "Not The Book", Genre.Science); library.Add(book); library.Add(otherBook); Assert.Equal(2, library.Count()); }
public static void Register(Library l, DriverCollection d) { l.Add(mans); d.Add(OutputDriver.Instance); d.SetDefault(OutputDriver.Instance); }
internal static Stream PrepareStreamed(Uri uri, HTTPResponse response) { if (!IsSupported) { return(null); } lock (Library) { if (!Library.TryGetValue(uri, out HTTPCacheFileInfo value)) { Library.Add(uri, value = new HTTPCacheFileInfo(uri)); UsedIndexes.Add(value.MappedNameIDX, value); } try { return(value.GetSaveStream(response)); IL_005b: Stream result; return(result); } catch { DeleteEntity(uri); throw; IL_006b: Stream result; return(result); } } }
static void scanner_OnBookFound(object sender, BookFoundEventArgs e) { if (Library.Add(e.Book)) { if (e.Book.BookType == BookType.FB2) { _fb2Count++; } else { _epubCount++; } } else { _duplicates++; } if (Library.Count % 500 == 0) { Library.Save(); } if (Library.Count % 20000 == 0) { GC.Collect(); } UpdateInfo(); }
private async void Add_Click(object sender, RoutedEventArgs e) { if (await library.Add(Add, App.Current.Resources)) { Display.ItemsSource = await library.ListAsync((DateTimeOffset)Picker.Date); } }
public ActionResult _Insert(ExpensesRequest data, GridCommand command, bool isNew = false) { try { // Validate entity object. ValidateEntity(data); // Model is valid. if (ModelState.IsValid) { // Using transaction. using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted })) { data = Library.Add(data); data.Reference_ID = data.ID; Library.Modify(data, new string[] { "Paid_Party_To", "Payment", "Invoice" }); scope.Complete(); } } } catch (Exception ex) { // Duplicate exception occured. if (ex.GetBaseException() is smART.Common.DuplicateException) { ModelState.AddModelError("Error", ex.GetBaseException().Message); } else { ModelState.AddModelError("Error", ex.Message); } } return(Display(command)); }
public Watcher(string path = "") { DirectoryToWatch = path; _booksManager = new BackgroundWorker(); _booksManager.DoWork += _booksManager_DoWork; _scanner = new FileScanner(false); _scanner.OnBookFound += (object s, BookFoundEventArgs be) => { if (Library.Add(be.Book)) { //Library.Append(be.Book); if (OnBookAdded != null) { OnBookAdded(this, new BookAddedEventArgs(be.Book.FileName)); } } }; _scanner.OnInvalidBook += (object _sender, InvalidBookEventArgs _e) => { if (OnInvalidBook != null) { OnInvalidBook(_sender, _e); } }; _scanner.OnFileSkipped += (object _sender, FileSkippedEventArgs _e) => { if (OnFileSkipped != null) { OnFileSkipped(_sender, _e); } }; }
private async void Add_Click(object sender, RoutedEventArgs e) { if (await library.Add(Add)) { Display.ItemsSource = await library.ListAsync(); } }
internal static Stream PrepareStreamed(Uri uri, HTTPResponse response) { lock (Library) { if (!Library.TryGetValue(uri, out HTTPCacheFileInfo value)) { Library.Add(uri, value = new HTTPCacheFileInfo(uri)); } try { return(value.GetSaveStream(response)); IL_003e: Stream result; return(result); } catch (Exception ex) { DeleteEntity(uri); throw ex; IL_004c: Stream result; return(result); } } }
internal static HTTPCacheFileInfo Store(Uri uri, HTTPMethods method, HTTPResponse response) { if (response == null || response.Data == null || response.Data.Length == 0) { return(null); } HTTPCacheFileInfo info = null; lock (Library) { if (!Library.TryGetValue(uri, out info)) { Library.Add(uri, info = new HTTPCacheFileInfo(uri)); } try { info.Store(response); } catch { // If something happens while we write out the response, than we will delete it becouse it might be in an invalid state. DeleteEntity(uri); throw; } } return(info); }
internal static System.IO.Stream PrepareStreamed(Uri uri, HTTPResponse response) { if (!IsSupported) { return(null); } HTTPCacheFileInfo info; lock (Library) { if (!Library.TryGetValue(uri, out info)) { Library.Add(uri, info = new HTTPCacheFileInfo(uri)); UsedIndexes.Add(info.MappedNameIDX, info); } try { return(info.GetSaveStream(response)); } catch { // If something happens while we write out the response, than we will delete it because it might be in an invalid state. DeleteEntity(uri); throw; } } }
internal static HTTPCacheFileInfo Store(Uri uri, HTTPMethods method, HTTPResponse response) { if (response == null || response.Data == null || response.Data.Length == 0) { return(null); } if (!IsSupported) { return(null); } HTTPCacheFileInfo value = null; lock (Library) { if (!Library.TryGetValue(uri, out value)) { Library.Add(uri, value = new HTTPCacheFileInfo(uri)); UsedIndexes.Add(value.MappedNameIDX, value); } try { value.Store(response); return(value); } catch { DeleteEntity(uri); throw; IL_0087: return(value); } } }
void SaveAs() { PromptDialog diag = new PromptDialog(); diag.Title = "Engineering Preset"; diag.Label = "Provide a name for this preset:"; if (diag.ShowDialog() == true) { string f = null; if (diag.Text.EndsWith(".dat", StringComparison.OrdinalIgnoreCase)) { f = diag.Text; } else { f = diag.Text + ".dat"; } if (IsAlreadyInLibrary(f)) { if (Locations.MessageBoxShow("File is already in library.\r\n\r\nOverwrite?", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No) { return; } } else { string file = System.IO.Path.Combine(LibraryPath, f); EngineeringHelper.WritePresetFile(file, PresetItems); CurrentFile = f; Library.Add(f); } } }
public async Task Run(MessageCreateEventArgs e) { string valueToAdd = e.Message.Content.Substring(9 + _libraryType.ToString().Length); int newKey = await _library.Add(valueToAdd); await e.Message.RespondAsync($"{_libraryType} added to library id:{newKey}"); }
async Task ExecuteLoadItemsCommand() { if (IsBusy) { return; } IsBusy = true; try { _manager = new ServiceManager(); var ret = await _manager.GetAllBooksAsync(); Library?.Clear(); //Oder by Title var sorted = ret.OrderBy(t => t.Title); foreach (var item in sorted) { item.LineItem = $"{item.Title} - {item.Author}"; Library.Add(item); } } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; } }
public void CanAddBookToLibrary() { // arrange Library <Book> library = new Library <Book>(); Book book1 = new Book() { Author = new Author() { FirstName = "John", LastName = "Tolkien", DOB = new DateTime(1892, 1, 03) }, Genre = genre.Fantasy, Title = "Fellowship of the Ring", NumberOfPages = 350, }; library.Add(book1); // act bool inLibrary = library.InLibrary(book1); // assert Assert.True(inLibrary); }
public static void AddABook(string title, string firstName, string lastName, int numberOfPages, Genre genre) { Book book = new Book() { Title = title, Author = new Author() { FirstName = firstName, LastName = lastName }, NumberOfPages = numberOfPages, Genre = genre }; Library.Add(book); }
//NOTE: To reuse code, in this project there add the project CSharpCourse.ClassInterfacesAndStructs static void Main(string[] args) { Library<IVideoMedia> videoLibrary = new Library<IVideoMedia>(); VHSVideo jurasicPark = new VHSVideo(TimeSpan.FromMinutes(80)); BetaVideo madMax = new BetaVideo(TimeSpan.FromMinutes(74)); CasetteMedia rock80 = new CasetteMedia(); videoLibrary.Add(jurasicPark); videoLibrary.Add(madMax); //We instance a generic Library with type IVideoMedia interface, then, we only include objects with this interface. videoLibrary.Add(rock80); Console.WriteLine(videoLibrary.CountOfTitles); Console.WriteLine(videoLibrary.LastTitleAdded); Console.ReadKey(); }
public static OpaqueConstruction QuickConstruction(string name, ConstructionTypes type, string[] layers, double[] thickness, string category, string source, ref Library Library) { OpaqueConstruction oc = new OpaqueConstruction(); for (int i = 0; i < layers.Length; i++) { try { if (Library.OpaqueMaterials.Any(x => x.Name == layers[i])) { var mat = Library.OpaqueMaterials.First(o => o.Name == layers[i]); Layer<OpaqueMaterial> layer = new Layer<OpaqueMaterial>(thickness[i], mat); oc.Layers.Add(layer); } else { Debug.WriteLine("ERROR: " + "Could not find " + layers[i]); Logger.WriteLine("ERROR: " + "Could not find " + layers[i]); return null; } } catch(Exception e) { Debug.WriteLine( e.Message); } } oc.Name = name; oc.Type = type; oc.Category = category; oc.DataSource = source; Library.Add(oc); return oc; }
public static void Load(Library targetLib) { try { CheckLibs();//check if exist string[] chn = System.IO.File.ReadAllLines(chnPath); string[] eng = System.IO.File.ReadAllLines(engPath); ; string[] frequencyString = System.IO.File.ReadAllLines(frequencyPath); for (int i = 0; i < chn.Length; i++)//convert to Entry and add { if (chn[i].Length == 0 || eng[i].Length == 0 || frequencyString[i] == "0") { break; }//skip loading while reaching the end Entry entryToAdd = new Entry(chn[i], eng[i], int.Parse(frequencyString[i])); targetLib.Add(entryToAdd); } }//prevent empty entry, null/outOfBound catch { } }
public static void Main(string[] args) { var separators = new char[] { ' ', ',', '!', '-', '.', '–', '?' }; var dictionary = new Dictionary<string, int>(); using (StreamReader streamReader = new StreamReader(@"..\..\words.txt")) { string line; while ((line = streamReader.ReadLine()) != null) { var words = line.Split(separators, StringSplitOptions.RemoveEmptyEntries); foreach (var word in words) { var wordToLower = word.ToLower(); if (!dictionary.ContainsKey(wordToLower)) { dictionary[wordToLower] = 0; } dictionary[wordToLower] += 1; } } } var wordsSortedByApearence = dictionary.OrderBy(i => i.Value); foreach (var word in wordsSortedByApearence) { Console.WriteLine("{0} -> {1}", word.Key, word.Value); } // SerializableSortedList<int, LibraryItem> dict = new SerializableSortedList<int, LibraryItem>(); // var libraryItem1 = new LibraryItem("Pesho", "Peshov", PhoneType.Home, "09999999"); // dict.Add(libraryItem1); // var libraryItem2 = new LibraryItem("Peshob", "Peshov", PhoneType.Home, "08888888"); // dict.Add(libraryItem2); // var libraryItem3 = new LibraryItem("Peshoc", "Peshova", PhoneType.Home, "07777777"); // dict.Add(libraryItem3); // var libraryItem4 = new LibraryItem("Peshoa", "Peshovc", PhoneType.Home, "06666666"); // dict.Add(libraryItem4); // var libraryItem5 = new LibraryItem("Peshob", "Peshov", PhoneType.Home, "05555555"); // dict.Add(libraryItem5); // IFormatter formatter = new BinaryFormatter(); // string fileLocation = "../../SerializableDictionary/dictionary.bin"; // Stream stream = new FileStream(fileLocation, FileMode.Create, FileAccess.Write, FileShare.None); // formatter.Serialize(stream, dict); // stream.Close(); // formatter = new BinaryFormatter(); // stream = new FileStream(fileLocation, FileMode.Open, FileAccess.Read, FileShare.Read); // var desirializedDict = (SerializableSortedList<int, LibraryItem>)formatter.Deserialize(stream); // stream.Close(); // foreach (var item in desirializedDict) // { // Console.WriteLine(item); // } // Console.WriteLine(); // var sortedByLastName = desirializedDict.OrderBy(i => i.Value.LastName); // foreach (var item in sortedByLastName) // { // Console.WriteLine(item); // } var library = new Library(); library.Add(new LibraryItem("B", "A", PhoneType.Cellphone, "0999")); library.Add(new LibraryItem("A", "B", PhoneType.Cellphone, "0888")); library.Add(new LibraryItem("B", "C", PhoneType.Cellphone, "0777")); library.Add(new LibraryItem("A", "B", PhoneType.Cellphone, "0666")); IFormatter formatter = new BinaryFormatter(); string fileLocation = "../../SerializableDictionary/library.bin"; Stream stream = new FileStream(fileLocation, FileMode.Create, FileAccess.Write, FileShare.None); formatter.Serialize(stream, library); stream.Close(); formatter = new BinaryFormatter(); stream = new FileStream(fileLocation, FileMode.Open, FileAccess.Read, FileShare.Read); var desirializedDict = (Library)formatter.Deserialize(stream); stream.Close(); foreach (var item in desirializedDict) { Console.WriteLine(item); } }
public static YearSchedule QuickSchedule(string Name, double[] dayArray, double[] weArray, string category, string dataSource, ref Library Library) { int[] MonthFrom = { 1 }; int[] DayFrom = { 1 }; int[] MonthTo = { 12 }; int[] DayTo = { 31 }; DaySchedule someDaySchedule = new DaySchedule(Name, "Fraction", dayArray.ToList()); someDaySchedule.DataSource = dataSource; someDaySchedule.Category = category; someDaySchedule = Library.Add(someDaySchedule); DaySchedule weSchedule = new DaySchedule(Name + "WeekEnd", "Fraction", dayArray.ToList()); weSchedule.DataSource = dataSource; weSchedule.Category = category; weSchedule = Library.Add(weSchedule); DaySchedule[] daySchedulesArray = { someDaySchedule, someDaySchedule, someDaySchedule, someDaySchedule, someDaySchedule, weSchedule, weSchedule }; WeekSchedule someWeekSchedule = new WeekSchedule(Name, daySchedulesArray, "Fraction"); someWeekSchedule.DataSource = dataSource; someWeekSchedule.Category = category; someWeekSchedule = Library.Add(someWeekSchedule); WeekSchedule[] weekSchedulesArray = { someWeekSchedule }; YearSchedule someYearSchedule = new YearSchedule(Name, "Fraction", weekSchedulesArray.ToList(), MonthFrom.ToList(), DayFrom.ToList(), MonthTo.ToList(), DayTo.ToList()); someYearSchedule.DataSource = dataSource; someYearSchedule.Category = category; Library.Add(someYearSchedule); return someYearSchedule; }
// hardcoded default library public static Library getHardCodedDefaultLib() { Library Library = new Library(); #region DEFAULTS - MUST BE IN LIBRARY OpaqueMaterial defaultMat = new OpaqueMaterial() { Name ="defaultMat", Category ="Concrete", Conductivity= 2.30, Density =2400, SpecificHeat=840, ThermalEmittance=0.9, SolarAbsorptance= 0.7, VisibleAbsorptance=0.7 }; Library.Add(defaultMat); GlazingMaterial defaultGMat = new GlazingMaterial() { Name = "defaultGlazingMat", Type= "Uncoated", Conductivity = 0.9, Density= 2500, SolarTransmittance =0.68, SolarReflectanceFront =0.09, SolarReflectanceBack=0.10, VisibleTransmittance=0.81, VisibleReflectanceFront=0.11, VisibleReflectanceBack=0.12, IRTransmittance=0.00, IREmissivityFront=0.84, IREmissivityBack=0.20 }; Library.Add( defaultGMat); Layer<OpaqueMaterial> defaultLay = new Layer<OpaqueMaterial>(0.25, defaultMat); OpaqueConstruction defaultConstruction = new OpaqueConstruction(); defaultConstruction.Layers.Add(defaultLay); defaultConstruction.Name = "defaultConstruction"; defaultConstruction.Type = ConstructionTypes.Facade;// "Facade"; Library.Add( defaultConstruction); Layer<WindowMaterialBase> defaultGLay = new Layer<WindowMaterialBase>(0.006, defaultGMat); GlazingConstruction defaultGlazing = new GlazingConstruction(); defaultGlazing.Layers.Add(defaultGLay); defaultGlazing.Name = "defaultGlazing"; defaultGlazing.Type = GlazingConstructionTypes.Single;// "Single"; Library.Add( defaultGlazing); //AIRWALL GlazingMaterial AirWallMat = new GlazingMaterial() { Name = "100TRANS", Type = "uncoated", Conductivity = 5, Density = 0.0001, SolarTransmittance = 0.99, SolarReflectanceFront = 0.005, SolarReflectanceBack = 0.005, VisibleTransmittance = 0.99, VisibleReflectanceFront = 0.005, VisibleReflectanceBack = 0.005, IRTransmittance = 0.99, IREmissivityFront = 0.005, IREmissivityBack = 0.005 }; Library.Add(AirWallMat); Layer<WindowMaterialBase> airwallLayer = new Layer<WindowMaterialBase>(0.003, AirWallMat); GlazingConstruction airWall = new GlazingConstruction(); airWall.Layers.Add(airwallLayer); airWall.Name = "Airwall"; airWall.Type = GlazingConstructionTypes.Other;// "Other"; Library.Add( airWall); //---------------------------------------------------------------------------------gases // add all possible gas materials to GasMaterials // string[] gases = { "AIR", "ARGON", "KRYPTON", "XENON", "SF6" }; Library.GasMaterials.Clear(); foreach (var s in Enum.GetValues(typeof(GasTypes)).Cast<GasTypes>()) { Library.GasMaterials.Add(new GasMaterial(s)); } int[] MonthFrom = { 1 }; int[] DayFrom = { 1 }; int[] MonthTo = { 12 }; int[] DayTo = { 31 }; double[] hourlyAllOnArr = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; YearSchedule.QuickSchedule("AllOn", hourlyAllOnArr, "Fraction", "Default Library", ref Library); double[] hourlyAllOffArr = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; YearSchedule.QuickSchedule("AllOff", hourlyAllOffArr, "Fraction", "Default Library", ref Library); Library.Add(new ZoneLoad() { Name = "Off", PeopleIsOn = false, EquipmentIsOn = false , LightsIsOn = false, PeopleDensity = 0, IlluminanceTarget = 0, LightingPowerDensity = 0, EquipmentPowerDensity = 0, OccupancySchedule = "AllOn", EquipmentAvailibilitySchedule = "AllOn", LightsAvailibilitySchedule = "AllOn", Category = "Default", DataSource = "Default" }); Library.Add(new ZoneConditioning() { Name = "Off", HeatIsOn=false, CoolIsOn =false, MechVentIsOn = false, HeatingSetpoint = 19, CoolingSetpoint = 26, MinFreshAirPerson = 0, MinFreshAirArea = 0, Category = "Default" }); Library.Add(new ZoneVentilation() { Name = "Off", InfiltrationIsOn = false, InfiltrationAch = 0.15, InfiltrationModel = InfiltrationModel.Wind, Category = "Infiltration" }); Library.Add(new DomHotWater() { Name = "Off", IsOn = false, FlowRatePerFloorArea = 0, WaterSchedule = "AllOn", WaterTemperatureInlet = 10, WaterSupplyTemperature = 60 }); Library.Add(new ZoneConstruction() { Name = "Default", RoofConstruction = "defaultConstruction", FacadeConstruction = "defaultConstruction", SlabConstruction = "defaultConstruction", GroundConstruction = "defaultConstruction", PartitionConstruction = "defaultConstruction" }); #endregion #region OpaqueMaterialsWithEEIndicators Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Pine wood", Category = @"Timber", Conductivity = 0.13, Density = 520, SpecificHeat = 1600, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 10, EmbodiedCarbon = 0.71, Cost = 0, Comment = @"[lambda rho c: U-Wert.net][LCA ICE (0.31fos + 0.41bio-embodied cabon emissions)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Douglas fir", Category = @"Timber", Conductivity = 0.12, Density = 530, SpecificHeat = 1600, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 10, EmbodiedCarbon = 0.71, Cost = 0, Comment = @"[lambda rho c: U-Wert.net][LCA ICE (0.31fos + 0.41bio-embodied cabon emissions)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Oak", Category = @"Timber", Conductivity = 0.18, Density = 690, SpecificHeat = 2400, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 10, EmbodiedCarbon = 0.71, Cost = 0, Comment = @"[lambda rho c: U-Wert.net][LCA ICE (0.31fos + 0.41bio-embodied cabon emissions)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Spruce", Category = @"Timber", Conductivity = 0.13, Density = 450, SpecificHeat = 1600, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 10, EmbodiedCarbon = 0.71, Cost = 0, Comment = @"[lambda rho c: U-Wert.net][LCA ICE (0.31fos + 0.41bio-embodied cabon emissions)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Larch", Category = @"Timber", Conductivity = 0.13, Density = 460, SpecificHeat = 1600, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 10, EmbodiedCarbon = 0.71, Cost = 0, Comment = @"[lambda rho c: U-Wert.net][LCA ICE (0.31fos + 0.41bio-embodied cabon emissions)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Oriented strand board", Category = @"Timber", Conductivity = 0.13, Density = 650, SpecificHeat = 1700, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 15, EmbodiedCarbon = 0.96, Cost = 0, Comment = @"[lambda rho c: U-Wert.net][LCA ICE (0.45fos + 0.54 bio- embodied carbon emissions)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Medium density fiberboard", Category = @"Timber", Conductivity = 0.09, Density = 500, SpecificHeat = 1700, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 11, EmbodiedCarbon = 0.72, Cost = 0, Comment = @"[lambda rho c: U-Wert.net][LCA ICE (0.39fos + 0.35bio- embodied carbon emissions)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Chipboard", Category = @"Timber", Conductivity = 0.14, Density = 650, SpecificHeat = 1800, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 10, EmbodiedCarbon = 0.71, Cost = 0, Comment = @"[lambda rho c: U-Wert.net][LCA ICE (0.39fos + 0.35bio- embodied carbon emissions)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"General Concrete", Category = @"Concrete", Conductivity = 2, Density = 2400, SpecificHeat = 950, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 0.75, EmbodiedCarbon = 0.1, Cost = 0, Comment = @"[lambda rho c: U-Wert.net][LCA ICE, General Concrete data]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Concrete reinforced 20-30 MPa", Category = @"Concrete", Conductivity = 2, Density = 2400, SpecificHeat = 950, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 0.75, EmbodiedCarbon = 0.1, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] General concrete data used for density through visible absorptance. Data averaged for embodied enegy, embodied carbon and embodied carbon emissions." }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Concrete reinforced 30-50 MPa", Category = @"Concrete", Conductivity = 2, Density = 2400, SpecificHeat = 950, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 0.74, EmbodiedCarbon = 0.099, Cost = 0, Comment = @"[lambda rho c: U-Wert.net]General concrete data used for density through visible absorptance. Data averaged for embodied enegy, embodied carbon and embodied carbon emissions." }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Asphalt low binder content", Category = @"Screed", Conductivity = 0.75, Density = 2350, SpecificHeat = 920, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3.39, EmbodiedCarbon = 0.191, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] General asphalt data used for density through visible absorptance, averaged data for embodied energy through embodied carbon emissions" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Asphalt high binder content", Category = @"Screed", Conductivity = 0.75, Density = 2350, SpecificHeat = 920, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 4.46, EmbodiedCarbon = 0.216, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] General asphalt data used for density through visible absorptance, averaged data for embodied energy through embodied carbon emissions" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Lightweight concrete", Category = @"Concrete", Conductivity = 1.3, Density = 1800, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 0.78, EmbodiedCarbon = 0.106, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE Concrete 20/25 Mpa]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Cement screed", Category = @"Screed", Conductivity = 1.4, Density = 2000, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 1.33, EmbodiedCarbon = 0.221, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [ LCA ICE, Mortar (1:3 cement:sand mix) ]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Basalt", Category = @"Masonry", Conductivity = 3.5, Density = 2850, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 1.26, EmbodiedCarbon = 0.073, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE General Stone]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Granite", Category = @"Masonry", Conductivity = 2.8, Density = 2600, SpecificHeat = 790, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 11, EmbodiedCarbon = 0.64, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE Granite]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Lime stone", Category = @"Masonry", Conductivity = 1.4, Density = 2000, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 1.5, EmbodiedCarbon = 0.087, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE, Limestone]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Adobe 1500kg_m3", Category = @"Masonry", Conductivity = 0.66, Density = 1500, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3, EmbodiedCarbon = 0.23, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA ICE, General Clay data]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Sand stone", Category = @"Masonry", Conductivity = 2.3, Density = 2600, SpecificHeat = 710, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 1, EmbodiedCarbon = 0.058, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE Sandstone]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Clinker brick 1400kg_m3", Category = @"Masonry", Conductivity = 0.58, Density = 1400, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3, EmbodiedCarbon = 0.23, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE General (Common Brick)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Clinker brick 1600kg_m3", Category = @"Masonry", Conductivity = 0.68, Density = 1600, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3, EmbodiedCarbon = 0.23, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE General (Common Brick)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Clinker brick 1800kg_m3", Category = @"Masonry", Conductivity = 0.81, Density = 1800, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3, EmbodiedCarbon = 0.23, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE General (Common Brick)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Clinker brick 2000kg_m3", Category = @"Masonry", Conductivity = 0.96, Density = 2000, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3, EmbodiedCarbon = 0.23, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE General (Common Brick)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Aerated concrete 350kg_m3", Category = @"Masonry", Conductivity = 0.09, Density = 350, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3.5, EmbodiedCarbon = 0.3075, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE Autoclaved Aerated Blocks (ACC's)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Aerated concrete 500kg_m3", Category = @"Masonry", Conductivity = 0.12, Density = 500, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3.5, EmbodiedCarbon = 0.3075, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE Autoclaved Aerated Blocks (ACC's)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Ytong block W PP 1.6-0.30", Category = @"Masonry", Conductivity = 0.08, Density = 300, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3.5, EmbodiedCarbon = 0.31, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE Autoclaved Aerated Blocks (ACC's)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Poroton Plan-T10", Category = @"Masonry", Conductivity = 0.1, Density = 650, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3, EmbodiedCarbon = 0.23, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE General Common Brick]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Rigid foam EPS 035", Category = @"Insulation", Conductivity = 0.035, Density = 30, SpecificHeat = 1500, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 101.5, EmbodiedCarbon = 3.48, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE Polyurethane Rigid Foam]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Rigid foam PUR no coating", Category = @"Insulation", Conductivity = 0.03, Density = 30, SpecificHeat = 1400, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 101.5, EmbodiedCarbon = 3.48, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE Polyurethane Rigid Foam]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Rigid foam PUR alu coating", Category = @"Insulation", Conductivity = 0.025, Density = 30, SpecificHeat = 1400, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 101.5, EmbodiedCarbon = 3.48, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE Polyurethane Rigid Foam]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Rigid foam PUR fleece coating", Category = @"Insulation", Conductivity = 0.028, Density = 30, SpecificHeat = 1400, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 101.5, EmbodiedCarbon = 3.48, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE Polyurethane Rigid Foam]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Wood fiber insulating board", Category = @"Insulation", Conductivity = 0.042, Density = 160, SpecificHeat = 2100, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 45, EmbodiedCarbon = 1.86, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE General Insulation]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Styrofoam", Category = @"Insulation", Conductivity = 0.04, Density = 20, SpecificHeat = 1500, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 101.5, EmbodiedCarbon = 3.48, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] No data found" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Vacuum insulation panel Variotec", Category = @"Insulation", Conductivity = 0.007, Density = 205, SpecificHeat = 900, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 45, EmbodiedCarbon = 1.86, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE, General Insulation]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Wood wool board 15mm", Category = @"Timber", Conductivity = 0.09, Density = 570, SpecificHeat = 2100, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 20, EmbodiedCarbon = 0.98, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE, Woodwool (Board)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Wood wool board 25mm", Category = @"Timber", Conductivity = 0.09, Density = 460, SpecificHeat = 2100, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 20, EmbodiedCarbon = 0.98, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE, Woodwool (Board)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Wood wool board 35mm", Category = @"Timber", Conductivity = 0.09, Density = 415, SpecificHeat = 2100, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 20, EmbodiedCarbon = 0.98, Cost = 0, Comment = @"[lambda rho c: U-Wert.net][LCA, ICE, Woodwool (Board)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Wood wool board 50mm", Category = @"Timber", Conductivity = 0.09, Density = 390, SpecificHeat = 2100, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 20, EmbodiedCarbon = 0.98, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE, Woodwool (Board)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Light adobe NF 700", Category = @"Masonry", Conductivity = 0.21, Density = 700, SpecificHeat = 1200, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3, EmbodiedCarbon = 0.23, Cost = 0, Comment = @"U-Wert.net [LCA, ICE General (Simple Clay Baked Products)" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Light adobe NF 1200", Category = @"Masonry", Conductivity = 0.47, Density = 1200, SpecificHeat = 1200, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3, EmbodiedCarbon = 0.23, Cost = 0, Comment = @"U-Wert.net [LCA, ICE General (Simple Clay Baked Products)" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Light adobe NF 1800", Category = @"Masonry", Conductivity = 0.91, Density = 1800, SpecificHeat = 1200, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3, EmbodiedCarbon = 0.23, Cost = 0, Comment = @"U-Wert.net [LCA, ICE General (Simple Clay Baked Products)" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Shale", Category = @"Masonry", Conductivity = 2.2, Density = 2400, SpecificHeat = 760, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 0.03, EmbodiedCarbon = 0.002, Cost = 0, Comment = @"U-Wert.net [LCA, ICE Shale]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Clinker brick", Category = @"Masonry", Conductivity = 0.96, Density = 2000, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3, EmbodiedCarbon = 0.23, Cost = 0, Comment = @"U-Wert.net [LCA, ICE General Common Bricks]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Ytong block W PP 2-0.35", Category = @"Masonry", Conductivity = 0.09, Density = 350, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3.5, EmbodiedCarbon = 0.31, Cost = 0, Comment = @"U-Wert.net [LCA, ICE Autoclaved Aerated Blocks (AAC's)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Ytong block W PP 2-0.40", Category = @"Masonry", Conductivity = 0.1, Density = 400, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3.5, EmbodiedCarbon = 0.31, Cost = 0, Comment = @"U-Wert.net [LCA, ICE Autoclaved Aerated Blocks (AAC's)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Ytong block W PP 4-0.50", Category = @"Masonry", Conductivity = 0.12, Density = 500, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3.5, EmbodiedCarbon = 0.31, Cost = 0, Comment = @"U-Wert.net [LCA, ICE Autoclaved Aerated Blocks (AAC's)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Ytong block W PP 4-0.55", Category = @"Masonry", Conductivity = 0.14, Density = 550, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3.5, EmbodiedCarbon = 0.31, Cost = 0, Comment = @"U-Wert.net [LCA, ICE Autoclaved Aerated Blocks (AAC's)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Ytong block W PP 4-0.60", Category = @"Masonry", Conductivity = 0.16, Density = 600, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3.5, EmbodiedCarbon = 0.31, Cost = 0, Comment = @"U-Wert.net [LCA, ICE Autoclaved Aerated Blocks (AAC's)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Ytong block W PP 6-0.65", Category = @"Masonry", Conductivity = 0.18, Density = 650, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3.5, EmbodiedCarbon = 0.31, Cost = 0, Comment = @"U-Wert.net [LCA, ICE Autoclaved Aerated Blocks (AAC's)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Poroton T12", Category = @"Masonry", Conductivity = 0.12, Density = 650, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 3, EmbodiedCarbon = 0.23, Cost = 0, Comment = @"U-Wert.net [LCA, ICE General Common Bricks]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Cork", Category = @"Insulation", Conductivity = 0.05, Density = 160, SpecificHeat = 1800, ThermalEmittance = 0.9, SolarAbsorptance = 0.78, VisibleAbsorptance = 0.78, EmbodiedEnergy = 4, EmbodiedCarbon = 0.19, Cost = 0, Comment = @"[lambda rho c: U-Wert.net][ThermalEmittance SolarAbsorptance VisibleAbsorptance: DesignBuilderv3] [LCA, ICE Cork]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Ytong Multipor DAA ds", Category = @"Insulation", Conductivity = 0.047, Density = 115, SpecificHeat = 1300, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 45, EmbodiedCarbon = 1.86, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE General Insulation]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Ytong Multipor WI WTR DI", Category = @"Insulation", Conductivity = 0.042, Density = 90, SpecificHeat = 1300, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 45, EmbodiedCarbon = 1.86, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE General Insulation]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Ytong Multipor WAP", Category = @"Insulation", Conductivity = 0.045, Density = 110, SpecificHeat = 1300, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 45, EmbodiedCarbon = 1.86, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE General Insulation]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Foam glass", Category = @"Insulation", Conductivity = 0.056, Density = 130, SpecificHeat = 750, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 27, EmbodiedCarbon = 0, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE, Celular Glass]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Reed", Category = @"Insulation", Conductivity = 0.065, Density = 225, SpecificHeat = 1200, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 0.24, EmbodiedCarbon = 0.01, Cost = 0, Comment = @"[lambda rho c: U-Wert.net][ LCA, ICE, Straw]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Vacuum insulation panel Vacupor NT-B2-S", Category = @"Insulation", Conductivity = 0.007, Density = 190, SpecificHeat = 1050, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 45, EmbodiedCarbon = 1.86, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [LCA, ICE General Insulation]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Stainless Steel", Category = @"Metal", Conductivity = 45, Density = 7800, SpecificHeat = 480, ThermalEmittance = 0.1, SolarAbsorptance = 0.4, VisibleAbsorptance = 0.4, EmbodiedEnergy = 56.7, EmbodiedCarbon = 6.15, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [ LCA ICE, Stainless Steel]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Steel", Category = @"Metal", Conductivity = 45, Density = 7800, SpecificHeat = 480, ThermalEmittance = 0.1, SolarAbsorptance = 0.4, VisibleAbsorptance = 0.4, EmbodiedEnergy = 20.1, EmbodiedCarbon = 1.46, Cost = 0, Comment = @"[lambda rho c: U-Wert.net] [ LCA ICE, General Steel ]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Rammed Earth", Category = @"Masonry", Conductivity = 0.75, Density = 1730, SpecificHeat = 880, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 0, EmbodiedCarbon = 0, Cost = 0, Comment = @" [lambda rho c: U-Wert.net] [LCA, ICE Mud] [LCA, ICE, Single Clay Brick]" }); //double check EE values Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"GypsumFibreBoard", Category = @"Boards", Conductivity = 0.32, Density = 1000, SpecificHeat = 1100, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 45, EmbodiedCarbon = 1.86, Cost = 0, Comment = @"[lambda rho c: Saint-Gobain Rigips][LCA ICE (0.31fos + 0.41bio-embodied cabon emissions)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Cross Laminated Timber", Category = @"Timber", Conductivity = 0.13, Density = 500, SpecificHeat = 1600, ThermalEmittance = 0.9, SolarAbsorptance = 0.7, VisibleAbsorptance = 0.7, EmbodiedEnergy = 10, EmbodiedCarbon = 0.71, Cost = 0, Comment = @"[lambda rho c: dataholz.com][LCA ICE (0.31fos + 0.41bio-embodied cabon emissions)]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Plaster", Category = @"Screed", Conductivity = 1.0, Density = 2000, SpecificHeat = 1130, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 1.33, EmbodiedCarbon = 0.221, Cost = 0, Comment = @"[lambda rho c: dataholz.com] [ LCA ICE, Mortar (1:3 cement:sand mix) ]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Mineral Wool", Category = @"Insulation", Conductivity = 0.041, Density = 155, SpecificHeat = 1130, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 0, EmbodiedCarbon = 0, Cost = 0, Comment = @"[lambda rho c: dataholz.com]" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"XPS Board", Category = "Insulation", Conductivity = 0.034, Density = 35, SpecificHeat = 1400, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 87.4, EmbodiedCarbon = 2.8, Cost = 0.0, Comment = "" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Sand-Lime Brick", Category = "Masonry", Conductivity = 0.56, Density = 1200, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 0, EmbodiedCarbon = 0, Cost = 0, Comment = "" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Bonded chippings", Category = @"Screed", Conductivity = 0.7, Density = 1800, SpecificHeat = 1000, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 0, EmbodiedCarbon = 0, Cost = 0, Comment = "" }); Library.OpaqueMaterials.Add(new OpaqueMaterial() { Name = @"Impact sound insulation", Category = "Insulation", Conductivity = 0.035, Density = 120, SpecificHeat = 1030, ThermalEmittance = 0.9, SolarAbsorptance = 0.6, VisibleAbsorptance = 0.6, EmbodiedEnergy = 0, EmbodiedCarbon = 0, Cost = 0.0, Comment = "" }); #endregion //Basic wall OpaqueConstruction.QuickConstruction("120mmInsulation 200mmConcrete", ConstructionTypes.Facade, new string[] { "XPS Board", "General Concrete" }, new double[] { 0.12, 0.20 }, "Concrete", "", ref Library); //Basic roof OpaqueConstruction.QuickConstruction("300mmInsulation 200mmConcrete", ConstructionTypes.Facade, new string[] { "XPS Board", "General Concrete" }, new double[] { 0.30, 0.20 }, "Concrete", "", ref Library); //Basic floor OpaqueConstruction.QuickConstruction("200mmConcrete", ConstructionTypes.InteriorFloor, new string[] { "General Concrete" }, new double[] { 0.20 }, "Concrete", "", ref Library); //Basic partition OpaqueConstruction.QuickConstruction("115mmSandLimeBrick", ConstructionTypes.Partition, new string[] { "Plaster", "Sand-Lime Brick", "Plaster" }, new double[] { 0.005, 0.08, 0.08 }, "Concrete", "", ref Library); //Basic ground OpaqueConstruction.QuickConstruction("300mmConcrete 80mmInsulation 80mmScreed", ConstructionTypes.Partition, new string[] { "General Concrete", "XPS Board", "Cement screed" }, new double[] { 0.3, 0.115, 0.005 }, "Concrete", "", ref Library); //Solid wood constructions OpaqueConstruction.QuickConstruction("300mmInsulation 94mmSolidWood 24mmGypsum", ConstructionTypes.Facade, new string[] { "Medium density fiberboard", "Wood fiber insulating board", "Cross Laminated Timber", "Wood fiber insulating board", "GypsumFibreBoard" }, new double[] { 0.015, 0.3 , 0.094, 0.08, 0.0245 },"Timber", "dataholz.com", ref Library); OpaqueConstruction.QuickConstruction("120mmInsulation 78mmSolidWood 13mmGypsum", ConstructionTypes.Facade, new string[] { "Plaster", "Mineral Wool", "Cross Laminated Timber", "GypsumFibreBoard" }, new double[] { 0.004, 0.12, 0.078, 0.013 }, "Timber", "dataholz.com", ref Library); OpaqueConstruction.QuickConstruction("160mmInsulation 94mmSolidWood", ConstructionTypes.Facade, new string[] { "Mineral Wool", "Mineral Wool", "Cross Laminated Timber" }, new double[] { 0.08, 0.08, 0.094 }, "Timber", "dataholz.com", ref Library); OpaqueConstruction.QuickConstruction("160mmInsulation 94mmSolidWood", ConstructionTypes.Facade, new string[] { "Mineral Wool", "Mineral Wool", "Cross Laminated Timber" }, new double[] { 0.08, 0.08, 0.094 }, "Timber", "dataholz.com", ref Library); OpaqueConstruction.QuickConstruction("12mmGypsum 78mmSolidWood 12mmGypsum", ConstructionTypes.Partition, new string[] { "GypsumFibreBoard", "Cross Laminated Timber", "GypsumFibreBoard" }, new double[] { 0.012, 0.78, 0.012 }, "Timber", "dataholz.com", ref Library); OpaqueConstruction.QuickConstruction("78mmSolidWood", ConstructionTypes.Partition, new string[] { "Cross Laminated Timber" }, new double[] { 0.78 }, "Timber", "dataholz.com", ref Library); OpaqueConstruction.QuickConstruction("150mmScreedWithImpactSoundInsulation 140mmSolidWood", ConstructionTypes.InteriorFloor, new string[] { "Cross Laminated Timber", "Bonded chippings", "Impact sound insulation" , "Cement screed" }, new double[] { 0.14, 0.06, 0.03, 0.06 }, "Timber", "dataholz.com, gdmnxn02-00", ref Library); //List of premade basic glazing materials///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// GlazingMaterial gm1 = new GlazingMaterial() { Name = "Generic Clear Glass 6mm", Type = "Uncoated", Conductivity = 0.9, Density = 2500, EmbodiedEnergy = 15, EmbodiedCarbon = 0.85, Cost = 0.0, Comment = "", SolarTransmittance = 0.68, SolarReflectanceFront = 0.09, SolarReflectanceBack = 0.10, VisibleTransmittance = 0.81, VisibleReflectanceFront = 0.11, VisibleReflectanceBack = 0.12, IRTransmittance = 0.00, IREmissivityFront = 0.84, IREmissivityBack = 0.20 }; Library.Add(gm1); //List of premade basic glazing constructions///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Basic double glazing Layer<WindowMaterialBase> go1 = new Layer<WindowMaterialBase>(0.006, gm1); Layer<WindowMaterialBase> go2 = new Layer<WindowMaterialBase>(0.0013, Library.GasMaterials.Single(o=>o.Name == "ARGON")); GlazingConstruction gc1 = new GlazingConstruction(); gc1.Layers.Add(go1); gc1.Layers.Add(go2); gc1.Layers.Add(go1); gc1.Name = "DblClear Air 6_13_6"; gc1.Type = GlazingConstructionTypes.Double;// "Double"; Library.Add( gc1); #region schedules //--------------------------------------------------------------------------------schedules YearSchedule.QuickSchedule("occBedroom", new double[] { 1, 1, 1, 1, 1, 1, 0.8, 0.6, 0.4, 0.4, 0.4, 0.6, 0.8, 0.6, 0.4, 0.4, 0.6, 0.8, 0.8, 0.8, 0.8, 1, 1, 1 }, "Residential" , "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("equipBedroom", new double[] { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.5, 1, 0.5, 0.5, 0.5, 1, 1, 0.5, 0.5, 0.5, 1, 1, 1, 1, 0.5, 0.5, 0.5, 0.1 }, "Residential" , "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("lightsBedroom", new double[] { 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, "Residential", "based on SIA Merkblatt 2024 Occ Schedule", ref Library); YearSchedule.QuickSchedule("occKitchen", new double[] { 0, 0, 0, 0, 0, 0, 0.4, 0.8, 0.4, 0, 0, 0.4, 0.8, 0.4, 0, 0, 0.4, 1, 0.6, 0.4, 0, 0, 0, 0 }, "Residential" , "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("equipKitchen", new double[] { 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.8, 0.4, 0.2, 0.2, 0.4, 1, 0.4, 0.2, 0.2, 0.4, 1, 0.4, 0.2, 0.2, 0.2, 0.2, 0.2 }, "Residential", "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("lightsKitchen", new double[] { 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0 }, "Residential", "based on SIA Merkblatt 2024 Occ Schedule", ref Library); YearSchedule.QuickSchedule("occOffice", new double[] { 0, 0, 0, 0, 0, 0, 0, 0.2, 0.4, 0.6, 0.8, 0.8, 0.4, 0.6, 0.8, 0.8, 0.4, 0.2, 0, 0, 0, 0, 0, 0 }, new double[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, "Office","SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("equipOffice", new double[] { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.2, 0.4, 0.6, 0.8, 0.8, 0.4, 0.6, 0.8, 0.8, 0.4, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 }, new double[] { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 } , "Office", "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("lightsOffice", new double[] { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 }, new double[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, "Office", "based on SIA Merkblatt 2024 Occ Schedule", ref Library); YearSchedule.QuickSchedule("occMeetingRoom", new double[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.6, 1, 0.4, 0, 0, 0.6, 1, 0.4, 0, 0, 0, 0, 0, 0, 0 }, new double[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, "Office", "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("equipMeetingRoom", new double[] { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.2, 0.4, 0.6, 0.8, 0.8, 0.4, 0.6, 0.8, 0.8, 0.4, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 }, new double[] { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 }, "Office", "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("lightsMeetingRoom", new double[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, new double[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, "Office", "based on SIA Merkblatt 2024 Occ Schedule", ref Library); YearSchedule.QuickSchedule("occLibrary", new double[] { 0, 0, 0, 0, 0, 0, 0, 0.2, 0.6, 1, 1, 0.2, 0.2, 1, 1, 0.6, 0.2, 0, 0, 0, 0, 0, 0, 0 }, "Education", "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("equipLibrary", new double[] { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.2, 0.6, 1, 1, 0.2, 0.2, 1, 1, 0.6, 0.4, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 }, "Education", "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("lightsLibrary", new double[] { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, "Education", "based on SIA Merkblatt 2024 Occ Schedule", ref Library); YearSchedule.QuickSchedule("occLectureHall", new double[] { 0, 0, 0, 0, 0, 0, 0, 0.2, 0.6, 1, 1, 0.2, 0.2, 1, 1, 0.6, 0.2, 0, 0, 0, 0, 0, 0, 0 }, new double[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, "Education", "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("equipLectureHall", new double[] { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.2, 0.6, 1, 1, 0.2, 0.2, 1, 1, 0.6, 0.4, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 }, new double[] { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 }, "Education", "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("lightsLectureHall", new double[] { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, new double[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, "Education", "based on SIA Merkblatt 2024 Occ Schedule", ref Library); YearSchedule.QuickSchedule("occSuperMarket", new double[] { 0, 0, 0, 0, 0, 0, 0, 0.2, 0.4, 0.4, 0.4, 0.6, 0.6, 0.6, 0.4, 0.4, 0.6, 0.8, 0.6, 0, 0, 0, 0, 0 }, "Commercial", "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("equipSuperMarket", new double[] { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.1, 0.1, 0.1, 0.1, 0.1 }, "Commercial", "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("lightsSuperMarket", new double[] { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }, "Commercial", "based on SIA Merkblatt 2024 Occ Schedule", ref Library); YearSchedule.QuickSchedule("occShopping", new double[] { 0, 0, 0, 0, 0, 0, 0, 0.2, 0.4, 0.4, 0.4, 0.6, 0.6, 0.6, 0.4, 0.4, 0.6, 0.8, 0.6, 0, 0, 0, 0, 0 }, "Commercial", "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("equipShopping", new double[] { 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.1, 0.1, 0.1, 0.1, 0.1 }, "Commercial", "SIA Merkblatt 2024", ref Library); YearSchedule.QuickSchedule("lightsShopping", new double[] { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }, "Commercial", "based on SIA Merkblatt 2024 Occ Schedule", ref Library); Random r = new Random(); var Values = new double[8760]; for (int i = 0; i < 8760; i++) { Values[i] = (double)r.Next(1, 100) / 100.0; } Library.Add(new ScheduleArray() { Name = "RandomBehavior", Category = "Random", Values = Values }); //Library.ArraySchedules.Add(new ScheduleArray() { Name = "RandomBehavior2", Category = "Random", Values = Values }); #endregion Library.Add(new ZoneLoad() { Name = "BedroomLoads", PeopleDensity = 1.0 / 40.0, IlluminanceTarget = 200, LightingPowerDensity = 9.5, EquipmentPowerDensity = 2, OccupancySchedule = "occBedroom", EquipmentAvailibilitySchedule = "equipBedroom", LightsAvailibilitySchedule = "lightsBedroom", Category = "Residential" ,DataSource = "SIA Merkblatt 2024" }); Library.Add(new ZoneLoad() { Name = "KitchenLoads", PeopleDensity = 1.0 / 5.0, IlluminanceTarget = 500, LightingPowerDensity = 17, EquipmentPowerDensity = 40, OccupancySchedule = "occKitchen", EquipmentAvailibilitySchedule = "equipKitchen", LightsAvailibilitySchedule = "lightsKitchen", Category = "Residential" ,DataSource = "SIA Merkblatt 2024" }); Library.Add(new ZoneLoad() { Name = "SingleOfficeLoads", PeopleDensity = 1.0 / 14.0, IlluminanceTarget = 500, LightingPowerDensity = 16, EquipmentPowerDensity = 7, OccupancySchedule = "occOffice", EquipmentAvailibilitySchedule = "equipOffice", LightsAvailibilitySchedule = "lightsOffice", Category = "Office", DataSource = "SIA Merkblatt 2024" }); Library.Add(new ZoneLoad() { Name = "MeetingRoomLoads", PeopleDensity = 1.0 / 3.0, IlluminanceTarget = 500, LightingPowerDensity = 16, EquipmentPowerDensity = 2, OccupancySchedule = "occMeetingRoom", EquipmentAvailibilitySchedule = "equipMeetingRoom", LightsAvailibilitySchedule = "lightsMeetingRoom", Category = "Office", DataSource = "SIA Merkblatt 2024" }); Library.Add(new ZoneConditioning() { Name = "BedroomHeatingCoolingMechVent", HeatingSetpoint = 19, CoolingSetpoint = 26, MechVentIsOn = true, MinFreshAirPerson = 2.5, MinFreshAirArea = 0.3, Category = "Residential" }); Library.Add(new ZoneConditioning() { Name = "KitchenHeatingCoolingMechVent", HeatingSetpoint = 20, CoolingSetpoint = 26, MechVentIsOn = true, MinFreshAirPerson = 3.9, MinFreshAirArea = 0.9, Category = "Residential" }); Library.Add(new ZoneConditioning() { Name = "OfficeHeatingCoolingMechVent", HeatingSetpoint = 20, CoolingSetpoint = 26, MechVentIsOn = true, MinFreshAirPerson = 2.5, MinFreshAirArea = 0.3, Category = "Office" }); Library.Add(new ZoneConditioning() { Name = "MeetingRoomHeatingCoolingMechVent", HeatingSetpoint = 20, CoolingSetpoint = 26, MechVentIsOn = true, MinFreshAirPerson = 3.8, MinFreshAirArea = 0.3, Category = "Office" }); Library.Add(new ZoneConditioning() { Name = "LectureHallHeatingCoolingMechVent", HeatingSetpoint = 20, CoolingSetpoint = 26, MechVentIsOn = true, MinFreshAirPerson = 3.8, MinFreshAirArea = 0.3, Category = "Education" }); Library.Add(new ZoneVentilation() { Name = "PoorAirTightness", InfiltrationIsOn = true, InfiltrationAch = 1.2, InfiltrationModel = InfiltrationModel.Wind, Category = "Infiltration" }); Library.Add(new ZoneVentilation() { Name = "ModerateAirTightness", InfiltrationIsOn = true, InfiltrationAch = 0.5, InfiltrationModel = InfiltrationModel.Wind, Category = "Infiltration" }); Library.Add(new ZoneVentilation() { Name = "GoodAirTightness", InfiltrationIsOn = true, InfiltrationAch = 0.15, InfiltrationModel = InfiltrationModel.Wind, Category = "Infiltration" }); Library.Add(new DomHotWater() { Name = "House" , FlowRatePerFloorArea =0.03 , WaterSchedule = "AllOn" , WaterTemperatureInlet = 10, WaterSupplyTemperature = 60 }); Library.Add(new ZoneConstruction() { Name = "SolidWood", RoofConstruction = "300mmInsulation 94mmSolidWood 24mmGypsum", FacadeConstruction = "300mmInsulation 94mmSolidWood 24mmGypsum", SlabConstruction = "150mmScreedWithImpactSoundInsulation 140mmSolidWood", GroundConstruction = "120mmInsulation 200mmConcrete", PartitionConstruction = "12mmGypsum 78mmSolidWood 12mmGypsum" }); #region SimpleGlass Library.Add(new GlazingConstructionSimple("SinglePaneClr", "Single pane", "Standard clear", 0.913, 5.894, 0.905)); Library.Add(new GlazingConstructionSimple("DoublePaneClr", "Double pane", "Standard clear", 0.812, 2.720, 0.764)); Library.Add(new GlazingConstructionSimple("DoublePaneLoEe2", "Double pane", "Low emissivity coating on layer e2", 0.444, 1.493, 0.373)); Library.Add(new GlazingConstructionSimple("DoublePaneLoEe3", "Double pane", "Low emissivity coating on layer e3", 0.769, 1.507, 0.649)); Library.Add(new GlazingConstructionSimple("TriplePaneLoE", "Triple pane", "Low emissivity coating on layer e2 and e5", 0.661, 0.785, 0.764)); #endregion #region ZoneDefTemplates Library.Add(new WindowSettings()); Library.Add(new ZoneDefinition()); var fl1 = Library.Add(new FloorDefinition() { BuildingID ="Default", Type = "INT", Name= "Default_INT"}); var fl2 = Library.Add(new FloorDefinition() { BuildingID = "Default", Type = "B" , Name= "Default_B" }); var fl3 = Library.Add(new FloorDefinition() { BuildingID = "Default", Type = "G" , Name= "Default_G" }); var fl4 = Library.Add(new FloorDefinition() { BuildingID = "Default", Type = "R" , Name= "Default_R" }); BuildingDefinition b = new BuildingDefinition { Name = "Default" }; b.Floors.Add(fl1); b.Floors.Add(fl2); b.Floors.Add(fl3); b.Floors.Add(fl4); Library.Add(b); #endregion ////--------------------------------------------------------------------------------serialization test //string xml = SerializeDeserialize.Serialize(Library); //SerializeDeserialize.Deserialize(xml, typeof(ArchsimLib.Lib)); ////--------------------------------------------------------------------------------out return Library; }
private Library Convert(SokobanLibrary xmlLib) { var lib = new Library(); foreach (var puzzle in xmlLib.Puzzles) { var map = puzzle.Maps.FirstOrDefault(); if (map != null && map.Row != null) { lib.Add(Convert(puzzle, map)); } } return lib; }
/// <summary> /// Initialized the test terrain library. /// </summary> private void CreateTestLibrary() { testLibrary = new Library(); Descriptor desc = new Descriptor(); desc.Name = "Small Scale Landscape"; desc.Description = "Terrain library suitable for small scale maps."; testLibrary.Descriptor = desc; Terrain t = new Terrain(); desc = new Descriptor(); t.Descriptor = desc; desc.Name = "Grasslands"; desc.Description = "Grasslands or open plains"; t.SurfaceColor = new ColorARGB("#ffb5cf7c"); testLibrary.Add(t); t = new Terrain(); desc = new Descriptor(); t.Descriptor = desc; desc.Name = "Forest"; desc.Description = "Forested area populated with mostly deciduous trees"; t.SurfaceColor = new ColorARGB("#ff879959"); testLibrary.Add(t); PngImage surfaceFeature = new PngImage(File.ReadAllBytes(@"Assets\set00-trn01-ftr01.png")); t.AddSurfaceFeature(new Terrain.SurfaceFeature(surfaceFeature)); t = new Terrain(); desc = new Descriptor(); t.Descriptor = desc; desc.Name = "Dense Forest"; desc.Description = "Dense, old growth forest with deciduous trees"; t.SurfaceColor = new ColorARGB("#ff556332"); testLibrary.Add(t); surfaceFeature = new PngImage(File.ReadAllBytes(@"Assets\DenseForest-001.png")); t.AddSurfaceFeature(new Terrain.SurfaceFeature(surfaceFeature)); t = new Terrain(); desc = new Descriptor(); t.Descriptor = desc; desc.Name = "Mountains"; desc.Description = "Mountains with little or, no vegitation."; t.SurfaceColor = new ColorARGB("#ffa67048"); testLibrary.Add(t); t = new Terrain(); desc = new Descriptor(); t.Descriptor = desc; desc.Name = "Marsh"; desc.Description = "Temperate climate marsh or moors."; t.SurfaceColor = new ColorARGB("#ff8bd4cb"); testLibrary.Add(t); surfaceFeature = new PngImage(File.ReadAllBytes(@"Assets\set00-trn03-ftr01.png")); t.AddSurfaceFeature(new Terrain.SurfaceFeature(surfaceFeature)); t = new Terrain(); desc = new Descriptor(); t.Descriptor = desc; desc.Name = "Desert"; desc.Description = "Sandy desert with little or, no vegitation."; t.SurfaceColor = new ColorARGB("#ffd1c0a1"); testLibrary.Add(t); t = new Terrain(); desc = new Descriptor(); t.Descriptor = desc; desc.Name = "Water"; desc.Description = "Water. Typically shallow with a depth of less than 50 meters"; t.SurfaceColor = new ColorARGB("#ff6ccdf1"); testLibrary.Add(t); t = new Terrain(); desc = new Descriptor(); t.Descriptor = desc; desc.Name = "Deep Water"; desc.Description = "Water, typically with a depth of more than 50 meters"; t.SurfaceColor = new ColorARGB("#ff308aab"); testLibrary.Add(t); }