System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SqlClient.SqlException: Invalid column name 'AlsoVisibleInDomains'.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
   at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
   at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
   --- End of inner exception stack trace ---
   at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
   at System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
   at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass41_0.<GetResults>b__0()
   at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__31_0()
   at System.Data.Entity.Internal.LazyEnumerator`1.MoveNext()
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector)
   at MuME2.Data.Managers.CachingManagerBase`2.GetDictionary() in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\CachingManagerBase.cs:line 70
   at MuM.Foundation.Caching.Services.CustomCacheService.Get[T](String key, GetFromSourceDelegate`1 getDelegate) in D:\a\1\s\src\Foundation\Caching\code\Services\CustomCacheService.cs:line 260
   at MuME2.Data.Managers.CachingManagerBase`2.get_CachedDictionary() in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\CachingManagerBase.cs:line 72
   at MuME2.Data.Managers.CachingManagerBase`2.All() in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\CachingManagerBase.cs:line 67
   at MuME2.Data.Managers.EventTypeManager.All() in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\EventTypeManager.cs:line 26
   at MuME2.Data.Managers.EventTypeManager.SingleByName(String name) in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\EventTypeManager.cs:line 90
   at MuME2.Data.Managers.EventManager.SingleForDetails(Uri url) in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\EventManager.cs:line 73
   at MuM.Project.Website.Services.SeoService.GetCurrentEvent() in D:\a\1\s\src\Project\Website\code\Services\SeoService.cs:line 216
   at MuM.Project.Website.Services.SeoService.GetCanonicalUrl(Base_Page page, String customHost) in D:\a\1\s\src\Project\Website\code\Services\SeoService.cs:line 188
   at MuM.Project.Website.Services.SeoService.RenderHrefLangTags(Base_Page page) in D:\a\1\s\src\Project\Website\code\Services\SeoService.cs:line 65
   at Mum.Relaunch.Web.Controllers.Framework.DefaultPageController.HtmlHead() in D:\a\1\s\src\Legacy\Mum.Relaunch.Web\Controllers\Framework\DefaultPageController.cs:line 111
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c.<BeginInvokeSynchronousActionMethod>b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__11_0()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_1.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_1.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_6.<BeginInvokeAction>b__3()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.<BeginInvokeAction>b__5(IAsyncResult asyncResult)
    
WILA
WILA

Form follows cooling

WILA simuliert Wärmeströme von LED-Kühlkörpern mit Autodesk Simulation CFD

WILA entwickelt individuelle LED-Leuchtensysteme und setzt dabei auf thermische Simulation im hauseigenen Messlabor. Anstatt mehrerer, im Lasersinterverfahren hergestellter Prototypen, die sich langsam an die maximal zulässige Gehäusetemperatur annähern, wird jetzt nur noch einer gebaut. Das spart Zeit und Geld.
 
„Unser Anspruch war es, eigene Kühlkörper zu entwickeln“, sagt Jörg Maskos, Leiter Forschung und Entwicklung bei WILA. Das ist dem Unternehmen aus Iserlohn – im Jahr 1857 als Möbelbeschlagshersteller gegründet – mit Erfolg gelungen. Für seine LED-Produktfamilie alphabet hat WILA gerade die iF und Red Dot Product Design Awards 2013 erhalten
 
WILA stellt seit 2007 LED-Leuchten her, die in öffentlichen Gebäuden, Geschäfts- und Verwaltungsbauten oder auf Flughäfen eingesetzt werden. Die Lebensdauer einer LED-Leuchte liegt bei durchschnittlich 50.000 Stunden. Sowohl Leistung als auch Lebensdauer werden vornehmlich vom Temperaturmanagement beeinflusst. Denn nicht nur Glühlampen und Halogenspots, auch LEDs können im Betrieb ziemlich heiß werden. Weil die Leuchten in den letzten Jahren immer leistungsfähiger geworden sind, ist parallel der Anspruch an deren Kühlung gestiegen. Durch die Einhaltung des sogenannten Tc-Punktes wird sichergestellt, dass sich kein Bauteil zu stark erwärmt. “Tc” steht für “case temperature”, die maximal zulässige Gehäusetemperatur.
WILA - Jörg Maskos

Intuitive Oberfläche, geringer Schulungsaufwand

Wie viele andere Hersteller auch startete WILA sein Kühlkörperdesign zunächst im “Trial and Error”-Verfahren. Verbunden war das mit einem aufwändigen Prototypenbau im Lasersinterverfahren, um die einzelnen Stufen der Temperaturabsenkung zu überprüfen. Ein einziges Lasersinterteil kostete oft mehr als 1.200 Euro. Und jede Leuchte erforderte etwa drei bis fünf Durchläufe bis zur Marktreife. Dazu kamen Bestell-, Liefer- und Herstellzeiten, die das Leuchtendesign um weitere Tage und Wochen verzögern konnten.
 
Das sollte anders werden. Das Designteam sah sich Anfang 2012 aktiv nach einer entsprechenden Software um. Zu den getesteten Programmen gehörte Simulation CFD von Autodesk, dessen Anfänge im Markt knapp 20 Jahre zurückreichen und das heute als Branchenstandard gilt. CFD steht für Computational Fluid Dynamics, simuliert Wärme und Strömung und stellt diese ähnlich wie eine Wärmebildkamera oder eine Art „Röntgenbrille“ dar. Am Ende waren es die intuitive Oberfläche, der geringe Schulungsaufwand, diverse Automatisierungen für den unerfahrenen Anwender und das persönliche Gespräch mit der zertifizierten Simulationsabteilung von MuM in Wessling, die Jörg Maskos und sein Designteam überzeugten. „Das Programm ist absolut überschaubar. Der Einstieg ging zügig, ein Tag Onlineschulung hat ausgereicht.“ Inzwischen arbeiten die Leuchtendesigner bei WILA seit mehr als einem Jahr mit Simulation CFD. Und vor der Freigabe wird jetzt nur noch ein Prototyp gebaut. Oder, wie Maskos es ausdrückt: „Zwischen CFD und Werkzeug liegt nur noch ein Lasersinterteil. Das spart enorm Zeit und Geld.“
WILA

Simulation von Luftströmen und Kamineffekt

Heute tasten sich die Entwickler über die Simulation an die perfekte thermische Auslegung heran. Das Design wird als 3D-Modell aus der Konstruktionssoftware (CAD) per direkter Schnittstelle in das Simulationsprogramm eingelesen und quasi über Nacht berechnet. Um die zwei Stunden veranschlagt Maskos für ein „normales Modell“. Einfache Kühlkörper lassen sich noch schneller rechnen. Die Vorgehensweise und die Rechenzeit hängen davon ab, was genau am Kühlkörper konzipiert werden soll.
 
WILA simuliert mit CFD verschiedene Einflüsse. Es sind die Luftströme im Leuchtkörper, die visualisiert werden, der Kamineffekt und die Wärme, die durch Kühlkörper in das Umfeld abgeleitet werden. „Wir kommen da schon sehr nah an den realen Wert. Ohne CFD könnten wir unsere Vorstellungen nicht so schnell und kostengünstig entwickeln und umsetzen.“ So war bei der alphabet-Serie zunächst ein runder Kühlkörper angedacht. Die Software zeigte allerdings auf, dass dort, wo auf Grund des Designs im Außenbereich Kühlrippen abgeschnitten worden waren, die größte Wärmeentwicklung stattfinden würde und genau dort die höchste Kühlleistung erforderlich wäre. Das Ganze wurde umkonstruiert und neu simuliert. Die markante Form des neuen Kühlkörpers ist Ausdruck der optimalen Wärmeabfuhr durch eine maximierte, aber auch unübliche Oberfläche. Den Red Dot Award führt Maskos nicht zuletzt auf das Programm zurück. „Die Wabenstruktur sowie die Anzahl und Abstände der Streben konnten wir mittels Simulation CFD in idealer Weise optimieren, den Wärmesenkkörper im Zentralbereich umdimensionieren und den Materialeinsatz auf ein Minimum reduzieren.“
WILA