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.