first attemps to make properly linearized version of mortar projection for finite sliding. not working at the moment, it has convergence issues.

This commit is contained in:
Jukka Aho
2016-02-23 11:32:53 +02:00
parent 21d7592c80
commit 65eb014de9
18 changed files with 1865 additions and 739 deletions
+13 -7
View File
@@ -166,16 +166,22 @@ function update_assembly!(problem, u, la)
# copy current solutions to previous ones and add/replace new solution
assembly.u_prev = copy(assembly.u)
assembly.la_prev = copy(assembly.la)
if get_formulation_type(problem) == :incremental
info("$(problem.name): incremental formulation, adding increment to solution vector")
#info("solution vector:")
#dump(round(u, 3)')
assembly.u += u
else
if get_formulation_type(problem) == :total
info("$(problem.name): total formulation, replacing solution vector with new values")
assembly.u = u
assembly.la = la
elseif get_formulation_type(problem) == :incremental
info("$(problem.name): incremental formulation, adding increment to solution vector")
assembly.u += u
assembly.la = la
elseif get_formulation_type(problem) == :forwarddiff
info("$(problem.name): forwarddiff formulation, adding increment to solution vector")
assembly.u += u
assembly.la += la
else
info("$(problem.name): unknown formulation type, don't know what to do with results")
error("serious failure with problem formulation: $(get_formulation_type(problem))")
end
assembly.la = la
# calculate change of norm
assembly.u_norm_change = norm(assembly.u - assembly.u_prev)