Volupe logo

Blog berichten Volupe

Gebruik van filters en query's in Simcenter STAR-CCM+

Filters en zoekopdrachten in STAR-CCM+

In dit artikel zal ik ingaan op filters en queries. Filters en queries kunnen worden gebruikt om je simulations te automatiseren, wat je veel tijd kan besparen. Als je bijvoorbeeld een simulatie file sjabloon maakt dat filters en queries bevat, dan kunnen die gedefinieerd worden om automatisch randvoorwaarden toe te wijzen aan surfaces met bepaalde namen. Dit betekent dat het sjabloon later kan worden gebruikt voor toekomstige simulations op soortgelijke geometrieën, om de hoeveelheid handmatig werk te verminderen. Het artikel bevat een algemene beschrijving en een deel waarin een klein sjabloon wordt gemaakt om de stroomlijnmogelijkheden van de filtertool te laten zien.

Algemeen

In de simulatieboom van Simcenter STAR-CCM+, onder gereedschappen, vindt u Filters. Een filter gebruikt queries om groepen van objecten te definiëren in Simcenter STAR-CCM+. Een query bestaat uit een of meer voorwaardelijke verklaringen, predicaten genaamd. Zij worden gebruikt om te zoeken tussen de objecten in de simulatie.

Filters en queries kunnen worden gebruikt om objecten te vinden in de boom, selectie in mesh operaties, afgeleide onderdelen, en scene vertoners. U kunt filters gebruiken om aangepaste bomen te maken en om geneste queries te maken waar aan twee of meer predicaten moet worden voldaan.

Het gebruik van filters en query's kan u een heel eind op weg helpen bij het maken van uw eigen sjablonen in Simcenter STAR-CCM+. Hiermee kunt u uw eigen simulatiebestanden opzetten voor soortgelijke typen simulations, waar u met behulp van filters en query's uw geometrie van belang kunt uitwisselen. We zullen hieronder een voorbeeld bekijken, waarbij het gebruik van filters ons in staat moet stellen om van het importeren van een oppervlak mesh direct naar het klaar zijn voor meshing en simulatie te gaan.

Eerst bekijken we waar filters kunnen worden gevonden in de simulatieboom. Zodra je een filter bewerkt kun je verschillende predicaten selecteren om in je filter op te nemen. U kunt filteren op namen, type, relaties in de boom en u kunt ook verwijzen naar andere filters. Zo ontstaan geneste filters. U kunt gebruik maken van de operatoren AND, die vereisen dat aan alle predikaten moet worden voldaan, en OR, die toestaan dat een van de predikaten aan de filtereis voldoet, zoals rechts in de onderstaande figuur is aangegeven.

 

 

 

 

 

 

 

 

 

 

 

Om een query aan een selectie toe te wijzen klikt u op de trechter (in rode cirkels in de afbeelding hieronder) die overal te vinden is waar u gewoonlijk een geometrie-selectie maakt. U kunt dan de filters en predicaten toevoegen die u wilt aan de queries.

Maak een sjabloon

In het voorbeeld zal ik vier lichamen gebruiken, getoond in de figuur hieronder in twee verschillende scenes. Ik zal verschillende filters en queries instellen die ons in staat stellen om een combinatie van een groot domein (grote cilinder of grote doos) en een kleinere obstakel geometrie (kleine cilinder of kleine doos) te selecteren om te importeren als een oppervlakte mesh. Zodra ze zijn geïmporteerd als een oppervlak mesh in geometrie/onderdelen, zullen ze direct klaar zijn voor meshing en simulatie. De grote lichamen hebben inlaten en uitlaten samen met een set wanden. De oppervlakken moeten een naam hebben omdat veel van de query's verwijzen naar een naam die een bepaalde tekst-string bevat.

Laten we een volledige template maken die elke combinatie van onze grote lichamen en kleine geometrieën (obstakels) kan uitvoeren. Met elke geometrische vorm binnen elke andere. Omdat er twee geometrieën zijn in elke mogelijke combinatie van oppervlaktemaasjes, en omdat we maar één fluid domein willen, beginnen we met het maken van een subtract-operatie. In de onderstaande afbeelding staat de beschrijving van de selectie van filters en query's voor de Eerste subtract-operatie die een simulatie-domein creëert, dat de kleine obstakel-geometrie aftrekt van het grote lichaam.

