Innehållsförteckning:

Mätning av kraftförändringar i ett genererat fibernät när de förskjuts med extern kraft: 8 steg
Mätning av kraftförändringar i ett genererat fibernät när de förskjuts med extern kraft: 8 steg

Video: Mätning av kraftförändringar i ett genererat fibernät när de förskjuts med extern kraft: 8 steg

Video: Mätning av kraftförändringar i ett genererat fibernät när de förskjuts med extern kraft: 8 steg
Video: ITS, Intelligenta transportsystem, konferens 7 november 2023 2024, November
Anonim
Mätning av kraftförändringar i ett genererat fibernät när de förskjuts med extern kraft
Mätning av kraftförändringar i ett genererat fibernät när de förskjuts med extern kraft

Celler kan interagera med sin omgivande extracellulära matris (ECM) och kan både gälla och reagera på krafter som utövas av ECM. För vårt projekt simulerar vi ett sammankopplat nätverk av fibrer som skulle fungera som ECM och se hur nätverket förändras som svar på rörelse av en av punkterna. ECM modelleras som ett sammankopplat fjädringssystem som initialt är i jämvikt med en nettokraft på noll. När kraft appliceras på nätet som svar på punktrörelsen, försöker vi få de anslutna punkterna att reagera på kraften på ett sådant sätt att de försöker återgå till jämvikt. Kraften övervakas av ekvationen F = k*x där k är fjäderkonstanten och x är förändringen i fiberlängd. Denna simulering kan hjälpa till att ge en allmän förståelse för kraftutbredning i fibrösa nätverk som så småningom kan användas för att simulera mekanotransduktion.

Steg 1: Skapa en NxN -matris med enhetliga rutor

Skapa en NxN -matris med enhetliga rutor
Skapa en NxN -matris med enhetliga rutor
Skapa en NxN -matris med enhetliga rutor
Skapa en NxN -matris med enhetliga rutor

För att starta koden väljer vi N som bestämmer dimensionerna på vårt nätverk (NxN). Värdet på N kan ändras manuellt för att ändra nätverksdimensionerna efter behov. I det här exemplet, N = 8 så vi har ett 8x8 nätverk av punkter. När vi har skapat matrisen ansluter vi alla punkter i matrisen som har en längd på 1 enhet med hjälp av avståndsformeln, distans = sqrt ((x2-x1)^2+(y2-y1)^2). Genom att göra detta får vi ett nätverk av rutor som alla är lika fördelade med 1 enhet. Detta kan ses i figur 101.

Steg 2: Randomisering av nätverket

Slumpmässigt nätverk
Slumpmässigt nätverk
Slumpmässigt nätverk
Slumpmässigt nätverk

I detta steg vill vi slumpmässigt alla punktplatser utom de yttre punkterna som kommer att bilda vår gräns. För att göra detta hittar vi först alla matriskoordinater som är lika med 0 eller N. Dessa punkter är de som utgör gränsen. För de icke -gränsiska punkterna randomiseras platsen genom att lägga till ett annat slumpmässigt värde från -5 till.5 till både x- och y -positionerna. Den plottade randomiserade bilden kan ses i figur 1.

Steg 3: Skaffa nya avstånd

Få nya avstånd
Få nya avstånd

När vårt randomiserade nätverk väl skapats hittar vi avståndet mellan anslutna punkter med hjälp av avståndsformeln igen.

Steg 4: Välj en punkt och jämför avståndet från den punkten till andra

Välj en punkt och jämför avståndet från den punkten till andra
Välj en punkt och jämför avståndet från den punkten till andra
Välj en punkt och jämför avståndet från den punkten till andra
Välj en punkt och jämför avståndet från den punkten till andra
Välj en punkt och jämför avståndet från den punkten till andra
Välj en punkt och jämför avståndet från den punkten till andra

I det här steget kan vi välja en intressant plats med markören, som visas i figur 2. Du behöver inte flytta markören exakt till punkten eftersom koden justerar den till närmaste anslutningspunkt. För att göra detta beräknar vi först avståndet mellan alla anslutna punkter och den punkt vi just valde. När alla avstånd har beräknats väljer vi den punkt med det minsta avståndet från den valda punkten för att bli den faktiska valda punkten.

Steg 5: Flytta till en ny punkt

Flytta till en ny punkt
Flytta till en ny punkt
Flytta till en ny punkt
Flytta till en ny punkt
Flytta till en ny punkt
Flytta till en ny punkt

I det här steget, med hjälp av den punkt som valdes i föregående steg, flyttar vi punkten till en ny plats. Denna rörelse görs genom att välja en ny position med markören som kommer att ersätta den tidigare positionen. Denna rörelse kommer att användas för att simulera en utövad kraft på grund av förändring i fjäderlängd. I den helt blå figuren väljs en ny plats. I nästa figur kan rörelsen visualiseras med de orange anslutningarna som är de nya platserna i motsats till de blå förbindelserna som var de gamla platserna.

Steg 6: Tvinga = K*avstånd

Kraft = K*avstånd
Kraft = K*avstånd

I detta steg tillämpar vi ekvationskraften = k*avstånd, där k är en konstant 10 för kollagenfibrer. Eftersom fibernätet börjar vid dess jämviktstillstånd är nettokraften 0. Vi skapar en nollvektor längden på matrisen vi genererade tidigare för att representera denna jämvikt.

Steg 7: Ändra nätverksrörelse på grund av den flyttade punkten

Ändra nätverksrörelse på grund av den flyttade punkten
Ändra nätverksrörelse på grund av den flyttade punkten
Ändra nätverksrörelse på grund av den flyttade punkten
Ändra nätverksrörelse på grund av den flyttade punkten
Ändra nätverksrörelse på grund av den flyttade punkten
Ändra nätverksrörelse på grund av den flyttade punkten
Ändra nätverksrörelse på grund av den flyttade punkten
Ändra nätverksrörelse på grund av den flyttade punkten

I detta steg simulerar vi nätverkets rörelse som svar på punktrörelsen för att återgå till dess jämviktstillstånd. Vi börjar med att hitta de nya avstånden mellan två punkter. Med detta kan vi hitta förändringen i fiberlängd genom att titta på skillnaden mellan gamla och nya avstånd. Vi kan också se vilka punkter som har flyttat och även de punkter som de är kopplade till genom att jämföra de nya och gamla punktplatserna. Detta gör att vi kan se vilka punkter som ska röra sig som svar på den utövade kraften. Rörelsens riktning kan delas upp i dess x- och y -komponenter, vilket ger en 2D -riktningsvektor. Med hjälp av k -värdet, förändring i avstånd och riktningsvektor kan vi beräkna kraftvektorn som kan användas för att flytta våra punkter mot jämvikt. Vi kör den här delen av koden 100 gånger, varje gång vi rör oss i steg om kraft*.1. Genom att köra koden 100 gånger kan vi så småningom nå jämvikt igen och genom att hålla gränsvillkoren ser vi en förändring i nätverket istället för helt enkelt ett helt skift. Nätverksrörelsen kan ses i figur 3 med det gula som är de flyttade positionerna och det blå är de tidigare.

Steg 8: Färdig kod

I detta avsnitt bifogas en kopia av vår kod. Känn dig fri att ändra den för att passa dina behov med modellering av olika nätverk!

Rekommenderad: