source:
issm/oecreview/Archive/25834-26739/ISSM-26633-26634.diff@
28275
Last change on this file since 28275 was 26740, checked in by , 3 years ago | |
---|---|
File size: 4.4 KB |
-
../trunk-jpl/src/jl/test101.jl
3 3 using .ISSM 4 4 5 5 md = ISSM.model() 6 md = ISSM.triangle(md,"../../test/Exp/Square.exp",180000.) 6 #md = ISSM.triangle(md,"../../test/Exp/Square.exp",180000.) 7 md = ISSM.triangle(md,"../../test/Exp/Square.exp",250000.) 7 8 md = ISSM.setmask(md,"all","") 8 9 9 10 #Geometry -
../trunk-jpl/src/jl/solve/analyses.jl
52 52 end 53 53 54 54 end#}}} 55 function GetSolutionFromInputs(analysis::StressbalanceAnalysis,ug::Vector{Float64},element::Tria) #{{{ 56 error("STOP") 57 end#}}} 58 55 59 function Core(analysis::StressbalanceAnalysis,femmodel::FemModel)# {{{ 56 60 57 61 #Fetch parameters relevant to solution sequence … … 64 68 error("STOP") 65 69 66 70 end #}}} 71 72 67 73 function solutionsequence_nonlinear(femmodel::FemModel,analysis::Analysis,maxiter::Int64,restol::Float64,reltol::Float64,abstol::Float64) # {{{ 68 74 69 75 #Initialize number of iterations -
../trunk-jpl/src/jl/solve/modules.jl
33 33 #Constrain and Number nodes 34 34 SpcNodesx(nodes,constraints,parameters) 35 35 NodesDofx(nodes,parameters) 36 error("STOP")37 36 38 37 #Build FemModel 39 38 return FemModel(elements,vertices,nodes,parameters,inputs,constraints) … … 106 105 end# }}} 107 106 function NodesDofx(nodes::Vector{Node}, parameters::Parameters) #{{{ 108 107 109 error("not implemented yet") 108 #Do we have any nodes? 109 if length(nodes)==0 110 return 111 end 110 112 113 #Do we really need to update dof indexing 114 if(~RequiresDofReindexing(nodes)) return end 115 116 print(" Renumbering degrees of freedom\n") 117 DistributeDofs(nodes,GsetEnum) 118 DistributeDofs(nodes,FsetEnum) 119 DistributeDofs(nodes,SsetEnum) 120 111 121 end# }}} 122 function GetSolutionFromInputsx(analysis::Analysis,femmodel::FemModel) #{{{ 123 124 #Get size of vector 125 gsize = NumberOfDofs(femmodel.nodes,GsetEnum) 126 127 println(gsize) 128 error("Stop ===") 129 130 #Initialize solution vector 131 ug = Vector{Float64}(undef,gsize) 132 133 #Go through elements and plug in solution 134 for i=1:length(femmodel.elements) 135 GetSolutionFromInputs(analysis,ug,femmodel.elements[i]) 136 end 137 138 return ug 139 140 end#}}} -
../trunk-jpl/src/jl/solve/nodes.jl
31 31 node.svalues[dof] = value 32 32 33 33 end# }}} 34 function DistributeDofs(node::Node,setenum::IssmEnum,dofcount::Int64) #{{{ 35 36 if setenum==GsetEnum 37 for i=1:node.gsize 38 node.gdoflist[i] = dofcount 39 dofcount += 1 40 end 41 elseif setenum==FsetEnum 42 for i=1:node.gsize 43 if node.fdoflist[i]!=-1 44 @assert node.sdoflist[i]==-1 45 node.fdoflist[i] = dofcount 46 dofcount += 1 47 end 48 end 49 elseif setenum==SsetEnum 50 for i=1:node.gsize 51 if node.sdoflist[i]!=-1 52 @assert node.fdoflist[i]==-1 53 node.sdoflist[i] = dofcount 54 dofcount += 1 55 end 56 end 57 else 58 error("not supported") 59 end 60 61 return dofcount 62 end# }}} 63 function GetNumberOfDofs(node::Node,setenum::IssmEnum) #{{{ 64 65 if setenum==GsetEnum 66 dofcount = node.gsize 67 elseif setenum==FsetEnum 68 dofcount = 0 69 for i=1:node.gsize 70 if node.fdoflist[i]!=-1 71 dofcount += 1 72 end 73 end 74 elseif setenum==SsetEnum 75 dofcount = 0 76 for i=1:node.gsize 77 if node.sdoflist[i]!=-1 78 dofcount += 1 79 end 80 end 81 else 82 error("not supported") 83 end 84 85 return dofcount 86 87 end# }}} 88 89 #Nodes functions 90 function RequiresDofReindexing(nodes::Vector{Node}) #{{{ 91 92 for i in 1:length(nodes) 93 if nodes[i].indexingupdate 94 return true 95 end 96 end 97 98 return false 99 100 end# }}} 101 function DistributeDofs(nodes::Vector{Node},setenum::IssmEnum) #{{{ 102 103 dofcount = 1 104 105 for i in 1:length(nodes) 106 dofcount = DistributeDofs(nodes[i],setenum,dofcount) 107 end 108 109 110 end# }}} 111 function NumberOfDofs(nodes::Vector{Node},setenum::IssmEnum) #{{{ 112 113 numdofs = 0 114 for i in 1:length(nodes) 115 numdofs += GetNumberOfDofs(nodes[i],setenum) 116 end 117 return numdofs 118 119 end# }}}
Note:
See TracBrowser
for help on using the repository browser.