In de afbeelding hieronder definiëren we de initiële subtract operatie om het simulatie domein te creëren. Hier gebruiken we een selectie van filters en query's. De ingevoerde delen moeten een Geometry Part zijn en hun naam mag niet "Subtract" bevatten. Links ziet u het resultaat van uw query: Blok_domein en Cilinder_obstakel.

In de onderste filter is een selectie die ervoor zorgt dat het onderdeel met de naam domein wordt geselecteerd (dat is ons doel onderdeel). In de bovenste selectie selecteert het filter alle onderdelen die we hebben geïmporteerd. Merk echter op dat het nieuw aangemaakte onderdeel dat is geassocieerd met de subtract-operatie wordt uitgesloten.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

De volgende stap is het creëren van een gebied dat altijd kan worden gebruikt en dat wordt gebruikt met een aantal naamsquery's die een onfeilbare selectie van de namen mogelijk maken. Dit is natuurlijk gerelateerd aan de naamgeving van uw specifieke geometrie.

Zodra we een regio hebben gemaakt die gebaseerd is op het deel dat we hebben gemaakt met onze bewerking aftrekken (na "delen toewijzen aan regio's"), hernoemen we eenvoudig alle grenzen (en de regio zelf) naar iets algemeens. Dit is niet noodzakelijk, maar maakt het gemakkelijker om de verschillende grenzen bij te houden. We kunnen dan naam-queries gebruiken op zowel de regio als de regio grenzen. Het kan nodig zijn om bepaalde onderdelen uit te sluiten van selectie op sommige grenzen. Want als een onderdeel eenmaal is geselecteerd in een query, kan het niet opnieuw worden toegewezen (hetzelfde principe als de mogelijkheid om slechts één onderdeeloppervlak aan een grens toe te wijzen).

De afbeelding hieronder laat zien hoe de query's eruit zien voor de Fluid-Region en een paar van de grenzen. De regio hoeft alleen overeen te komen met de subtract-operatie, omdat die altijd zal bestaan in het sim-bestand. Het is alleen de oppervlakte mazen die worden verondersteld te worden vervangen. De grens met de naam Floor hoeft ook alleen maar overeen te komen met zijn naam. Voor de muur-grens moeten we echter het geërfde deeloppervlak muur dat gerelateerd is aan het deel met obstakel in zijn naam uitsluiten. Dit is omdat we alle deeloppervlakken die gerelateerd zijn aan het obstakel in de eigen begrenzing willen hebben.

 

 

 

 

 

 

 

 

 

 

 

 

 

De volgende stap is het maken van een maasbewerking. Als dat gedaan is verwijzen we weer naar het subtract-deel. Er wordt een oppervlak-verfijning opgenomen die overeenkomt met de naam obstakel (waardoor het obstakel iets beter wordt opgelost). Een zog-verfijning met een spreiding van 10 graden wordt gebruikt om het zog op te lossen.

Een scène is ook opgezet met behulp van queries om altijd een afgeleid deel te tonen (slechts één in de simulatie). Dat betekent dat type is ingesteld op afgeleid deel in de query, wat de scènes laat zien die we hieronder zien. Ongeacht de combinatie die wordt gebruikt voor domein en obstakels importeert u gewoon de oppervlakte mesh die u in uw simulatie wilt opnemen, voert u alle bewerkingen uit en draait u. U zou ook uw post-processing kunnen opzetten met behulp van queries en filter. Dat wordt hier niet getoond, maar het volgt hetzelfde principe.

Ik hoop dat dit u heeft geholpen de automatiseringsmogelijkheden binnen Simcenter STAR-CCM+ te begrijpen. Mocht u nog vragen hebben, aarzel dan niet om mij een email te sturen op robin.victor@volupe.com

Lees ook:
Templating, een voorbeeld van interne stroom

 

Meer blogberichten

nl_BEDutch