Hi Victor,
I'm not an expert on modal reduction, but in the meantime can you be more 
precise about the problem?
For example:

   1. you say "some of the input matrices are wrong". What "wrong" means to 
   you? Are there missing coefficients? Is the size wrong? Does the stiffness 
   matrix have different values to the one expected? Wa
   2. are you sure that your "Pannel" object is correctly implemented? Does 
   a normal dynamic simulation work?
   3. is there any exception triggered and, if so, in which line? you say 
   that you hit "some kind of problems". We are not really able to fix *"some 
   kind"* of problems, but we may try to fix some *specific *problem. Is 
   there any missing attachment in your post? How can we expect to give 
   advices if we don't have neither your full code nor even a precise error 
   output?
   4. Did you split internal nodes from those at the boundaries? like this?
       auto mesh_internal = chrono_types::make_shared<ChMesh>();
       assembly->AddInternal(mesh_internal);  // NOTE: MESH FOR INTERNAL 
   NODES: USE assembly->AddInternal()
   
       auto mesh_boundary = chrono_types::make_shared<ChMesh>();
       assembly->Add(mesh_boundary);  // NOTE: MESH FOR BOUNDARY NODES: USE 
   assembly->Add()
   5. which tutorial did you follow?
   6. Did you try to give a look at this demo?
   
   
https://github.com/projectchrono/chrono/blob/main/src/demos/modal/demo_MOD_assembly.cpp
   
We are currently working in better modal reduction methods on a separate 
branch, but in the meanwhile it would be great if you provide better info 
about your problem.

Dario
Il giorno lunedì 4 dicembre 2023 alle 11:07:32 UTC+1 [email protected] ha 
scritto:

> Debuging shows the problem in ConvertToMatrixForm()  function. Seems some 
> of the input matrices are wrong... but which one and how to fix it ????
>
> On Monday, December 4, 2023 at 12:55:56 PM UTC+3 Vic M wrote:
>
>> Hello everyone,
>>     I'm experiencing some kind of problem working with model reduction 
>> functionality in chrono. 
>>     I'm using the ChModalAssembly for modeling and reduction (as 
>> repented in the tutorial)
>> First I create the system
>> ```
>> ChSystemNSC sys; auto qr_solver = chrono_types::make_shared<
>> ChSolverSparseQR>(); sys.SetSolver(qr_solver);
>> ....
>> ```
>> Then creating my model object
>> ```
>> auto sp = chrono_types::make_shared<Pannel>(); 
>> sys.Add(sp);
>> ```
>>
>> The mesh is loaded from external TetGen file
>> ```
>> ChMeshFileLoader::FromTetGenFile(mesh_internal, ///< destination mesh 
>> pathToNodesFile.c_str(), ///< name of the .node file pathToEleFile.c_str
>> (), ///< name of the .ele file mmaterial, ///< material for the created 
>> tetahedrons VNULL, ///< optional displacement of imported mesh ChMatrix33
>> <>(1) ///< optional rotation/scaling of imported mesh ); 
>> ```
>> Then I do the reduction
>> ```
>> SetModalMode(true); SwitchModalReductionON( nModes, // The number of 
>> modes to retain from modal reduction, or a ChModalSolveUndamped with more 
>> settings ChModalDampingRayleigh(0.001, 0.005) // The damping model - 
>> Optional parameter: default is ChModalDampingNone(). );
>> ```
>>
>> After the reduction the program crashes with SEGV at either
>> ```
>> ComputeModesDamped(10);
>> ```
>> or (if the above is commented out) at
>>
>> ```
>> sys.DoStepDynamics(step_size);
>> ```
>> The model has 1302 nodes and 3441 elements
>> It's very frustrating since I don't know where my mistake may be
>>
>> Thanks in advance for your help
>>
>> Regards,
>> Victor
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/projectchrono/412c44f3-9665-4691-a0f3-01096edcb880n%40googlegroups.com.

Reply via email to