diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle index e6a83a3..fa12ee5 100644 Binary files a/docs/_build/doctrees/environment.pickle and b/docs/_build/doctrees/environment.pickle differ diff --git a/docs/_build/doctrees/quickstart.doctree b/docs/_build/doctrees/quickstart.doctree index bd28c3d..723c82f 100644 Binary files a/docs/_build/doctrees/quickstart.doctree and b/docs/_build/doctrees/quickstart.doctree differ diff --git a/docs/_build/html/_sources/quickstart.rst.txt b/docs/_build/html/_sources/quickstart.rst.txt index 0feda38..3357a03 100644 --- a/docs/_build/html/_sources/quickstart.rst.txt +++ b/docs/_build/html/_sources/quickstart.rst.txt @@ -9,15 +9,17 @@ Initialize :align: right * Design space can be initialized via two modes. -* ``SHAPE`` defines existing geometry as design space. +* ``SHAPE`` defines existing geometry (can be imported as well) as design space. * ``HULL`` forms a convexhull excluding existing objects. * Design space is then saved as a ``.stl`` file under the specified ``workspace_path`` -\ +| .. image:: ./initialize.gif :alt: Initialize +| + Define ------ .. figure:: ./def.png @@ -27,15 +29,16 @@ Define * Specify the ``number of forces`` acting on the object. * Assign ``materials`` to face(s) corresponding to each force, fixed and non-design space. * Assign ``vertex groups`` to edges that depict the direction of each corresponding force. -* Input the ``magnitude`` and click the ``Expand`` button to visualize each one of the applied forces. +* Input the ``magnitude`` and click the ``Expand`` button to visualize and change direction of each applied force. * Specify the ``maximum element size`` for tetrahedral finite element mesh generation and click ``Define`` - -\ +| .. image:: ./define.gif :alt: Define +| + Generate -------- @@ -58,6 +61,8 @@ Generate * For a conceptual understanding of these parameters, read `Material interpolation schemes in topology optimization. `_ * Input the ``number of iterations`` and click ``Generate`` +| + Visualize --------- @@ -71,7 +76,9 @@ Visualize * The generated metaball object can then be converted into a mesh via ``Object`` -> ``Covert to`` -> ``Mesh from Curve/Meta/Surf/Text`` * A ``Smooth Corrective`` modifier can then be applied on the mesh during export. -\ +| .. image:: ./visualize.gif :alt: Visualize + +| \ No newline at end of file diff --git a/docs/_build/html/quickstart.html b/docs/_build/html/quickstart.html index 64697fe..a0b557e 100644 --- a/docs/_build/html/quickstart.html +++ b/docs/_build/html/quickstart.html @@ -43,12 +43,17 @@

