idaholab / blackbear

BlackBear is a MOOSE-based code for simulating degradation processes in concrete and other structural materials.
GNU Lesser General Public License v2.1
17 stars 42 forks source link

Update NEML submodule #289

Closed dschwen closed 2 years ago

dschwen commented 2 years ago

Reason

New models have been added to NEML since the last update 5 months ago and we need those for a project.

Design

Update submodule, verify that tests work.

Impact

Added capability.

dschwen commented 2 years ago

darn

dyld[94111]: symbol not found in flat namespace '__ZN4neml10Quaternion10initializeERNS_12ParameterSetE'

that's _neml::Quaternion::initialize(neml::ParameterSet&)

dschwen commented 2 years ago

That function is nowhere to be found...

dschwen commented 2 years ago

weird, this class

class NEML_EXPORT CrystalOrientation : public NEMLObject, public Orientation { 
 public:
  CrystalOrientation(ParameterSet & params);

  /// Type for the object system
  static std::string type();
  /// Parameters for the object system
  static ParameterSet parameters();
  /// Setup from a ParameterSet
  static std::unique_ptr<NEMLObject> initialize(ParameterSet & params);
};

derived form Quaternion and NEMLObject and has an initialize method. But why does the dynamic linker assume that method should exist on the Quaternion class?

reverendbedford commented 2 years ago

Quaternion is no longer supposed to be accessible from the XML input system, just CrystalOrientation.

Is this just in compiling NEML? Or linking to blackbear? I've been using the current version of NEML with our app and haven't run into any issues and we do test the build on Windows, Mac, and Linux.

dschwen commented 2 years ago

This is a runtime linker error that pops up when executing Blackbear (./blackbear --json)

reverendbedford commented 2 years ago

EDIT: Ignore this.

Are you working from devel? Because if so I can't even get to the point where I might be helpful...

/home/messner/projects/blackbear/src/auxkernels/MineralDissolutionPrecipAux.C:77:28: error: ‘_u_old’ was not declared in this scope; did you mean ‘_dt_old’?
   77 |   Real _new_mineral_conc = _u_old[_qp] - kinetic_rate * _dt;
dschwen commented 2 years ago

Ok, hang on, I wonder if this was a simple error due to lingering objects that I should have clobbered first...

dschwen commented 2 years ago

🤦 yeah, that was it