[go: up one dir, main page]

Menu

#19 Check if PD->PO restarter adapts mesh.

Robust adaptation.
closed
None
2023-08-16
2016-02-07
No

Branch-switching at a PD point seems to fail due to insufficient number of mesh points along doubled orbit. See also [#13].

Related

Tickets: #13

Discussion

  • Frank Schilder

    Frank Schilder - 2016-02-10
    • Milestone: --> Robust adaptation.
     
  • Harry Dankowicz

    Harry Dankowicz - 2016-03-21

    Here's a possible solution. Add the following lines after line 57 in ode_PD2po:

    cid = coco_get_id(oid,'po.orb.coll');
    if isempty(coco_get(prob, cid, 'NTST'))
      prob = coco_set(prob, cid, 'NTST', 2 * data.coll.NTST);
    end
    

    A similar change would apply to ode_PD2hspo.

     

    Last edit: Harry Dankowicz 2016-03-21
  • Harry Dankowicz

    Harry Dankowicz - 2016-03-21

    The following addition after line 57 in ode_PD2hspo resolves the issue for hspo:

    nsegs = data.hspo_orb.nsegs;
    for i=1:nsegs
      cid = coco_get_id(data.bvid, sprintf('seg%d.coll', i));
      cdata = coco_read_solution(cid, args.run, args.lab, 'data');
      cid = coco_get_id(oid, sprintf('hspo.orb.bvp.seg%d.coll', i));
      if isempty(coco_get(prob, cid, 'NTST'))
        prob = coco_set(prob, cid, 'NTST', cdata.coll.NTST);
      end
      cid = coco_get_id(oid, sprintf('hspo.orb.bvp.seg%d.coll', i+nsegs));
      if isempty(coco_get(prob, cid, 'NTST'))
        prob = coco_set(prob, cid, 'NTST', cdata.coll.NTST);
      end
    end
    

    These changes imply that line 188 in tor/demo.m can be omitted and that line 120 in bangbang/demo.m can be changed to prob = coco_prob();

     
  • Harry Dankowicz

    Harry Dankowicz - 2023-08-16
    • status: pending --> closed
     

Log in to post a comment.