Is it possible to optimize parameters in the constraints section of the FEB file

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • Fisher
    Member
    • Feb 2017
    • 38

    Is it possible to optimize parameters in the constraints section of the FEB file

    What I want to run is something like this

    <?xml version="1.0"?>
    <febio_optimize version="2.0">
    <Options>
    <obj_tol>0.001</obj_tol>
    <f_diff_scale>0.001</f_diff_scale>
    </Options>
    <Parameters>
    <param name="fem.material(’BM’).custom_material.material_ constant">0.99, 0.9, 0.99999, 1</param>
    <param name="fem.constraint[0].constraint_constant_1">1e-5, 1e-9, 0.1, 1</param>
    <param name="fem.constraint[0].constraint_constant_2">1, 0, 20, 1</param>

    </Parameters>
    <Objective type="data-fit">
    <fnc type="parameter">
    <param name="fem.mesh.node[690].position.y"/>
    </fnc>
    <data>
    <point>0.0, 0</point>
    <point>400.0, 1</point>
    </data>
    </Objective>
    </febio_optimize>

    When I try to run this I just get the message "failed initializing the task: optimise" (in febio 2.8.5)
    I don't know if the syntax is wrong or if what I'm trying to do is not supported.
    (Im using a custom material plugin that has constants in the constraints section that influence how the material evolves)
  • maas
    Lead Code Developer
    • Nov 2007
    • 3435

    #2
    Hi,

    This should work. I've attached an optimization problem that uses a parameter of the constraint. (This example doesn't do anything useful, but it just illustrates the syntax. I tried this with FEBio2.9 and FEBio3.)

    I don't see anything obviously wrong with your syntax. Of course, I don't know your custom material's interior structure, so it could be a syntax error? Also, perhaps try to use an index for the material, instead of the name.

    Code:
    <param name="fem.material[0].custom_material.material_constant">0.99, 0.9, 0.99999, 1</param>
    If that doesn't work, can you share your input file, or at least the Materials section?

    Thanks,

    Steve
    Attached Files
    Department of Bioengineering, University of Utah
    Scientific Computing and Imaging institute, University of Utah

    Comment

    • Fisher
      Member
      • Feb 2017
      • 38

      #3
      Thanks
      my material is a mixture and what I was using before was
      <param name="fem.material(’material_name’).mixture_compon ent_name.material_constant">0.99, 0.9, 0.99999, 1</param>
      what worked is
      <param name="fem.material[X].elastic_solid[Y].material_constant">0.99, 0.9, 0.99999, 1</param>

      perhaps what I should have used in the original style was this :
      <param name="fem.material(’material_name’).elastic_solid( 'mixture_component_name').material_constant">0.99, 0.9, 0.99999, 1</param>

      regardless, it's working now

      Comment

      Working...
      X
      😀
      😂
      🥰
      😘
      🤢
      😎
      😞
      😡
      👍
      👎