Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jul 05 2018 08:12
    ahojukka5 reopened #1
  • Jul 05 2018 08:12
    ahojukka5 closed #1
  • Jul 04 2018 20:13
    femtocleaner[bot] opened #1
  • Jul 04 2018 20:13

    femtocleaner[bot] on deps

    Fix deprecations (compare)

  • Jul 04 2018 12:35

    ahojukka5 on v0.1.2

    (compare)

  • Jul 04 2018 12:29

    ahojukka5 on v0.1.0

    (compare)

  • Jul 04 2018 12:24

    ahojukka5 on master

    Rename package (#4) Better nam… (compare)

  • Jul 04 2018 12:24
    ahojukka5 closed #4
  • Jul 04 2018 11:46
    ahojukka5 synchronize #4
  • Jul 04 2018 11:46

    ahojukka5 on rename_package

    Rename package Better name is … (compare)

  • Jul 04 2018 11:37
    ahojukka5 reopened #4
  • Jul 04 2018 11:37
    ahojukka5 closed #4
  • Jul 04 2018 08:50
    ahojukka5 opened #4
  • Jul 04 2018 08:49

    ahojukka5 on rename_package

    Rename file Rename package Better name is … (compare)

  • Jul 03 2018 18:40

    ahojukka5 on master

    Fix + example (#3) * Fix updat… (compare)

  • Jul 03 2018 18:40
    ahojukka5 closed #3
  • Jul 03 2018 15:46
    coveralls commented #3
  • Jul 03 2018 15:22
    ahojukka5 opened #3
  • Jul 03 2018 15:22

    ahojukka5 on fix

    Fix + example * Fix updating f… (compare)

  • Jul 03 2018 14:32

    ahojukka5 on gh-pages

    Initial empty commit for docs build based on 3e391f5 (compare)

Jukka Aho
@ahojukka5
Sympystä löytyy lambdify, joku tuon tapanen voisi kyllä Pythonillakin onnistua. Ei oikein houkuttele juurikin jonku 27-solmuisen elementin muotofunktioiden ja osittaisderivaattojen käsin naputtelu, menee todennäköisyydellä 1 väärin.
Tom Gustafsson
@kinnala
mielenkiintoinen lähestymistapa. julia on kyllä näppärä kieli
Joona Vaara
@jvaara
@ovainola @ahojukka5 jossei materiaali-interface tule FEMBase:en niin kuinka ajattelit että se saatais tuossa perus frameworkissa toimimaan? Problem(Continuum)?
Jukka Aho
@ahojukka5
Tulee kunhan ehtii.. Ei ole vielä edes tägätty paketti.
Mut FEMBase.jl:ään ja siitä sitten.

@jvaara:

struct Mamo
    params
    stress
    other
end

function Mamo()
    params = zeros(12)
    stress = reshape(view(params, 1:9), 3, 3)
    other = view(params, 10:12)
    return Mamo(params, stress, other)
end

Tämä muuten itse asiassa toimii. Eli muistia käytetään vain tuo 12 alkiota, mutta sulla on stress 3x3 matriisi joka ottaa parametrivektorista ensimmäiset 9 lukua ja other ottaa kolme viimeistä vektoriin. Kaikista voi päivittää ja kaikkia voi lukea. Tuo params voi sitten mennä epälineaariseen iteraatioon parametrivektorina. Tässä näin esimerkkinä mitenkä saa koodia sievemmäksi.

Joona Vaara
@jvaara
niin että integrointipistedataa (lähtötilanne iteraatiolle) olis viewillä otettu sinne material containeriin?
tai toisinpäin
Jukka Aho
@ahojukka5
Noo voisihan sen niinkin tehdä, hyvä havainto. Mutta ajattelin lähinnä, että kun sulla on se get_nonlinear_system_of_equations tmv, niin sä voit samaan dataan saada useampia esitysmuotoja jotka sitten helpottaa sitä käsittelyä
Todennäköisesti voi rakentaa jopa sellaisen viewin 6-pituinen vektori näkyy 3x3 symmetrisenä tensorina.
Joona Vaara
@jvaara
niin että lähettäisin sinne vaan pointterin sieltä integrate_material!-tasolta?
ajattelin refaktoroida sen chaboche.jl:n kunhan tajuan että kuinka mun pitäs toimia ton gitin kans :)
vektorinotaatioon laskenta jne turhat tensorit pois kun on harjoteltu ja on testi etc
Jukka Aho
@ahojukka5
Niin, tai sitten Tensors.jl.
Joona Vaara
@jvaara
vaihe kerrallaan
ihan mielenkiintosta nähdä kun benchmarkkaa että minkälaista nopeutusta tulee esim. siihen simulaattori testiin
Joona Vaara
@jvaara
hep, jos allokoin vektorin vektoreista näin: simulator.stresses = similar(strains)
niin sitten kun haluaisin alkaa täyttämään sinne tavaraa niin kun laitan simulator.stresses[1][:] .= copy(material.stress) niin tulee ERROR: UndefRefError: access to undefined refence
Jukka Aho
@ahojukka5
simulator.stresses = [zeros(6) for j in 1:length(strains)]
Joona Vaara
@jvaara
mjoo
Jukka Aho
@ahojukka5
Tässä tulee semmonen ongelma että esim. Poi1-elementteihin jotka laittaa reunaehtoja pitäis laittaa youngs modulus jos ne ovat samassa ongelmassa kuin minkä materiaalimalli tarvii ko. fieldiä.
set materiaalimalli pitänee määritellä problemissa
nyt on solverissa mutta sehän on täysin hassua.
vai pitäiskö määritellä malli elementissä. element.material_model = :IdealPlastic jne.
Joona Vaara
@jvaara
Integrointipiste on se loogisin paikka sille
Tai pienin yksikkö missä sitä myös kutsutaan
Joona Vaara
@jvaara
alotin tekee tuota yhden elementin simulaattoria
@ahojukka5
@ovainola voit sitten käyttää sitä testeissä kunhan saan sen valmiiksi
Jukka Aho
@ahojukka5
JuliaFEM/Materials.jl#29 tuolla se on jo tulossa. On vähän kesken vielä. Jostakin syystä ne tallennetut jutut on dtime:n verran väärässä ajassa.
Muutoin tuo on jo valmis.
Saa korjata.
ovainola
@ovainola
@jvaara roger
Tom Gustafsson
@kinnala
mielenkiintosta kohinaa ollu teillä tuolla kansainvälisellä puolella
on aina pitäny opetella tollasia inkrementaalisia plastisuusmalleja mutta ei oo oikein löytyny hyvää lähdeteosta tai tarpeeksi aikaa
toisaalta kiinnostaisi myös ne variaatioepäyhtälöt plastisuuteen liittyen
Joona Vaara
@jvaara
joo, me pidettiin hackatron viime viikonloppuna Jukan kanssa ja yritettiin saada tuo konsepti testattua. Nyt yritän saada rakenteen semmoseksi että kestäis päivänvaloa vähän pidempään :)
Jukka Aho
@ahojukka5
Tässä vaiheessa olisi hyvä lähteä opiskelemaan, kun kaikki on niin alussa. Nollasta tämä minullakin käytännössä lähti.
@ovainola onko sulla tehtynä joku koodi jolla voi generoida sitä materiaalin kiderakennetta.
Joona Vaara
@jvaara
@TeroFrondelius @ahojukka5 pitäiskö tuolle Kristofferille ehdottaa sitä aikaa ettei jää roikkumaan ilmaan..?
Tom Gustafsson
@kinnala
eipä mulla mitään varsinaista tarvetta nyt juuri plastisuusmalleille ole, mutta jos tulee jotain hyvää kirjallisuutta vastaan, niin sellaseen on aina kiva perehtyä
Tero Frondelius
@TeroFrondelius
@ahojukka5 vastaan @ovainola puolesta: ei ole. Kaikki generointi tapahtui VTT:n koodeilla. Pyydetään Anssilta yksi yksikkökoppi.
^ disclaimer: tuo oli status meidän projektista. Yliopiston projektiin voi olla jotain 2D koodia.
Jukka Aho
@ahojukka5
Joo okei. Mietin vaan että jos Ollilla on tullut jotakin materiaalikoodia tehtyä joka olisi open sourcea niin sitä voisi harkita liittävänsä joko Materials.jl tai FEMMaterials.jl
Jukka Aho
@ahojukka5
@kinnala olisko sulla ehdotuksia mitenkä pitäisi määritellä kontakti-interface niin että sillä voitais toteuttaa nämä mortar-kontaktit ja kumppanit?
Tom Gustafsson
@kinnala
olen tehnyt siten, että on valmiiksi määritelty tietorakenne, jossa on "supermesh", joka on jonkinlainen yhdistetty verkko molempien rajapintojen pintaverkoista, ja jokaiselle supermeshin elementille kaks indeksiä, jotka kertoo sitä vastaavat pintaverkon elementit eri rajapinnoilla. tuollaisen tietorakenteen avulla assembly on tosi nopea ja kätevä tehdä, mutta tällaisen tietorakenteen tekeminen tyhjästä yleiselle geometrialle on varmaankin haastavaa enkä ole sitä miettinyt. myös suurten siirtymien tapauksessa tietorakennetta pitää vähän rukata jokaisella askeleella, joten voi olla että se ei ole fiksu tapa
prof. hannukainen on tehnyt matlab-koodin, joka generoi tällaisen supermesh-rakenteen kahdelle pintaverkolle ja olen käyttänyt sitä omissa testilaskuissa. jos muistan oikein niin siinäkin piti antaa jonkinlainen bijektiivinen kuvaus pinnalta toiselle arvauksena, joten sekään ei ole riittävän yleinen mielivaltaisiin suurten siirtymien laskuihin
Jukka Aho
@ahojukka5
https://github.com/JuliaInterop/Cxx.jl tämän esimerkit toimii ihan out of box.