Initialize
  • Design space can be initialized via two modes.

  • -
  • SHAPE defines existing geometry as design space.

  • +
  • SHAPE defines existing geometry (can be imported as well) as design space.

  • HULL forms a convexhull excluding existing objects.

  • Design space is then saved as a .stl file under the specified workspace_path

  • -

    +
    +

    +
    Initialize +
    +

    +

    Generate

    @@ -94,6 +104,9 @@

    GenerateMaterial interpolation schemes in topology optimization.

  • Input the number of iterations and click Generate

  • +
    +

    +

    diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js index 83cd961..ea9901b 100644 --- a/docs/_build/html/searchindex.js +++ b/docs/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["index","installation","license","quickstart","release","scripts"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["index.rst","installation.rst","license.rst","quickstart.rst","release.rst","scripts.rst"],objects:{"":{definer:[5,0,0,"-"],initializer:[5,0,0,"-"],processor:[5,0,0,"-"],properties:[5,0,0,"-"],visualizer:[5,0,0,"-"]},"definer.Anton_OT_Definer":{create_geo:[5,2,1,""],execute:[5,2,1,""]},"definer.Anton_OT_DirectionUpdater":{execute:[5,2,1,""]},"initializer.Anton_OT_ForceUpdater":{execute:[5,2,1,""]},"initializer.Anton_OT_Initializer":{execute:[5,2,1,""]},"processor.Anton_OT_Processor":{execute:[5,2,1,""]},"visualizer.Anton_OT_Visualizer":{execute:[5,2,1,""]},definer:{Anton_OT_Definer:[5,1,1,""],Anton_OT_DirectionUpdater:[5,1,1,""]},initializer:{Anton_OT_ForceUpdater:[5,1,1,""],Anton_OT_Initializer:[5,1,1,""]},processor:{Anton_OT_Processor:[5,1,1,""],ElemStiffElasMatBa3DP1Vec:[5,3,1,""]},properties:{AntonPropertyGroup:[5,1,1,""],ForcePropertyGroup:[5,1,1,""]},visualizer:{Anton_OT_Visualizer:[5,1,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function"},terms:{"144":5,"case":5,"class":5,"enum":5,"export":3,"float":5,"function":[2,5],"int":5,"public":2,"return":5,"true":5,For:[2,3,5],The:[2,3,5],about:3,abov:5,access:5,across:5,act:[3,5],activ:5,add:[1,5],after:5,all:[2,5],allow:5,ani:2,anim:3,anton:[1,2],anton_ot_defin:5,anton_ot_directionupdat:5,anton_ot_forceupdat:5,anton_ot_initi:5,anton_ot_processor:5,anton_ot_visu:5,anton_pt_panel:5,antonpropertygroup:5,api:1,appli:[3,5],area:5,arrai:5,arrow:5,assembl:2,assign:[3,5],attribut:2,awai:2,base:[0,5],been:5,best:0,binari:5,blender:[0,1],bool:5,bound:5,boundari:5,bpy:5,built:0,button:3,can:[2,3,5],cancel:5,cartesian:5,cdist:5,center:5,centroid:5,chang:[2,3,5],cl_max:5,click:[1,3],clmax:5,color:5,com:5,comput:5,conceptu:3,connect:5,constraint:0,context:5,contrast:2,converg:5,convert:3,convexhul:[3,5],copyleft:2,correct:3,correspond:[3,5],covert:3,creat:5,create_geo:5,creation:[0,5],current:0,curv:3,curve_loop:5,cuveli:[2,5],defin:0,definit:5,defint:5,densiti:[0,3,5],density_chang:5,density_filt:5,density_out:5,depict:3,design:[2,3,5],develop:[0,2,5],dict:5,direct:[3,5],direction_:5,displac:5,distanc:5,distributed_forc:5,document:[2,5],dof:5,dont:1,download:[1,2,5],dure:3,dynam:5,each:[3,5],edg:[3,5],edit:1,edofmat:5,effici:2,either:[2,5],elast:5,element:[2,3,5],element_cent:5,elemstiffelasmatba3dp1vec:5,emin:[3,5],enabl:1,exclud:3,execut:5,exist:[3,5],expand:3,explicitli:5,explor:0,expon:3,face:[3,5],facilit:5,factor:5,fals:5,fdensiti:5,feasibl:0,file:[1,3,5],filenam:5,filter:[0,3,5],finish:5,finit:[2,3,5],fix:[3,5],fixed_el:5,fixed_fac:5,fixed_nod:5,flip:5,folder:5,forc:[3,5],force_:5,force_direct:5,forced_direct:5,forced_direction_sign:5,forced_el:5,forced_fac:5,forced_magnitud:5,forced_nod:5,forcepropertygroup:5,form:3,foundat:2,fraction:5,framework:0,franc:[2,5],free:[2,5],freedom:2,from:[2,3,5],fsensit:5,further:0,galile:[2,5],gener:[2,5],geo_edg:5,geo_point:5,geometri:[3,5],global:5,gmsh:1,gmsh_api:5,gnu:2,gpl:2,greas:5,group:[3,5],guarante:2,has:5,have:1,head:[1,5],here:3,http:[2,5],hull:[3,5],implicit:[0,5],includ:2,include_fix:5,include_forc:5,indic:5,input:3,instanti:[3,5],institut:[2,5],integ:5,intend:2,interpol:3,interv:0,iter:[3,5],its:[0,2],japhet:[2,5],keyfram:[3,5],kind:2,laga:[2,5],lagrang:[2,5],lambda:5,lame:5,later:2,latest:1,learn:1,list:5,load:5,look:1,loop:5,magnitud:[3,5],maintain:[2,5],make:2,map:5,mass:5,materi:[3,5],math:[2,5],matric:[2,5],matrix:5,maximum:[3,5],mean:5,meet:0,mention:3,mesh:[0,3,5],meta:3,metabal:[3,5],metaballrad:5,metaballsen:5,method:[2,5],methodolog:0,minimum:5,mode:[3,5],modifi:[2,3],modul:[1,2],modulu:5,more:[0,3],most:2,name:5,nativ:5,navig:1,neighbour:[3,5],neighbourhood:[3,5],nme:5,no_design_fac:5,no_design_nod:5,no_design_set:5,node:5,nodesignspac:5,non:[3,5],notic:2,number:[3,5],number_of_forc:5,number_of_iter:5,number_of_neighbour:5,numer:0,numpi:[1,5],object:[0,3,5],obstacl:5,one:[0,3],onlin:[2,5],ons:1,open:[0,1],oper:5,optim:[0,3,5],option:2,origin:5,other:2,otherwis:5,outcom:0,over:1,p_1:[2,5],packag:[2,5],paramet:[0,3,5],pari:[2,5],paris13:[2,5],path:5,penal:5,penalti:3,penalty_expon:5,pencil:5,per:5,perform:0,physic:5,pla:5,point:[3,5],poisson:5,posit:5,practic:[0,2],prefer:1,problem:5,process:0,product:2,program:2,project:[2,5],propertygroup:5,provid:2,publish:2,pyoptfem:[2,5],python:[1,2,5],radiu:[3,5],ratio:3,read:3,redistribut:2,refer:[2,5],releas:1,remain:2,requir:1,result:5,retriev:5,rmin:5,routin:2,save:[3,5],scale:5,scarella:[2,5],scheme:3,scikit:1,scipi:1,select:3,sensit:[3,5],sensitivity_filt:5,set:[0,5],shape:[3,5],share:2,sign:5,simpl:2,size:[3,5],slice:5,smooth:[3,5],softwar:[2,5],solv:5,sourc:0,space:[3,5],specifi:[3,5],stage:0,stiff:5,stl:3,store:5,str:5,structur:5,success:5,suit:0,sure:2,surf:3,surfac:[0,5],take:2,term:2,tetrahedr:[3,5],text:3,thei:5,thi:2,threshold:5,tmp:5,topolog:[0,3],total:5,tqdm:1,triangl:5,two:3,type:5,under:[2,3],understand:3,univ:[2,5],univers:[2,5],used:[0,5],user:2,uses:0,using:0,valu:5,vari:0,variabl:5,vector:[2,5],version:2,vertex:[3,5],vertic:5,via:[3,5],viz_iter:5,volum:5,volumina:3,volumina_ratio:5,well:[0,5],when:5,wherea:5,which:[3,5],whose:5,within:0,work:2,workspac:5,workspace_path:[3,5],www:[2,5],xiii:[2,5],yield:0,you:[1,2],young:5,your:2,zip:1},titles:["Welcome to anton\u2019s documentation!","Installation","License","Quickstart","Releases","Scripts"],titleterms:{anton:0,defin:[3,5],design:0,document:0,gener:[0,3],initi:[3,5],instal:1,licens:2,processor:5,properti:5,quickstart:3,releas:4,script:5,visual:[3,5],welcom:0,what:0}}) \ No newline at end of file +Search.setIndex({docnames:["index","installation","license","quickstart","release","scripts"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["index.rst","installation.rst","license.rst","quickstart.rst","release.rst","scripts.rst"],objects:{"":{definer:[5,0,0,"-"],initializer:[5,0,0,"-"],processor:[5,0,0,"-"],properties:[5,0,0,"-"],visualizer:[5,0,0,"-"]},"definer.Anton_OT_Definer":{create_geo:[5,2,1,""],execute:[5,2,1,""]},"definer.Anton_OT_DirectionUpdater":{execute:[5,2,1,""]},"initializer.Anton_OT_ForceUpdater":{execute:[5,2,1,""]},"initializer.Anton_OT_Initializer":{execute:[5,2,1,""]},"processor.Anton_OT_Processor":{execute:[5,2,1,""]},"visualizer.Anton_OT_Visualizer":{execute:[5,2,1,""]},definer:{Anton_OT_Definer:[5,1,1,""],Anton_OT_DirectionUpdater:[5,1,1,""]},initializer:{Anton_OT_ForceUpdater:[5,1,1,""],Anton_OT_Initializer:[5,1,1,""]},processor:{Anton_OT_Processor:[5,1,1,""],ElemStiffElasMatBa3DP1Vec:[5,3,1,""]},properties:{AntonPropertyGroup:[5,1,1,""],ForcePropertyGroup:[5,1,1,""]},visualizer:{Anton_OT_Visualizer:[5,1,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function"},terms:{"144":5,"case":5,"class":5,"enum":5,"export":3,"float":5,"function":[2,5],"import":3,"int":5,"public":2,"return":5,"true":5,For:[2,3,5],The:[2,3,5],about:3,abov:5,access:5,across:5,act:[3,5],activ:5,add:[1,5],after:5,all:[2,5],allow:5,ani:2,anim:3,anton:[1,2],anton_ot_defin:5,anton_ot_directionupdat:5,anton_ot_forceupdat:5,anton_ot_initi:5,anton_ot_processor:5,anton_ot_visu:5,anton_pt_panel:5,antonpropertygroup:5,api:1,appli:[3,5],area:5,arrai:5,arrow:5,assembl:2,assign:[3,5],attribut:2,awai:2,base:[0,5],been:5,best:0,binari:5,blender:[0,1],bool:5,bound:5,boundari:5,bpy:5,built:0,button:3,can:[2,3,5],cancel:5,cartesian:5,cdist:5,center:5,centroid:5,chang:[2,3,5],cl_max:5,click:[1,3],clmax:5,color:5,com:5,comput:5,conceptu:3,connect:5,constraint:0,context:5,contrast:2,converg:5,convert:3,convexhul:[3,5],copyleft:2,correct:3,correspond:[3,5],covert:3,creat:5,create_geo:5,creation:[0,5],current:0,curv:3,curve_loop:5,cuveli:[2,5],defin:0,definit:5,defint:5,densiti:[0,3,5],density_chang:5,density_filt:5,density_out:5,depict:3,design:[2,3,5],develop:[0,2,5],dict:5,direct:[3,5],direction_:5,displac:5,distanc:5,distributed_forc:5,document:[2,5],dof:5,dont:1,download:[1,2,5],dure:3,dynam:5,each:[3,5],edg:[3,5],edit:1,edofmat:5,effici:2,either:[2,5],elast:5,element:[2,3,5],element_cent:5,elemstiffelasmatba3dp1vec:5,emin:[3,5],enabl:1,exclud:3,execut:5,exist:[3,5],expand:3,explicitli:5,explor:0,expon:3,face:[3,5],facilit:5,factor:5,fals:5,fdensiti:5,feasibl:0,file:[1,3,5],filenam:5,filter:[0,3,5],finish:5,finit:[2,3,5],fix:[3,5],fixed_el:5,fixed_fac:5,fixed_nod:5,flip:5,folder:5,forc:[3,5],force_:5,force_direct:5,forced_direct:5,forced_direction_sign:5,forced_el:5,forced_fac:5,forced_magnitud:5,forced_nod:5,forcepropertygroup:5,form:3,foundat:2,fraction:5,framework:0,franc:[2,5],free:[2,5],freedom:2,from:[2,3,5],fsensit:5,further:0,galile:[2,5],gener:[2,5],geo_edg:5,geo_point:5,geometri:[3,5],global:5,gmsh:1,gmsh_api:5,gnu:2,gpl:2,greas:5,group:[3,5],guarante:2,has:5,have:1,head:[1,5],here:3,http:[2,5],hull:[3,5],implicit:[0,5],includ:2,include_fix:5,include_forc:5,indic:5,input:3,instanti:[3,5],institut:[2,5],integ:5,intend:2,interpol:3,interv:0,iter:[3,5],its:[0,2],japhet:[2,5],keyfram:[3,5],kind:2,laga:[2,5],lagrang:[2,5],lambda:5,lame:5,later:2,latest:1,learn:1,list:5,load:5,look:1,loop:5,magnitud:[3,5],maintain:[2,5],make:2,map:5,mass:5,materi:[3,5],math:[2,5],matric:[2,5],matrix:5,maximum:[3,5],mean:5,meet:0,mention:3,mesh:[0,3,5],meta:3,metabal:[3,5],metaballrad:5,metaballsen:5,method:[2,5],methodolog:0,minimum:5,mode:[3,5],modifi:[2,3],modul:[1,2],modulu:5,more:[0,3],most:2,name:5,nativ:5,navig:1,neighbour:[3,5],neighbourhood:[3,5],nme:5,no_design_fac:5,no_design_nod:5,no_design_set:5,node:5,nodesignspac:5,non:[3,5],notic:2,number:[3,5],number_of_forc:5,number_of_iter:5,number_of_neighbour:5,numer:0,numpi:[1,5],object:[0,3,5],obstacl:5,one:0,onlin:[2,5],ons:1,open:[0,1],oper:5,optim:[0,3,5],option:2,origin:5,other:2,otherwis:5,outcom:0,over:1,p_1:[2,5],packag:[2,5],paramet:[0,3,5],pari:[2,5],paris13:[2,5],path:5,penal:5,penalti:3,penalty_expon:5,pencil:5,per:5,perform:0,physic:5,pla:5,point:[3,5],poisson:5,posit:5,practic:[0,2],prefer:1,problem:5,process:0,product:2,program:2,project:[2,5],propertygroup:5,provid:2,publish:2,pyoptfem:[2,5],python:[1,2,5],radiu:[3,5],ratio:3,read:3,redistribut:2,refer:[2,5],releas:1,remain:2,requir:1,result:5,retriev:5,rmin:5,routin:2,save:[3,5],scale:5,scarella:[2,5],scheme:3,scikit:1,scipi:1,select:3,sensit:[3,5],sensitivity_filt:5,set:[0,5],shape:[3,5],share:2,sign:5,simpl:2,size:[3,5],slice:5,smooth:[3,5],softwar:[2,5],solv:5,sourc:0,space:[3,5],specifi:[3,5],stage:0,stiff:5,stl:3,store:5,str:5,structur:5,success:5,suit:0,sure:2,surf:3,surfac:[0,5],take:2,term:2,tetrahedr:[3,5],text:3,thei:5,thi:2,threshold:5,tmp:5,topolog:[0,3],total:5,tqdm:1,triangl:5,two:3,type:5,under:[2,3],understand:3,univ:[2,5],univers:[2,5],used:[0,5],user:2,uses:0,using:0,valu:5,vari:0,variabl:5,vector:[2,5],version:2,vertex:[3,5],vertic:5,via:[3,5],viz_iter:5,volum:5,volumina:3,volumina_ratio:5,well:[0,3,5],when:5,wherea:5,which:[3,5],whose:5,within:0,work:2,workspac:5,workspace_path:[3,5],www:[2,5],xiii:[2,5],yield:0,you:[1,2],young:5,your:2,zip:1},titles:["Welcome to anton\u2019s documentation!","Installation","License","Quickstart","Releases","Scripts"],titleterms:{anton:0,defin:[3,5],design:0,document:0,gener:[0,3],initi:[3,5],instal:1,licens:2,processor:5,properti:5,quickstart:3,releas:4,script:5,visual:[3,5],welcom:0,what:0}}) \ No newline at end of file diff --git a/docs/quickstart.rst b/docs/quickstart.rst index 0feda38..3357a03 100644 --- a/docs/quickstart.rst +++ b/docs/quickstart.rst @@ -9,15 +9,17 @@ Initialize :align: right * Design space can be initialized via two modes. -* ``SHAPE`` defines existing geometry as design space. +* ``SHAPE`` defines existing geometry (can be imported as well) as design space. * ``HULL`` forms a convexhull excluding existing objects. * Design space is then saved as a ``.stl`` file under the specified ``workspace_path`` -\ +| .. image:: ./initialize.gif :alt: Initialize +| + Define ------ .. figure:: ./def.png @@ -27,15 +29,16 @@ Define * Specify the ``number of forces`` acting on the object. * Assign ``materials`` to face(s) corresponding to each force, fixed and non-design space. * Assign ``vertex groups`` to edges that depict the direction of each corresponding force. -* Input the ``magnitude`` and click the ``Expand`` button to visualize each one of the applied forces. +* Input the ``magnitude`` and click the ``Expand`` button to visualize and change direction of each applied force. * Specify the ``maximum element size`` for tetrahedral finite element mesh generation and click ``Define`` - -\ +| .. image:: ./define.gif :alt: Define +| + Generate -------- @@ -58,6 +61,8 @@ Generate * For a conceptual understanding of these parameters, read `Material interpolation schemes in topology optimization. `_ * Input the ``number of iterations`` and click ``Generate`` +| + Visualize --------- @@ -71,7 +76,9 @@ Visualize * The generated metaball object can then be converted into a mesh via ``Object`` -> ``Covert to`` -> ``Mesh from Curve/Meta/Surf/Text`` * A ``Smooth Corrective`` modifier can then be applied on the mesh during export. -\ +| .. image:: ./visualize.gif :alt: Visualize + +| \ No newline at end of file