https://github.com/JuliaInterop/CxxWrap.jl tässä pitää osata tehdä jaettu kirjasto oikein, hello world esimerkki tässä: https://github.com/JuliaInterop/CxxWrap.jl/blob/master/test/hello.jl

Ensin kaivetaan kirjastojen sijainti:

julia> using CxxWrap
julia> dirname(dirname(CxxWrap.libcxxwrap_julia))
"/home/jukka/.julia/packages/CxxWrap/sarOk/deps/usr"

Sitten compilessa -fPIC päälle ja include-polkuun CxxWrap ja Julia:

jukka@jukka-XPS-13-9380:/tmp/cxxwrap$ g++ -c -I/home/jukka/.julia/packages/CxxWrap/sarOk/deps/usr/include -I/opt/julia/include/julia -fPIC hello.cpp

Linkkauksessa jotain tämän tapaista:

jukka@jukka-XPS-13-9380:/tmp/cxxwrap$ g++ hello.o -shared -o libhello.so -L/opt/julia/lib -Wl,-rpath,/home/jukka/.julia/packages/CxxWrap/sarOk/deps/usr/lib: /home/jukka/.julia/packages/CxxWrap/sarOk/deps/usr/lib/libcxxwrap_julia.so.0 -ljulia
jukka@jukka-XPS-13-9380:/tmp/cxxwrap$ julia sayhello.jl 
CppHello.greet() = "hello, world"
Jukka Aho
@ahojukka5
</note to myself>